PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

Renforcer la généricité des modules de suivi (gn_monitoring) #734

Open camillemonchicourt opened 5 years ago

camillemonchicourt commented 5 years ago

Dans GeoNature 2.0.0, le schéma générique gn_monitoring dédié aux protocoles de suivi a été mis en place (https://github.com/PnX-SI/GeoNature/issues/337) avec ses tables, routes et fonctions associées : https://github.com/PnX-SI/GeoNature/blob/master/data/core/monitoring.sql

Ce schéma permet de stocker de manière générique et factorisée les sites et visites qui sont communs à tous les protocoles/modules de suivi. Ces tables sont ensuite étendues et complétés par des champs et tables spécifiques au protocole au sein de son propre schéma.

Il est souhaité élargir la généricité du schéma gn_monitoring en permettant d'y stocker aussi des parties spécifiques à chaque protocole de suivi et avec des nouvelles tables. Notamment une table permettant de stocker les observations de taxons éventuelles faites dans certains protocoles de suivi.

Pour le stockage générique des informations spécifiques, le format jsonb sera privilégié (https://www.postgresql.org/docs/current/functions-json.html).

Actuellement un frontend autonome et générique permettant de proposer une interface de saisie des modules a été développé : https://github.com/PnCevennes/projet_suivis_frontend

Les formulaires de saisie y sont auto-générés à partir de fichiers de configuration. A terme il pourra donc être envisagé qu'ils soient auto-genérés à partir de la BDD et notamment des champs jsonb dont le contenu sera variable selon le protocole.

Dans un second temps, il pourra être envisagé d'intégrer ce module frontend dans GeoNature.

camillemonchicourt commented 4 years ago

Module générique pour mettre en place des protocoles de suivi simples bien avancé : https://github.com/PnX-SI/gn_module_monitoring

camillemonchicourt commented 4 years ago

Voici le modèle revu :

diagramme_monitoring

Le module s'appuie sur un socle de 3 tables (Sites / Visites / Observations) qui peuvent être complétées avec des champs jsonb variables selon le protocole de suivi.

jbdesbas commented 4 years ago

Même les champs en lien avec la nomenclature (effectif, statut bio, etc..) sont gérés en json pour les observations ? N'y aurait-il pas intérêt à ajouter ces champs en dur (comme dans la table t_occurence), pour conserver facilement la compatibilité SINP ?

camillemonchicourt commented 3 years ago

OK ces évolutions ont été faites pour le moment dans un module à part gn_module_monitoring. La plupart des tables ajoutées au schéma gn_monitoring sont ajoutées par le module : https://github.com/PnX-SI/gn_module_monitoring/blob/master/data/monitoring.sql

A terme cela doit plutôt être intégré dans le cœur de GeoNature, au moins au niveau BDD, puis éventuellement en intégrant tout le module Monitoring dans le cœur de GN.