Configurer son GeoNature
Votre GeoNature nouvellement installé fonctionne très bien, mais vous aurez certainement besoin d’en adpater les paramètres pour qu’ils correspondent à vos besoins.
Les paramètres généraux
Les paramètres généraux de l’application sont situés dans le fichier geonature_config.toml
.
nano /home/geonatureadmin/geonature/config/geonature_config.toml
Vous pouvez alors y ajouter des paramètres pour votre application. La liste de tous les paramètres possibles est disponible dans le fichier default_config.toml.example
, localisé dans le même dossier, également consultable sur ce lien.
Pour afficher vos modifications, sauvegardez simplement le fichier et rafraichissez la page de votre navigateur en vidant le cache : CTRL + SHIFT + R
Important
Depuis la version 2.12 du 27 mars 2023, l’affichage des paramètres custom est dynamique, c’est à dire que vous n’avez pas d’action de recompilation du code à effectuer après l’ajout d’un fichier. Sur une version antérieure, chaque fois que vous modifiez le fichier de configuration geonature_config.toml, vous devez relancer les commandes suivantes pour qu’elles soient prises en compte :
cd /home/geonatureadmin/geonature/backend
source venv/bin/activate
geonature update_configuration
deactivate
Parmis les paramètres à modifier, en voici quelques’uns qui peuvent être important :
Modifier le nom de l’application
Dans la première partie, vous pouvez ajouter le nom de votre application, qui apparaitra en haut de votre GeoNature (à placer après le paramètre API_TAXHUB par exemple) :
# Nom de l'application dans la page d'accueil.
appName = "GeoNature de mon organisme gestionnaire"
Paramètrer la création de compte
Vous pouvez également paramétrer GeoNature pour que les utilisateurs puissent faire une demande de création de compte. Pour cela, vous devez indiquez des informations de connexion à UsersHub avec un utilisateur qui a les droits d’administrateur :
[USERSHUB]
URL_USERSHUB = 'https://usershub.mondomaine.fr' # sans slash f$
#Administrateur de mon application
ADMIN_APPLICATION_LOGIN = "nomutilisateuradmin"
ADMIN_APPLICATION_PASSWORD = "motdepasseutilisateuradmin"
Vous devez également ajouter des paramètres pour la gestion des comptes (et autoriser la création de comptes, décider s’il nécessite une validation ou non) :
# Gestion des demandes d'inscription
[ACCOUNT_MANAGEMENT]
# Activer l'affichage du lien vers le formulaire d'inscription
ENABLE_SIGN_UP = true
# Activer l'affichage de l'onglet de gestion des demandes de compte
# utilisateur
ENABLE_USER_MANAGEMENT = false
# Valider automatiquement la demande de création de compte (=true),
# sinon nécessite une validation (=false)
AUTO_ACCOUNT_CREATION = false
# Créer automatiquement (=true) un nouveau jeu de données pour chaque
# compte utilisateur
AUTO_DATASET_CREATION = true
# Email du validateur si auto_account_creation = false.
# Deux syntaxes alternatives sont autorisées pour ce paramètre :
# - une chaine contenant un ou plusieurs emails séparés par des
# virgules (exemple ci-dessous).
# - une liste de chaine contenant un email.
# Un email encadré par des chevrons (<>) peut être précédé par un
# libellé qui sera utilisé lors de l'envoi.
# Les espaces présents en début et fin de chaine ainsi qu'avant et
# après les virgules sont ignorés.
VALIDATOR_EMAIL = """
Théo LECHEMIA <theo.lechemia@ecrins-parcnational.fr>,
Carl von LINNÉ <c.linnaeus@linnaeus.se>
"""
Paramètrer les envois de mails
Vous devez également donner des informations d’un serveur mail, pour que l’application puisse envoyer des mails (au nouvel utilisateur ou à l’administrateur).
Pour cela, rapprochez vous de l’administrateur de vos boîtes mails, et demandez lui les informations à remplir pour les champs suivants :
[MAIL_CONFIG]
MAIL_SERVER = "my_email_server"
MAIL_PORT = 465
MAIL_USE_TLS = false
MAIL_USE_SSL = true
MAIL_USERNAME = "my_user_name - email address of the sender"
MAIL_PASSWORD = "my_pass"
MAIL_DEFAULT_SENDER = "my_email@email.com"
# Nombre max d'email que le serveur peut envoyer aucours d'une seule connection
# Laisser en commentaire si le serveur n'a pas de limite.
# MAIL_MAX_EMAILS = 100
MAIL_ASCII_ATTACHMENTS = false
# Email(s) où envoyer les erreurs générées par le backend de GeoNature.
# Deux syntaxes alternatives sont autorisées pour ce paramètre :
# - une chaine contenant un ou plusieurs emails séparés par des
# virgules (exemple ci-dessous).
# - une liste de chaine contenant un email.
# Un email encadré par des chevrons (<>) peut être précédé par un
# libellé qui sera utilisé lors de l'envoi.
# Les espaces présents en début et fin de chaine ainsi qu'avant et
# après les virgules sont ignorés.
ERROR_MAIL_TO = ["Prénom NOM <email@email.com>", "email2@email.com"]
Changer le logo de l’application (et autres images)
Lorsque vous lancer un nouveau GeoNature, vous avez un logo neutre qui apparait dans l’encart supérieur « MON LOGO ». Vous pouvez bien sûr le personnaliser en ajoutant le logo de votre structure, de la manière suivante :
Un dossier /home/<user>/geonature/custom
existe, crééez dedans un dossier images
avec la commande suivante :
cd
cd geonature/custom/
mkdir images
Ajouter votre image nomée logo_structure.png
dans ce dossier.
Rafraichissez la page de votre navigateur en vidant le cache : CTRL + SHIFT + R
Vous pouvez sursoucher l’ensemble des fichiers présents dans geonature/backend/static/
par des fichiers portant le même nom et même sous-dossier dans le dossier geonature/custom
.
Ainsi toutes les images de l’application peuvent être modifiées, comme le logo GeoNature du quart supérieur gauche (logo_sidebar.jpg) ou l’image de fond de l’accueil de l’application (login_background.jpg).
Personnaliser le nom et les pictos des modules
Important
Ce point est repris de la documentation officielle : https://docs.geonature.fr/admin-manual.html#customiser-les-noms-et-pictos-des-modules
Vous pouvez modifier l’intitulé et le pictogramme des modules dans le menu des modules. Pour cela, adaptez le contenu des champs module_label
et module_picto
(avec des icones de la librairie Font Awesome - https://fontawesome.com) dans la table gn_commons.t_modules
.
Exemple :
-- Module Occtax
UPDATE gn_commons.t_modules SET module_label = 'Occtax' WHERE module_code = 'OCCTAX';
UPDATE gn_commons.t_modules SET module_picto = 'fa-map-marker' WHERE module_code = 'OCCTAX';
-- Module Occhab
UPDATE gn_commons.t_modules SET module_label = 'Occhab' WHERE module_code = 'OCCHAB';
UPDATE gn_commons.t_modules SET module_picto = 'fa-leaf' WHERE module_code = 'OCCHAB';
-- Module Import
UPDATE gn_commons.t_modules SET module_label = 'Import' WHERE module_code = 'IMPORT';
UPDATE gn_commons.t_modules SET module_picto = 'fa-upload' WHERE module_code = 'IMPORT';
-- Module Export
UPDATE gn_commons.t_modules SET module_label = 'Export' WHERE module_code = 'EXPORTS';
UPDATE gn_commons.t_modules SET module_picto = 'fa-download' WHERE module_code = 'EXPORTS';
-- Module Dashboard
UPDATE gn_commons.t_modules SET module_label = 'Dashboard' WHERE module_code = 'DASHBOARD';
UPDATE gn_commons.t_modules SET module_picto = 'fa-bar-chart' WHERE module_code = 'DASHBOARD';
-- Module Validation
UPDATE gn_commons.t_modules SET module_label = 'Validation' WHERE module_code = 'VALIDATION';
UPDATE gn_commons.t_modules SET module_picto = 'fa-check' WHERE module_code = 'VALIDATION';
-- Module Monitorings (Suivis)
UPDATE gn_commons.t_modules SET module_label = 'Suivis' WHERE module_code = 'MONITORINGS';
UPDATE gn_commons.t_modules SET module_picto = 'fa-eye' WHERE module_code = 'MONITORINGS';
Depuis la version 2.5.0, il est aussi possible de customiser l’ordre des modules dans le menu, par ordre alphabétique par défaut, en renseignant le champs gn_commons.t_modules.module_order
.
Paramètrer l’affichage cartographique
Il est possible de paramètrer le niveau de zoom et le centre de votre carte. Pour cela, modifier les paramètres suivants à votre guise :
# Configuration de l'affichage des cartes dans GeoNature
[MAPCONFIG]
# Coordonnées par défaut du centre de la carte à afficher
# Attention : les coordonnées sont au format [Y, X]
# Cf Leaflet configuration (https://leafletjs.com/reference-1.4.0.html#latlng-l-latlng)
CENTER = [46.52863469527167, 2.43896484375]
# Zoom par défaut
ZOOM_LEVEL = 6
# Zoom à partir duquel on peut pointer un relevé
ZOOM_LEVEL_RELEVE = 15
# Zoom appliqué sur la carte lors du clic sur une liste
ZOOM_ON_CLICK = 16
Note
Les valeurs de zoom s’appuient sur l’outil Leaflet, consulter la documentation pour plus de détails : https://leafletjs.com/examples/zoom-levels/
Personnaliser les fonds de carte et l’affichage de zonages
Personnaliser les fonds de carte
Depuis la version XX, il est possible de personaliser ses fonds de cartes via des flux WMS/WMTS paramètrables dans le fichier geonature_config.toml
.
Voici quelques exemples de fonds de cartes:
# Liste des fonds de carte proposés sur les cartes de GeoNature
# chaque section [[MAPCONFIG.BASEMAP]] définit un fond de carte
# l'option service est obligatoire uniquement pour les wms
# l'ensemble des paramètre WMS peuvent être passé dans cette section
[[MAPCONFIG.BASEMAP]]
name = "OpenstreetMap"
url = "//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png"
attribution = "OSM contributors"
[[MAPCONFIG.BASEMAP]]
name = "IGN Plan v2"
url = "https://wxs.ign.fr/cartes/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/png&LAYER=GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
attribution = "© IGN"
[[MAPCONFIG.BASEMAP]]
name = "IGN Ortho"
url = "https://wxs.ign.fr/ortho/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/jpeg&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
attribution = "© IGN"
[[MAPCONFIG.BASEMAP]]
name = "IGN Ortho IRC"
url = "https://wxs.ign.fr/ortho/geoportail/wmts?service=WMTS&REQUEST=GetTile&version=1.0.0&tilematrixset=PM&tilematrix={z}&tilecol={x}&tilerow={y}&layer=ORTHOIMAGERY.ORTHOPHOTOS.IRC&format=image/jpeg&style=normal"
attributions = "IGN-F/Géoportail"
[[MAPCONFIG.BASEMAP]]
name = "IGN Scan 25"
url = "https://wxs.ign.fr/YOUR-IGN-KEY/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
attribution = "© IGN"
[[MAPCONFIG.BASEMAP]]
name = "IGN Cadastre"
url = "https://wxs.ign.fr/parcellaire/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/png&LAYER=CADASTRALPARCELS.PARCELS&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
attribution = "© IGN"
[[MAPCONFIG.BASEMAP]]
attribution = "GoogleSatellite"
name = "google"
url = "//{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}"
subdomains = ["mt0", "mt1", "mt2", "mt3"]
[[MAPCONFIG.BASEMAP]]
name = "WMS"
url = "https://mon_flux_wms"
service = "wms"
layers = 'ma_layer'
attribution = 'lala'
Personnaliser l’affichage de zonages (2.11)
Depuis la version 2.11 de GeoNature, il est possible de surcoucher l’affichage de zonages sur la carte. L’activation des couches se fera dans le même encart que le choix des fonds de carte à droite de la carte. Vous pouvez décider de les faire afficher ou non à l’ouverture de l’application en mettant le paramètre activate
à true
.
A noter que les zonages peuvent provenir du schéma ref_geo (référentiel géographique interne), d’un flux WMS ou WFS, ou d’un fichier ou flux GeoJSON. Voici quelques exemple de zonages à faire afficher :
# Via le schéma ref_geo
[[MAPCONFIG.REF_LAYERS]]
code = "COM"
label = "Communes"
type = "area"
activate = false
style = { color = "grey", fill = false, fillOpacity = "0.0", weight = 2 }
params = {limit = 2000}
[[MAPCONFIG.REF_LAYERS]]
code = "RNN"
label = "Réserves Naturelles nationales (RNN)"
type = "area"
activate = false
style = { color = "green", fill = false, fillOpacity = "0.0", weight = 2 }
params = {limit = 2000}
[[MAPCONFIG.REF_LAYERS]]
code = "RNR"
label = "Réserves Naturelles régionales (RNR)"
type = "area"
activate = false
style = { color = "lightgreen", fill = false, fillOpacity = "0.0", weight = 2 }
params = {limit = 2000}
[[MAPCONFIG.REF_LAYERS]]
code = "PNR"
label = "Parcs Naturels régionaux (PNR)"
type = "area"
activate = false
style = { color = "darkblue", fill = false, fillOpacity = "0.0", weight = 2 }
params = {limit = 2000}
[[MAPCONFIG.REF_LAYERS]]
code = "PNM"
label = "Parcs Naturels marins (PNM)"
type = "area"
activate = false
style = { color = "#00ffff", fill = false, fillOpacity = "0.0", weight = 2 }
params = {limit = 2000}
# Via un flux WMS
[[MAPCONFIG.REF_LAYERS]]
code = "limitesadministratives"
label = "Limites administratives (IGN)"
type = "wms"
activate = false
url = "https://wxs.ign.fr/essentiels/geoportail/r/wms"
params = {VERSION = "1.3.0", crs = "CRS:84", dpiMode = 7, format = "image/png", layers = "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST", styles = ""}
Paramètrer des filtres cartographiques personnalisés (Module SYNTHESE et VALIDATION)
Depuis la version XX, il est possible de rajouter des filtres cartographique sur la recherche d’occurrences dans les modules SYNTHESE et VALIDATION. Il est ainsi possible de choisir les zonages de votre référentiel géographique interne (schéma ref_geo
) sur lesquels vous souahitez filtrer vos données.
Dans la balise [SYNTHESE]
de votre fichier geonature_config.toml
(le créer si non-existant), rajouter les éléments suivants (à personaliser selon vos besoins) :
# Configuration du module Synthese
[SYNTHESE]
# Liste des entités géographiques sur lesquelles les filtres
# géographiques de la synthese s'appuient
# (id_area = id de l'entité géo, table ref_geo.bib_areas_types).
# ATTENTION : Si de nouveaux types d'entités géographiques sont intégrés
# dans la table ref_geo.l_areas, il faut bien recalculer les valeurs de
# la table gn_synthese.cor_area_synthese en conséquence pour que
# les données déjà présentes dans la synthèse soient associées à
# ces nouvelles géométries.
AREA_FILTERS = [
{ "label" = "Communes", "type_code" = "COM" },
{ "label" = "Régions", "type_code" = "REG" },
{ "label" = "Réserve naturelles nationales", "type_code" = "RNN" },
{ "label" = "Réserve naturelles régionales", "type_code" = "RNR" }
]
Même si l’on paramètre ses filtres dans la balise [SYNTHESE]
, ils se répercuteront dans le module VALIDATION.
Exemples de gestion des permissions
Avertissement
Pour bien comprendre la gestion des permissions, veuillez vous référer à la documentation officielle : https://docs.geonature.fr/admin-manual.html#gestion-des-droits
Cas d’une personne mobilisée sur deux réserves, avec des jeux de données par réserve.
Dans le cas où vous avez un technicien affecté sur 2 réserves, que vos jeux de données sont séparés par réserve, et que vous souhaitez ne pas donner accès en écriture à toutes les réserves :
Créer un groupe et un organisme pour chaque réserve dans USERSHUB
Ajouter la personne concernée dans les deux groupes
Ajouter la personne dans un des deux organismes « réserve », peu importe
Définir les permissions au « niveau de l’organisme » (Portée 2 au max) pour les deux groupes, dans le module ADMIN
Rajouter les 2 organismes « réserve » dans les métadonnées des jeux de données respectifs (en tant que « Producteur de la donnée » par exemple)
La personne concernée aura normalement les permissions CRUVED sur les jeux de données des deux réserves
Créer ses exports personnalisés (Module EXPORT)
La création des exports personalisés dans le module EXPORT s’appuie sur le concept de « vue » dans PostgreSQL. Les vues se manifestent comme le résultat d’une requête SQL sous la forme d’un tableau de données.
Ainsi pour créer son export personnalisé :
Définir sa requête SQL (qu’est-ce que l’on souhaite exporter, quelles colonnes, etc…)
Garder le nom de la vue et du schéma dans lequel vous allez la créer
Dans le module ADMIN, allez dans le « Backoffice GeoNature ». Dans la partie « Export », cliquez sur « Exports » puis « Create » dans le bandeau supérieur.
Définissez les paramètres : « Nom de l’export » = Nom libre affiché dans le module EXPORT, Nom du schema PostgreSQL, Nom de la vue PostgreSQL, une description qui s’affichera dans le module EXPORT, le nom et le code SRID du champ géométrique (facultiatif si vous ne définissez pas de champ géométrique dans votre requête)
Cliquez ensuite sur « « . Sur le même principe, cliquez sur « Create » et associer un rôle (qui peut être un groupe) à votre export nouvellement créé
Ca y est ! Vous pouvez visualiser votre export dans le module EXPORTS (A noter que vous devez lier votre export au Grp_admin pour le visualiser en tant qu’administrateur)