INSTALLATION

GeoNature repose sur les composants suivants :

  • PostgreSQL / PostGIS

  • Python 3 et dépendances Python nécessaires à l’application

  • Flask (framework web Python)

  • Apache

  • Angular 7, Angular CLI, NodeJS

  • Librairies javascript (Leaflet, ChartJS)

  • Librairies CSS (Bootstrap, Material Design)

Deux méthodes d’installation existent :

Prérequis

Préparation du serveur

Commencer la procédure en se connectant au serveur en SSH avec l’utilisateur linux root.

  • Mettre à jour de la liste des dépôts Linux :

    # apt update
    # apt upgrade
    
  • Configuration de la locale du serveur

    Certains serveurs sont livrés sans “locale” (langue par défaut). Pour l’installation de GeoNature, il est nécessaire de bien configurer la locale. Si la commande locale renvoie ceci :

    LANG=fr_FR.UTF-8
    LANGUAGE=fr_FR.UTF-8
    LC_CTYPE="fr_FR.UTF-8"
    LC_NUMERIC="fr_FR.UTF-8"
    LC_TIME="fr_FR.UTF-8"
    LC_COLLATE="fr_FR.UTF-8"
    LC_MONETARY="fr_FR.UTF-8"
    LC_MESSAGES="fr_FR.UTF-8"
    LC_PAPER="fr_FR.UTF-8"
    LC_NAME="fr_FR.UTF-8"
    LC_ADDRESS="fr_FR.UTF-8"
    LC_TELEPHONE="fr_FR.UTF-8"
    LC_MEASUREMENT="fr_FR.UTF-8"
    LC_IDENTIFICATION="fr_FR.UTF-8"
    LC_ALL=fr_FR.UTF-8
    

    Vous pouvez alors passer cette étape de configuration des locales.

    Sinon exécuter la commande dpkg-reconfigure locales. Une fenêtre s’affiche dans votre console. Dans la liste déroulante, sélectionnez fr_FR.UTF-8 UTF-8 avec Espace, puis cliquez sur OK. Une 2ème fenêtre s’affiche avec une liste de locale activées (fr_FR.UTF-8 doit être présent dans la liste), confirmez votre choix, en cliquant sur OK, puis attendez que la locale s’installe.

  • Installer l’utilitaire sudo :

    # apt install sudo
    
  • Créer un utilisateur Linux dédié (nommé geonatureadmin dans notre cas) pour ne pas travailler en root :

    # adduser geonatureadmin
    
  • Lui donner ensuite les droits administrateur en l’ajoutant au groupe sudo :

    # adduser geonatureadmin sudo
    
  • Pour la suite du processus d’installation, on utilisera ’utilisateur non privilégié nouvellement créé. Si besoin d’éxecuter des commandes avec les droits d’administrateur, on les précèdera de sudo. Il est d’ailleurs possible renforcer la sécurité du serveur en bloquant la connexion SSH au serveur avec root. Voir https://docs.ovh.com/fr/vps/conseils-securisation-vps/ pour plus d’informations sur le sécurisation du serveur. Pour passer de l’utilisateur root à geonatureadmin, vous pouvez aussi utiliser la commande :

    # su - geonatureadmin
    

Installation globale

Ce document décrit une procédure d’installation packagée de GeoNature.

En lançant le script d’installation ci-dessous, l’application GeoNature ainsi que ses dépendances seront installées sur un seul et même serveur au sein d’une seule base de données.

Les applications suivantes seront installées :

  • GeoNature

  • TaxHub qui pilote le schéma taxonomie

  • UsersHub qui pilote le schéma utilisateurs (le paramètre install_usershub_app du fichier de configuration install_all.ini permet de désactiver l’installation de l’application. Il est cependant recommandé d’installer l’application pour disposer d’une interface pour gérer les utilisateurs dans GeoNature)

Si vous disposez déjà de Taxhub ou de UsersHub sur un autre serveur ou une autre base de données et que vous souhaitez installer simplement GeoNature, veuillez suivre la documentation Installation de GeoNature uniquement.

Installation de l’application

Commencer la procédure en se connectant au serveur en SSH avec l’utilisateur dédié précédemment créé lors de l’étape de Préparation du serveur (usuellement geonatureadmin).

  • Se placer à la racine du home de l’utilisateur puis récupérer les scripts d’installation (X.Y.Z à remplacer par le numéro de la dernière version stable de GeoNature). Ces scripts installent les applications GeoNature, TaxHub et UsersHub (en option) ainsi que leurs bases de données (uniquement les schémas du coeur) :

$ wget https://raw.githubusercontent.com/PnX-SI/GeoNature/X.Y.Z/install/install_all/install_all.ini
$ wget https://raw.githubusercontent.com/PnX-SI/GeoNature/X.Y.Z/install/install_all/install_all.sh

Attention : l’installation globale fonctionne uniquement si les scripts sont placés à la racine du home de l’utilisateur courant.

  • Configurez votre installation en adaptant le fichier install_all.ini :

nano install_all.ini

Renseignez à minima votre utilisateur linux, l’URL (ou IP) de votre serveur (avec un / à la fin) ainsi que l’utilisateur PostgreSQL que vous souhaitez et son mot de passe. Le script se chargera d’installer PostgreSQL et de créer l’utilisateur de base de données que vous avez renseigné.

Pour la définition des numéros de version des dépendances, voir le tableau de compatibilité des versions de GeoNature avec ses dépendances. Il est déconseillé de modifier ces versions, chaque nouvelle version de GeoNature étant fournie avec les versions adaptées de ses dépendances.

  • Lancer l’installation :

touch install_all.log
chmod +x install_all.sh
./install_all.sh 2>&1 | tee install_all.log

Une fois l’installation terminée, lancez la commande suivante:

exec bash

Les applications sont disponibles aux adresses suivantes :

Vous pouvez vous connecter avec l’utilisateur intégré par défaut (admin/admin).

Note

Pour en savoir plus TaxHub, sa configuration et son utilisation, reportez-vous à sa documentation : https://taxhub.readthedocs.io. Idem pour UsersHub et sa documentation : https://usershub.readthedocs.io

Note
  • GeoNature-atlas : Comme dans la V1, le script install_all.sh permettra à terme d’installer automatiquement GeoNature-atlas (en option)

  • Une première version de GeoNature-atlas compatible avec GeoNature V2 est disponible : https://github.com/PnEcrins/GeoNature-atlas

  • Vous pouvez utiliser le schéma ref_geo de GeoNature pour votre territoire, les communes et les mailles, si vous les avez intégré dans ref_geo.l_areas au préalable.

Note

Une version expérimentale du calcul automatique de la sensibilité est disponible : https://github.com/PnX-SI/GeoNature/issues/284

Si vous rencontrez une erreur, se reporter aux fichiers de logs :

  • Logs de l’installation de la base de données : /home/`whoami`/geonature/var/log/install_db.log

  • Log général de l’installation de l’application : /home/`whoami`/install_all.log

Si vous souhaitez que GeoNature soit à la racine du serveur, ou à une autre adresse, editez le fichier de configuration Apache (/etc/apache2/sites-available/geonature.conf) en modifiant l’alias :

  • Pour /: Alias / /home/test/geonature/frontend/dist

  • Pour /saisie : Alias /saisie /home/test/geonature/frontend/dist

Note

Par défaut la base de données est accessible uniquement localement par la machine où elle est installée. Pour y accéder depuis une autre machine (pour s’y connecter avec QGIS, pgAdmin ou autre), ouvrez-en les connexions. Voir la documentation https://github.com/PnEcrins/GeoNature-atlas/blob/master/docs/installation.rst#acc%C3%A9der-%C3%A0-votre-bdd. Attention si vous redémarrez PostgreSQL (sudo service postgresql restart), il faut ensuite redémarrer les API GeoNature et TaxHub (sudo supervisorctl reload).

Note

Il est aussi important de configurer l’accès au serveur en HTTPS plutôt qu’en HTTP pour chiffrer le contenu des échanges entre le navigateur et le serveur (https://docs.ovh.com/fr/hosting/les-certificats-ssl-sur-les-hebergements-web/).

Installation d’un module GeoNature

L’installation de GeoNature n’est livrée qu’avec les schémas de base de données et les modules du coeur (NB : le module Occurrence de Taxon - Occtax - est fourni par défaut). Pour ajouter un gn_module externe, il est nécessaire de l’installer :

1. Téléchargez le module depuis son dépôt Github puis dézippez-le dans le repertoire utilisateur, au même niveau que le dossier geonature.

cd /home/`whoami`

2. Renseignez l’éventuel fichier config/settings.ini du module.

3. Installez le module. Rendez-vous dans le répertoire backend de GeoNature et activez le virtualenv pour rendre disponible les commandes GeoNature :

source venv/bin/activate

Lancez ensuite la commande geonature install_gn_module <mon_chemin_absolu_vers_le_module> <url_relative_du_module>

Le premier paramètre est l’emplacement absolu du module sur votre serveur et le deuxième est le chemin derrière lequel on accédera au module dans le navigateur.

Exemple pour un module Import :

geonature install_gn_module /home/`whoami`/gn_module_import import

Le module sera disponible à l’adresse http://mon-geonature.fr/geonature/#/import

L’API du module sera disponible à l’adresse http://mon-geonature.fr/api/import

Cette commande exécute les actions suivantes :

  • Vérification de la conformité de la structure du module (présence des fichiers et dossiers obligatoires)

  • Intégration du blueprint du module dans l’API de GeoNature

  • Vérification de la conformité des paramètres utilisateurs

  • Génération du routing Angular pour le frontend

  • Re-build du frontend pour une mise en production

4. Complétez l’éventuelle configuration du module (config/conf_gn_module.toml) à partir des paramètres présents dans config/conf_gn_module.toml.example dont vous pouvez surcoucher les valeurs par défaut. Puis relancez la mise à jour de la configuration (depuis le répertoire geonature/backend et une fois dans le venv (source venv/bin/activate) : geonature update_module_configuration nom_du_module)

Installation de GeoNature uniquement

Cette procédure détail l’installation de GeoNature seul, sans TaxHub et UsersHub. Si vous souhaitez installer GeoNature avec TaxHub et UsersHub, reportez-vous à la section Installation globale.

Installation des dépendances

Installer les paquets suivants :

$ sudo apt install unzip git postgresql postgis python2 python3-pip python3-venv libgdal-dev libpangocairo-1.0-0 apache2

Installation de l’application

  • Se placer dans le répertoire de l’utilisateur (/home/geonatureadmin/ dans notre cas)

  • Récupérer l’application (X.Y.Z à remplacer par le numéro de la dernière version stable de GeoNature). Voir le tableau de compatibilité des versions de GeoNature avec ses dépendances.

    $ wget https://github.com/PnX-SI/GeoNature/archive/X.Y.Z.zip
    
  • Dézipper l’archive de l’application

    $ unzip X.Y.Z.zip
    $ rm X.Y.Z.zip
    
  • Renommer le répertoire de l’application puis placez-vous dedans :

    $ mv GeoNature-X.Y.Z /home/`whoami`/geonature/
    $ cd geonature
    
  • Copier puis mettre à jour le fichier de configuration (config/settings.ini) comportant les informations relatives à votre environnement serveur :

    $ cp config/settings.ini.sample config/settings.ini
    $ nano config/settings.ini
    

Installation de l’application

Rendez vous dans le dossier install et lancez successivement dans l’ordre les scripts suivant :

  • 01_install_backend.sh : Création du virtualenv python, installation des dépendances et du backend GeoNature dans celui-ci, création du service systemd (permettant d’utiliser sudo systemctl {start,stop} geonature2).

  • 02_create_db.sh : Création du role postgresql, de la base de données, ajout des extensions nécessaires (postgis, …), création des schémas nécessaires à GeoNature et ajout des données métiers.

  • 03_install_gn_modules.sh : Installation des modules OccTax, OccHab et validation (si activé dans le fichier settings.ini).

  • 04_install_frontend.sh : Création des dossiers et liens symboliques nécessaires, création des fichier custom à partir des fichiers d’exemple, génération des fichiers de configuration grâce à la commande geonature, installation de nvm, npm et node ainsi que toutes les dépendances javascript nécessaires puis build du front.

  • 05_configure_apache.sh : Installation du fichier de configuration Apache /etc/apache2/conf-available/geonature.conf et activation des modules Apache nécessaires.

Vous pouvez alors démarrer le backend GeoNature : sudo systemctl start geonature2

Configuration Apache

  • Copiez et adaptez le fichier de configuration d’exemple d’Apache de GeoNature :

    $ sudo cp install/assets/geonature_apache.conf /etc/apache2/sites-available/geonature.conf
    $ sudo nano /etc/apache2/sites-available/geonature.conf
    
  • Activez les modules suivants :

    $ sudo a2enmod rewrite
    $ sudo a2enmod proxy
    $ sudo a2enmod proxy_http
    
  • Activez la nouvelle configuration:

    $ sudo a2ensite geonature.conf
    
  • et redémarrez Apache:

    $ sudo systemctl restart apache2
    
  • L’application est disponible à l’adresse suivante : http://monip.com/geonature

Dépendances

Lors de l’installation de la BDD (02_create_db.sh) le schéma utilisateurs de UsersHub et le schéma taxonomie de TaxHub sont intégrés automatiquement dans la BDD de GeoNature.

UsersHub n’est pas nécessaire au fonctionnement de GeoNature mais il sera utile pour avoir une interface de gestion des utilisateurs, des groupes et de leurs droits.

Par contre il est nécessaire d’installer TaxHub (https://github.com/PnX-SI/TaxHub) pour que GeoNature fonctionne. En effet, GeoNature utilise l’API de TaxHub. Une fois GeoNature installé, il vous faut donc installer TaxHub en le connectant à la BDD de GeoNature, vu que son schéma taxonomie a déjà été installé par le script 02_create_db.sh de GeoNature. Lors de l’installation de TaxHub, n’installez donc que l’application et pas la BDD.

Télécharger Taxhub depuis le dépôt github depuis la racine de votre utilisateur:

cd ~
wget https://github.com/PnX-SI/TaxHub/archive/X.Y.Z.zip
unzip X.Y.Z.zip
rm X.Y.Z.zip

en mode développeur:

https://github.com/PnX-SI/TaxHub.git

Rendez vous dans le répertoire téléchargé et dézippé, puis “désamplez” le fichier settings.ini et remplissez la configuration avec les paramètres de connexion à la BDD GeoNature précedemment installée :

cp settings.ini.sample settings.ini
nano settings.ini

Lancer le script d’installation de l’application :

mkdir var
mkdir var/log
touch var/log/install_app.log
./install_app.sh 2>&1 | tee var/log/install_app.log

Suite à l’execution de ce script, l’application Taxhub a été lancé automatiquement par le superviseur et est disponible à l’adresse 127.0.0.1:5000 (et l’API, à 127.0.0.1:5000/api)

Voir la doc d’installation de TaxHub : http://taxhub.readthedocs.io/

Voir la doc d’installation de UsersHub : http://usershub.readthedocs.io/

Mise à jour de l’application

Attention, avant chaque mise à jour, il est important de sauvegarder l’application et sa base de données, ou de faire un snapshot du serveur pour pouvoir revenir à son état antérieure avant mise à jour en cas de problème.

La mise à jour de GeoNature consiste à télécharger sa nouvelle version dans un nouveau répertoire, récupérer les fichiers de configuration et de surcouche depuis la version actuelle et de relancer l’installation dans le répertoire de la nouvelle version.

La mise à jour doit être réalisée avec votre utilisateur linux courant (geonatureadmin par exemple) et non pas le super-utilisateur root.

  • Télécharger la dernière version de GeoNature :

    wget https://github.com/PnX-SI/GeoNature/archive/X.Y.Z.zip
    unzip X.Y.Z.zip
    rm X.Y.Z.zip
    
  • Renommer l’ancien repertoire de l’application, ainsi que le nouveau :

    mv /home/`whoami`/geonature/ /home/`whoami`/geonature_old/
    mv GeoNature-X.Y.Z /home/`whoami`/geonature/
    cd geonature
    
  • Suivez les éventuelles notes de version spécifiques décrites au niveau de chaque version : https://github.com/PnX-SI/GeoNature/releases.

⚠️ Si la release inclut des scripts de migration SQL : lancer ces scripts avec l’utilisateur de BDD courant (généralement geonatadmin) et non le super-utilisateur postgres.

Sauf mentions contraires dans les notes de version, vous pouvez sauter des versions mais en suivant bien les différentes notes de versions intermédiaires et notamment les scripts de mise à jour de la base de données à exécuter successivement.

Passer en mode développement

Si vous avez téléchargé GeoNature zippé (via la procédure d’installation globale install_all.sh ou en suivant la documentation d’installation standalone), il est nécessaire de rattacher votre répertoire au dépôt GitHub afin de pouvoir télécharger les dernières avancées du coeur en git pull. Pour cela, suivez les commandes suivantes en vous placant à la racine du répertoire de GeoNature.

--- Se créer un répertoire .git ---
mkdir .git
---  récupérer l'historique du dépôt ---
git clone --depth=2 --bare https://github.com/PnX-SI/GeoNature.git .git
--- initialiser un dépôt git à partir de l'historique téléchargé ---
git init
--- vérifier que le dépôt distant et le contenu local sont synchronisés ---
git pull
--- Reset sur HEAD pour mettre à jour les status ---
git reset HEAD
-> vous êtes à jour sur la branche master
--- Cloner les sous-modules pour récupérer les dépendances
git submodule init
git submodule update
--- Installer les dépendances de développement
cd backend && pip install -r requirements-dev.txt

@TODO : A relire et à basculer dans DOC DEVELOPEMENT ?

Editez le fichier de configuration de GeoNature (<GEONATURE_DIRECTORY>/config/geonature_config.toml) de la manière suivante :

URL_APPLICATION = 'http://127.0.0.1:4200'
API_ENDPOINT = 'http://127.0.0.1:8000'
API_TAXHUB =  'http://127.0.0.1:5000/api'
ID_APPLICATION_GEONATURE = 3

Puis le fichier /home/<mon_user>/geonature/frontend/src/conf/app.config.ts :

URL_APPLICATION: 'http://127.0.0.1:4200',
API_ENDPOINT: 'http://127.0.0.1:8000',
API_TAXHUB:  'http://127.0.0.1:5000/api',
ID_APPLICATION_GEONATURE: 3
  • Lancer le serveur de développement du frontend grâce à Angular-CLI :

    cd frontend
    npm run start
    
  • Lancer l’API en mode développement

Ouvrir un nouveau terminal :

cd backend

Stopper d’abord gunicorn qui est lancé en mode production via le supervisor :

sudo supervisorctl stop geonature2

Puis lancer le backend en mode développement :

source venv/bin/activate
geonature dev_back

Le serveur de développement du backend est disponible à l’adresse 127.0.0.1:8000

Le serveur de développement du frontend est disponible à l’adresse 127.0.0.1:4200.

Vous pouvez vous connecter à l’application avec l’identifiant admin et le mot de passe admin.

Spécificités DEPOBIO

Cette documentation mentionne les spécificités et la configuration de l’installation de l’instance nationale du Ministère de la Transition Ecologique et Solidaire (MTES), dans le cadre du projet de Depôt Légal des données de biodiversité (https://depot-legal-biodiversite.naturefrance.fr/).

Pour l’installation de GeoNature, voir la procédure d’installation de GeoNature et ses dépendances (https://github.com/PnX-SI/GeoNature/blob/master/docs/installation-all.rst).

Configuration Apache

Editez la configuration Apache de GeoNature et de TaxHub pour l’adapter au contexte de production.

Fichier /etc/apache/site-enabled/geonature.conf :

#Configuration GeoNature

Alias /saisie /home/ecrins/geonature/frontend/dist
<Directory /home/ecrins/geonature/frontend/dist>
    Require all granted
</Directory>

<Location /saisie/api>
    ProxyPass http://127.0.0.1:8000
    ProxyPassReverse  http://127.0.0.1:8000
</Location>

Fichier /etc/apache/site-enabled/taxhub.conf :

# Configuration TaxHub
RewriteEngine  on
RewriteRule    "taxhub$"  "taxhub/"  [R]
<Location /saisie/taxhub>
    ProxyPass  http://127.0.0.1:5000 retry=0
    ProxyPassReverse  http://127.0.0.1:5000
</Location>
#FIN Configuration TaxHub

Le fichier /etc/apache/site-enabled/000-default.conf doit également être édité pour faire fonctionner le load balancing (Voir la configuration de la pre-prod pour l’adapter au serveur de production).

Configuration de l’application

Une fois l’installation terminée, il est nécessaire d’adapter les fichiers de configuration de l’application pour les besoins spécifiques de l’instance nationale.

Lancer le script pour effectuer automatiquement la configuration de l’application :

/home/<my_user>/geonature/install/install_all/configuration_mtes.sh

Il est cependant possible de modifier ces configurations. Le fichier /home/<my_user>/geonature/config/default_config.toml.example liste l’ensemble des variables de configuration disponibles ainsi que leurs valeurs par défaut.

Editer le fichier de configuration de GeoNature pour surcoucher ces variables :

sudo nano /home/<MON_USER>/geonature/config/geonature_config.toml`

Ci-dessous, les paramètres de configuration pour l’instance de production.

Configuration globale de l’application

# code EPSG de la projection de la base
LOCAL_SRID = '2154'

DEFAULT_LANGUAGE='fr'

# url de l'application métadonnée
MTD_API_ENDPOINT = 'http://inpn.mnhn.fr/mtd'

# Nom de l'application sur la page d'acceuil
appName = 'Depôt légal de biodiviersité - saisie'

ID_APPLICATION_GEONATURE = 14

Configuration des URLS pour le CAS

Les URLS doivent correspondre aux informations renseignées dans la configuration Apache et au Load Balancer. Elle ne doivent pas contenir de / final.

Pour la pré-prod, ajouter le préfixe “pp-” avant saisie et taxhub (naturefrance.fr/pp-saisie, naturefrance.fr/pp-taxhub/api) et adapter la configuration Apache en conséquence.

# URL d'accès à l'application
URL_APPLICATION = 'https://depot-legal-biodiversite.naturefrance.fr/saisie'
# URL de l'API de GeoNature
API_ENDPOINT = 'https://depot-legal-biodiversite.naturefrance.fr/saisie/api'
# URL de l'API de Taxhub
API_TAXHUB = 'https://depot-legal-biodiversite.naturefrance.fr/taxhub/api'

Clé secrète

Mettre un clé secrète personnalisée

SECRET_KEY = '<MA_CLE_CRYPTEE>'

Configuration BDD liée à la connexion au CAS

[BDD]
# id du groupe dans lequel tous les utilisateurs connectés sont ajoutés
# (seul le socle 1 - droit minimum - est utilisé pour l'instance de production)
ID_USER_SOCLE_1 = 20003
ID_USER_SOCLE_2 = 20001

Connexion au CAS INPN - gestion centralisée des utilisateurs

Bien changer les variables ID et PASSWORD avec les bonnes valeurs.

NB : pour la pré-prod, utiliser https://preprod-inpn.mnhn.fr

[CAS_PUBLIC]
CAS_AUTHENTIFICATION = true
CAS_URL_LOGIN = 'https://inpn.mnhn.fr/auth/login'
CAS_URL_LOGOUT = 'https://inpn.mnhn.fr/auth/logout'

[CAS]
CAS_URL_VALIDATION = 'https://inpn.mnhn.fr/auth/serviceValidate'
# est ce que les utilisateurs connecté peuvent voir les donées de leur organisme
USERS_CAN_SEE_ORGANISM_DATA = false

[CAS.CAS_USER_WS]
URL = 'https://inpn.mnhn.fr/authentication/information'
ID = '<THE_INPN_LOGIN>'
PASSWORD = '<THE_INPN_PASSWORD>'

Configuration du frontend

Pour l’instance de pré-prod, rajouter “instance de démo” à la variable appName.

[FRONTEND]
    # Compilation du fronend en mode production
    PROD_MOD = true
    # Affichage du footer sur la page d'acceuil
    DISPLAY_FOOTER = true
    # affiche la carte des dernières observations basées sur la synthese
    DISPLAY_MAP_LAST_OBS = false
    # afficheafficher un bloc de stat basé sur la synthese
    DISPLAY_STAT_BLOC = false

Configuration de la cartographie

[MAPCONFIG]
BASEMAP = [
    {"name" = "IGN-topo", "layer" = "https://wxs.ign.fr/i53afxeajwaokg3gxzzhn8un/geoportail/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=GEOGRAP$
    {"name"= "IGN-Scan Express", "layer" = "https://wxs.ign.fr/i53afxeajwaokg3gxzzhn8un/geoportail/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=$
    {"name" = "IGN-Ortho", "layer" = "https://wxs.ign.fr/i53afxeajwaokg3gxzzhn8un/geoportail/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOI$
]
# 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 releve
ZOOM_LEVEL_RELEVE = 15

Après chaque modification du fichier de configuration, lancez les commandes suivantes pour mettre à jour l’application (l’opération peut être longue car il s’agit de la recompilation du frontend).

Depuis le répertoire backend de GeoNature

source venv/bin/activate
geonature update_configuration
deactivate

Configuration du module Occurrence de taxon: OCCTAX

Le fichier de configuration du module Occtax se trouve dans le fichier <GEONATURE_DIRECTORY>/external_modules/occtax/config/conf_gn_module.toml.

Le script de configuration spécifique de l’instance nationale remplit ce fichier avec les bonnes configuration.

Voici la configuration fournie pour l’instance de production:

api_url = '/occtax'

# message sur la modale des export pour préciser les consignes pour GINCO
export_message = "<p> <b> Attention: </b> </br> Vous vous apprêtez à télécharger les données de la <b>recherche courante.</b> </br> Pour n'exporter qu'un <b>$

# format disponible pour l'export
export_available_format = ['csv', 'geojson']

# passage du champ observateur du formulaire de saisi en mode 'saisie libre'
observers_txt = true

# identifiant de la liste des taxon proposé dans le formulaire (voir table taxonomie.bib_listes et taxonomie.cor_nom_liste)
id_taxon_list = 500

# niveau de zoom à partir duquel on peut saisir un relevé sur la carte
releve_map_zoom_level = 15

# colonnes de la vue pr_occtax.export_occtax_sinp à exporter pour GINCO dépot légal
export_columns =  [
    "permId",
    "statObs",
    "nomCite",
    "dateDebut",
    "dateFin",
    "heureDebut",
    "heureFin",
    "altMax",
    "altMin",
    "cdNom",
    "cdRef",
    "dateDet",
    "comment",
    "dSPublique",
    "statSource",
    "idOrigine",
    "refBiblio",
    "obsMeth",
    "ocEtatBio",
    "ocNat",
    "ocSex",
    "ocStade",
    "ocBiogeo",
    "ocStatBio",
    "preuveOui",
    "ocMethDet",
    "preuvNum",
    "preuvNoNum",
    "obsCtx",
    "permIdGrp",
    "methGrp",
    "typGrp",
    "denbrMax",
    "denbrMin",
    "objDenbr",
    "typDenbr",
    "obsId",
    "obsNomOrg",
    "detId",
    "detNomOrg",
    "orgGestDat",
    "WKT",
    "natObjGeo"
    ]

Le fichier <GEONATURE_DIRECTORY>/external_modules/occtax/config/conf_gn_module.toml.example liste l’ensemble des variables de configuration du module Occtax ainsi que leurs valeurs par défault.

Après chaque modification du fichier de configuration, lancez les commandes suivantes pour mettre à jour l’application (l’opération peut être longue car il s’agit de la recompilation du frontend).

Depuis le répertoire backend de GeoNature

source venv/bin/activate
geonature update_module_configuration occtax
deactivate

Pour plus d’information sur la configuration du module Occtax, voir la documentation concernant le module (https://github.com/PnX-SI/GeoNature/blob/master/docs/admin-manual.rst#module-occtax).

Référentiel géographique

Sur l’instance nationale on charge dans le référentiel géographique l’ensemble des communes du territoire français, ainsi qu’un MNT (modèle numérique de terrain) national de résolution 250m (pour le calcul automatique des altitudes pour chaque observation).

http://geonature.fr/docs/img/admin-manual/design-geonature-mtes.png

Connexion et droits dans GeoNature

  • A chaque connexion via le CAS INPN on récupère l’ID_Utilisateur. On ajoute cet utilisateur dans la base de données de GeoNature (utilisateurs.t_roles et utilisateurs.bib_organisme) et on lui affecte des droits CRUVED par défaut.

  • On assigne à l’utilisateur le « socle 1 » (C1-R1-V0-E1-D1). Il pourra voir seulement les données qu’il a saisi lui-même et les JDD qu’il a créé dans MTD.

NB sur la gestion des droits dans GeoNature :

  • 6 actions sont possibles dans GeoNature : Create / Read / Update / Validate / Export / Delete (aka CRUVED).

  • 3 portées de ces actions sont possibles : Mes données / Les données de mon organisme / Toutes les données.

Récupération des JDD

Grâce à l’API de MTD, il est désormais possible d’ajouter les jeux de données (et des cadres d’acquisition) créés dans MTD dans la BDD GeoNature.

  • On récupère la liste des JDD créés par l’utilisateur grâce à l’API MTD au chargement de la liste déroulante des JDD : https://xxxxx/cadre/jdd/export/xml/GetRecordsByUserId?id=<ID_USER>

  • On récupère l’UUID du cadre CA associé au JDD dans le XML renvoyé et on fait appel au l’API MTD pour récupérer le fichier XML du CA : https://xxxxx/cadre/export/xml/GetRecordById?id=<UUID>

  • On ajoute le CA dans la table gn_meta.t_acquisition_framwork et les JDD dans la table gn_meta.t_datasets. Si le CA ou les JDD sont modifiés dans MTD, ils seront également modifiés dans le BDD GeoNature.

  • Dans la table gn_meta.cor_dataset_actor on fait le lien entre les acteurs et le JDD. On ajoute l’utilisateur qui a créé le JDD comme “Point de contact principal” du JDD. Si on dispose de l’ID_Organisme de l’utilisateur, on ajoute également l’organisme comme “Point de contact principal” du JDD.

  • Pour remplir cette table on ne prend pas les infos renvoyés par le XML JDD sous l’intitulé « Acteur » puisque l’ID_Organisme ou l’ID_Acteur n’est pas renseigné. (Dans la table gn_meta.cor_dataset_actor, il faut obligatoirement un ID).

  • La question de la suppresion de JDD et des CA n’est pas résolue. Si un JDD est supprimé dans MTD, qu’est-ce qu’on fait des données associées a celui-ci dans GeoNature ?

Module Synthese

Sur l’instance DEPOPBIO le module synthese a été désactivé en mettant un CRUVED à 0 au groupe socle 1 et socle 2 pour le module.

  INSERT INTO gn_permissions.cor_role_action_filter_module_object
  (
  id_role,
  id_action,
  id_filter,
  id_module,
  id_object
  )
  VALUES
  -- synthese pour socle 1
  (20003, 1, 1, 17, 1),
  (20003, 2, 1, 17, 1),
  (20003, 3, 1, 17, 1),
  (20003, 4, 1, 17, 1),
  (20003, 5, 1, 17, 1),
  (20003, 6, 1, 17, 1),
 -- synthese socle 2
  (20001, 1, 1, 17, 1),
  (20001, 2, 1, 17, 1),
  (20001, 3, 1, 17, 1),
  (20001, 4, 1, 17, 1),
  (20001, 5, 1, 17, 1),
  (20001, 6, 1, 17, 1),
-- admin socle 2
  (20003, 1, 1, 19, 1),
  (20003, 2, 1, 19, 1),
  (20003, 3, 1, 19, 1),
  (20003, 4, 1, 19, 1),
  (20003, 5, 1, 19, 1),
  (20003, 6, 1, 19, 1),
-- admin socle 2
  (20001, 1, 1, 19, 1),
  (20001, 2, 1, 19, 1),
  (20001, 3, 1, 19, 1),
  (20001, 4, 1, 19, 1),
  (20001, 5, 1, 19, 1),
  (20001, 6, 1, 19, 1),
-- meta socle 2
  (20003, 1, 1, 20, 1),
  (20003, 2, 1, 20, 1),
  (20003, 3, 1, 20, 1),
  (20003, 4, 1, 20, 1),
  (20003, 5, 1, 20, 1),
  (20003, 6, 1, 20, 1),
-- meta socle 2
  (20001, 1, 1, 20, 1),
  (20001, 2, 1, 20, 1),
  (20001, 3, 1, 20, 1),
  (20001, 4, 1, 20, 1),
  (20001, 5, 1, 20, 1),
  (20001, 6, 1, 20, 1)
;

Les triggers d’insertion du module Occtax vers le module Synthese ont également été désactivés.

ALTER TABLE pr_occtax.t_releves_occtax DISABLE TRIGGER tri_update_synthese_t_releve_occtax;
ALTER TABLE pr_occtax.t_releves_occtax DISABLE TRIGGER tri_delete_synthese_t_releve_occtax;

ALTER TABLE pr_occtax.t_occurrences_occtax DISABLE TRIGGER tri_update_synthese_t_occurrence_occtax;
ALTER TABLE pr_occtax.t_occurrences_occtax DISABLE TRIGGER tri_delete_synthese_t_occurrence_occtax;

ALTER TABLE pr_occtax.cor_counting_occtax DISABLE TRIGGER tri_insert_synthese_cor_counting_occtax;
ALTER TABLE pr_occtax.cor_counting_occtax DISABLE TRIGGER tri_update_synthese_cor_counting_occtax;
ALTER TABLE pr_occtax.cor_counting_occtax DISABLE TRIGGER tri_delete_synthese_cor_counting_occtax;