You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+91-52Lines changed: 91 additions & 52 deletions
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,36 @@
1
-
# Module GeoNature générique de suivis
1
+
# Module monitoring
2
2
3
-
## Module générique de gestion des données de protocoles de type suivis
4
-
5
-
Ce module permet de gérer de façon générique des données de protocoles "simples" articulés jusqu'à 4 niveaux : des groupes de site, puis des sites associés à ces groupes de site (nom, type, localisation) dans lesquels on fait des visites (dates, observateurs) dans lesquelles on peut faire des observations (espèces).
6
-
7
-
Les 3 niveaux que sont le sites, visites et observations peuvent être complétés des données spécifiques à chaque protocole, qui sont stockées dynamiquement dans la base de données sous forme de jsonb.
8
-
9
-

10
-
11
-
Le module permet de générer des sous-modules (stockés dans la table `gn_commons.t_modules`) pour chaque protocole de suivi. Ils s'appuient sur les champs fixes des 3 tables `gn_monitoring.t_base_sites`, `gn_monitoring.t_base_visits` et `gn_monitoring.t_observations` qui peuvent chacunes être étendues avec des champs spécifiques et dynamiques stockés dans des champs de type `JSONB`.
3
+
## Sommaire
12
4
13
-
Les champs spécifiques de chaque sous-module sont définis dans des fichiers de configuration au format json.
5
+
*[Concepts du module](#concepts)
6
+
*[Installation du module](#installation)
7
+
*[Installation d'un sous module](#installation-dun-sous-module)
8
+
*[Configuration des champs spécifiques d'un sous-module](docs/sous_module.md)
9
+
*[Gestion des sites et groupes de site](docs/gestion_sites_groupes_de_site.md)
Pour chaque sous-module, correspondant à un protocole spécifique de suivi, il est ainsi possible d'ajouter dynamiquement des champs de différent type (liste, nomenclature, booléen, date, radio, observateurs, texte, taxonomie...). Ceux-ci peuvent être obligatoires ou non, affichés ou non et avoir des valeurs par défaut. Les listes d'observateurs et d'espèces peuvent aussi être définies au niveau de chaque sous-module, en fonction du contexte du protocole de suivi.
16
+
## Concepts
16
17
17
-
Des fonctions SQL ainsi qu'une vue définie pour chaque protocole permettent d'alimenter automatiquement la synthèse de GeoNature à partir des données saisies dans chaque sous-module.
18
+
Ce module permet de générer de façon générique des interfaces de saisies correspondant à des protocoles de suivi.
19
+
Par "suivi", on entend un protocole dont le point d'entrée est un site géographique, sur lequel on va revenir régulièrement effectuer des relevés. Il s'oppose par sa structure au module "Occtax" dont l'objecif est de faire de la saisie de données opportunistes (sans revenir régulièrement sur le même site de suivi).
18
20
19
-
Via le module monitoring on peut également entrer directement via les sites et groupes de sites. Il est possible de crééer des groups de sites, des sites, associer des sites à des groupes de sites et ensuite pouvoir associer ces sites / groupes de site à différents sous modules.
21
+
Le module est articulé autour des trois concepts :
20
22
21
-

23
+
- les sites : l'objet géographique de suivi (qui peuvent être regroupés en groupe de sites)
24
+
- les visites : une visite est effectué sur un site (date, observateurs)
25
+
- le observations : observations faites durant la visite (espèces)
22
26
23
-
Les sites et groupes de sites sont désormais multi protocoles.
27
+
Les 3 niveaux que sont le site, les visites et les observations sont fourni avec un tronc commun (les champs génériques) qui peuvent être complétés par des champs spécifiques à chaque protocole. Ces champs spécifiques sont défini par des fichiers de configurations JSON.
28
+
Pour chaque sous-module, correspondant à un protocole spécifique de suivi, il est ainsi possible d'ajouter dynamiquement des champs de différents types (liste, nomenclature, booléen, date, radio, observateurs, texte, taxonomie...). Ceux-ci peuvent être obligatoires ou non, affichés ou non et avoir des valeurs par défaut (voir doc détaillé : [Création d'un sous-module](docs/sous_module.md)
29
+
)
24
30
25
-

31
+

Il vous faut désormais attribuer des permissions aux groupes ou utilisateurs que vous souhaitez, pour qu'ils puissent accéder et utiliser le module (voir <https://docs.geonature.fr/admin-manual.html#gestion-des-droits>). Si besoin une commande permet d'attribuer automatiquement toutes les permissions dans tous les modules à un groupe ou utilisateur administrateur.
80
77
78
+
### Mise à jour
79
+
80
+
Pour mettre à jour le modue monitoring, suivre la documentation de [mise à jour d'un module GeoNature](https://docs.geonature.fr/installation.html#mise-a-jour-du-module)
81
+
81
82
### Configuration générale du module monitoring
82
83
83
84
Un fichier de config `monitorings_config.toml.example` peut être modifié puis copié à la racine du dossier de config de GeoNature : `~/geonature/config`.
@@ -86,22 +87,7 @@ Trois champs sont paramétrable :
86
87
87
88
-`TITLE_MODULE` : Titre présent sur la page d'accueil du module monitoring
88
89
-`DESCRIPTION_MODULE` : Description du module monitoring également présente sur la page d'accueil
89
-
-`CODE_OBSERVERS_LIST` : Liste d'observateur qui est utilisé pour le fichier de config de `site.json` , qui permet d'avoir une liste d'observateur spécifique aux créateurs lorsqu'on entre directement par les sites/groupe de site . (Par défaut c'est la liste d'observateur occtax qui est utilisée)
90
-
91
-
<detailsopen><summary> Exemple d'utilisation du paramètre `CODE_OBSERVERS_LIST`</summary>
92
-
93
-
```json
94
-
"id_inventor": {
95
-
"type_widget": "observers",
96
-
"attribut_label": "Observateur",
97
-
"type_util": "user",
98
-
"code_list":"CODE_OBSERVERS_LIST",
99
-
"required": true,
100
-
"multi_select": false
101
-
}
102
-
```
103
-
104
-
</details>
90
+
-`CODE_OBSERVERS_LIST` : Code de la liste d'observateur qui est utilisé par défaut
105
91
106
92
### Installation d'un sous-module
107
93
@@ -195,12 +181,18 @@ Le formulaire d'édition du sous-module s'affiche et vous pouvez choisir les var
195
181
* Afficher dans le menu ? *(non obligatoire, non affiché par défaut)* :
196
182
* On peut décider que le sous-module soit accessible directement depuis le menu de gauche de GeoNature.
197
183
*`active_frontend`
184
+
* Type de site :
185
+
* Permet d'associer des sites créé dans le gestionnaire de site à un module. Tous les sites dont le type est défini ici remonteront dans le module ( [voir documentation sur le gestionnaire de sites (#gestionnaire-de-sites) )
198
186
* Options spécifiques du sous-module :
199
187
* Un sous-module peut présenter des options qui lui sont propres et définies dans les paramètres spécifiques du sous-module.
188
+
200
189
201
-
### Exemples de sous-modules
190
+
### Configuration des champs spécifiques du sous-module
202
191
203
-
D'autres exemples de sous-modules sont disponibles sur le dépôt
192
+
Maintenant que le sous-module est installé, vous pouvez ajouter des champs spécifiques pour le faire correspondre à votre protocole de suivi.
193
+
Le documentation détaillé de la configuration des champs additionnels est ici : [Configuration des champs d'un sous module](docs/sous_module.md)
194
+
195
+
Des exemples de sous-modules sont disponibles sur le dépôt
204
196
<https://github.com/PnX-SI/protocoles_suivi/> :
205
197
206
198
* Protocole de suivi des oedicnèmes,
@@ -209,22 +201,69 @@ D'autres exemples de sous-modules sont disponibles sur le dépôt
209
201
* Protocole Suivi Temporel des Oiseaux de Montagne (STOM)
210
202
* Autres...
211
203
204
+
## Gestionnaire de sites
205
+
206
+
Chaque module permet de créer ses propres sites et groupe de sites. Cependant certains sites peuvent faire l'objet de plusieurs protocoles de suivi, c'est pouquoi le module monitoring offre la possibilité de créer des sites et des groupes de site dans le **gestionnaire de site** et de les mobiliser dans plusieurs sous-modules.
207
+
208
+

209
+
210
+
Dans le gestionnaire de site il est possible de créer, éditer, supprimer, modifier des sites et des groupes de site de manière indépendante à la gestion de sous modules. Il est également possible de saisir directement des visites et des observations en rattachant les visites au sous-module que l'on souhaite.
211
+
212
+
> [!IMPORTANT]
213
+
> **Associer un site à un module**
214
+
>
215
+
> Plutôt que d'associer un à un les sites à des modules, l'association entre un site et un module se fait via la notion de **type de site**. Une type de site est un concept permettant de regrouper des sites qui font l'objet de multiples protocoles et qui partage potentiellement une série de descripteurs communs.
216
+
>
217
+
> Un "point d'écoute" qui va par exemple faire l'objet de plusieurs protocoles ornithologiques (STOC, oiseaux migrateurs etc...) peut être définit comme un type de site.
218
+
>
219
+
> Lors de la configuration d'un module (en interface), on doit associer le module à un ou des types de site. Tous les sites créés via le gestionnaire de site dont le type correspond à celui définit au niveau du module, remonteront dans la liste des sites du module.
220
+
>
221
+
> **Associer un groupe de sites à un module**
222
+
>
223
+
> L'association entre un groupe de site et un module se fait elle directement. Lorsque l'on crée un groupe de site dans le gestionnaire de site, on l'associe directement à un ou plusieurs groupes de site
224
+
225
+
226
+
**Définir des champs spécifique à un type de site**
227
+
228
+
Il est possible de définir des champs spécifiques communs à des type de sites.
229
+
Contrairement aux configurations des modules, celle-ci ne se fait pas dans un fichier JSON, mais dans le backoffice de GeoNature (rubrique monitoring / type de sites).
230
+
231
+

232
+
233
+
La syntaxe est la même que pour la création de champs d'un sous-module (voir [Création d'un sous-module](docs/sous_module.md)
234
+
). La clé `specific` permettant de configurer les champs et la clé `display_properties` d'afficher les champs sur les fiches info des sites.
235
+
212
236
## Permissions
213
237
214
238
Les permissions peuvent désormais être définies avec une notion de portée ('mes données', 'les données de mon organisme', 'toutes les données' si on ne précise pas de portée mais qu'on accorde une permission). Ces permissions peuvent être définies sur chaque objet défini ci dessous.
215
239
216
240
La gestion des permissions pour les rôles (utilisateur ou groupe) se réalise au niveau de l'interface d'administration des permissions de GeoNature.
217
241
218
-
Les permissions sont définis pour chaque type d'objet (modules, groupes de sites, sites, visites, observations et types de site) :
242
+
Les permissions sont définis par sous-modules pour chaque type d'objet (modules, groupes de sites, sites, visites, observations et types de site) :
219
243
220
-
- MONITORINGS_MODULES - R : permet a l'utilisateur d'accéder au module, de le voir dans la liste des modules
221
-
- MONITORINGS_MODULES - U : action administrateur qui permet de configurer le module et de synchroniser la synthèse
222
-
- MONITORINGS_MODULES - E : action qui permet aux utilisateurs d'exporter les données (si défini par le module)
223
-
- MONITORINGS_GRP_SITES - CRUD : action de lire, créer, modifier, supprimer un groupe de site
224
-
- MONITORINGS_SITES - CRUD : action de lire, créer, modifier, supprimer un site
225
-
- MONITORINGS_VISITES - CRUD : action de lire, créer, modifier, supprimer les visites, observations, observations détails
226
-
- TYPES_SITES- CRUD : action de lire, créer, modifier, supprimer les types de sites via l'interface administrateur
244
+
-`MONITORINGS_MODULES` - R : permet a l'utilisateur d'accéder au module, de le voir dans la liste des modules
245
+
-`MONITORINGS_MODULES` - U : action administrateur qui permet de configurer le module et de synchroniser la synthèse
246
+
-`MONITORINGS_MODULES` - E : action qui permet aux utilisateurs d'exporter les données (si défini par le module)
247
+
-`MONITORINGS_GRP_SITES` - CRUD : action de lire, créer, modifier, supprimer un groupe de site
248
+
-`MONITORINGS_SITES` - CRUD : action de lire, créer, modifier, supprimer un site
249
+
-`MONITORINGS_VISITES` - CRUD : action de lire, créer, modifier, supprimer les visites, observations, observations détails
250
+
-`TYPES_SITES`- CRUD : action de lire, créer, modifier, supprimer les types de sites via l'interface administrateur (uniquement pour le module monitorings et non les sous modules)
227
251
228
252
Par défaut, dès qu'un utilisateur a un droit supérieur à 0 pour une action (c-a-d aucune portée) il peut réaliser cette action.
229
253
230
254
Il est possible de mettre à jour les permissions disponibles pour un module en utilisant la commande `update_module_available_permissions`
255
+
256
+
257
+
## Base de données
258
+
259
+
Le module permet de générer des sous-modules (stockés dans la table `gn_commons.t_modules`) pour chaque protocole de suivi. Ils s'appuient sur les champs fixes des 3 tables `gn_monitoring.t_base_sites`, `gn_monitoring.t_base_visits` et `gn_monitoring.t_observations` qui peuvent chacunes être étendues avec des champs spécifiques et dynamiques stockés dans des champs de type `JSONB`.
260
+
261
+
262
+
Des fonctions SQL ainsi qu'une vue définie pour chaque protocole permettent d'alimenter automatiquement la synthèse de GeoNature à partir des données saisies dans chaque sous-module.
263
+
264
+
265
+
266
+
Les sites et groupes de sites multi modules.
267
+
268
+

0 commit comments