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 15, 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 l’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 des applications

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 une installation de développement, pensez à renseigner mode=dev.

Il est déconseillé de modifier les numéros de version des dépendances, 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 compatible avec GeoNature V2 est disponible sur https://github.com/PnX-SI/GeoNature-atlas

  • Vous pouvez utiliser le schéma ref_geo de GeoNature pour votre territoire, les communes et les mailles.

Si vous rencontrez une erreur, se reporter aux fichiers de logs /home/`whoami`/install_all.log.

Note:

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 et par mesure de sécurité, la base de données est accessible uniquement localement par la machine où elle est installée. Pour accéder à la BDD depuis une autre machine (pour s’y connecter avec QGIS, pgAdmin ou autre), vous pouvez consulter cette documentation https://github.com/PnX-SI/Ressources-techniques/blob/master/PostgreSQL/acces-bdd.rst. Attention, exposer la base de données sur internet n’est pas recommandé. Il est préférable de se connecter via un tunnel SSH. QGIS et la plupart des outils d’administration de base de données permettent d’établir une connexion à la base de cette manière. Attention si vous redémarrez PostgreSQL (sudo service postgresql restart), il faut ensuite redémarrer les API de GeoNature, UsersHub et TaxHub :

$ sudo systemctl restart geonature
$ sudo systemctl restart geonature-worker
$ sudo systemctl restart usershub
$ sudo systemctl restart taxhub
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 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 postgis python3-pip python3-venv python3-dev libpq-dev libgdal-dev libffi-dev libpangocairo-1.0-0 apache2 redis

Récupération 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).

    $ 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 suivants :

  • 01_install_backend.sh : Création du virtualenv python, installation des dépendances et du backend de GeoNature dans celui-ci.

  • 02_configure_systemd.sh : Création des services systemd geonature et geonature-worker, configuration de logrotate, création des dossiers /run/geonature et /var/log/geonature.

  • 03_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.

  • 04_install_gn_modules.sh : Installation des modules Occtax, Occhab et Validation (si activé dans le fichier settings.ini).

  • 05_install_frontend.sh : Création des dossiers et liens symboliques nécessaires, création des fichiers 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 frontend, génération du fichier src/assets/config.json qui permet de connecter le frontend au backend.

  • 06_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 de GeoNature : sudo systemctl start geonature

Configuration Apache

  • Le script install/06_configure_apache.sh copie le fichier de configuration de référence install/assets/geonature_apache.conf, le place dans /etc/apache2/conf-available/geonature.conf et remplace ses variables à partir de votre configuration de GeoNature.

    Relancez ce script si vous changez l’URL de votre GeoNature ou les paramètres liés aux chemins et URL des fichiers statiques et des médias.

  • Créez la configuration du vhost, incluant la configuration par défaut créée précédemment :

    $ sudo cp install/assets/vhost_apache.conf /etc/apache2/sites-available/geonature.conf # Copier le vhost
    $ sudo nano /etc/apache2/sites-available/geonature.conf # Modifier la variable ``${DOMAIN_NAME}``
    
  • Activez la nouvelle configuration :

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

    $ sudo systemctl reload apache2
    
  • L’application est disponible à l’adresse suivante : http://monurl.fr/geonature

Une page HTML de maintenance et un vhost dédié sont aussi disponibles. Pour les mettre en place :

$ sudo cp install/assets/vhost_apache_maintenance.conf /etc/apache2/sites-available/geonature_maintenance.conf # Copier le vhost
$ sudo nano /etc/apache2/sites-available/geonature_maintenance.conf # Modifier la variable ``${DOMAIN_NAME}``
$ sudo cp install/assets/maintenance.html /var/www/geonature_maintenance/index.html

Pour passer votre GeoNature en maintenance, vous pouvez alors désactiver le vhost de GeoNature et activer celui de la page de maintenance :

$ sudo a2dissite geonature.conf
$ sudo a2ensite geonature_maintenance.conf

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 son 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 :

./install_app.sh 2>&1 | tee install_app.log

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

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

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

Passer en mode développement

Note

Consultez le guide Passer en mode développement de GeoNature.

Docker

L’installation de GeoNature avec Docker est la manière la plus simple de déployer GeoNature, ses 4 modules externes principaux (Import, Export, Dashboard, Monitoring), TaxHub et UsersHub, mais aussi de les mettre à jour, avec seulement quelques lignes de commandes.

Elle permet aussi d’installer GeoNature sur différents systèmes, et pas uniquement sur Debian, comme c’est le cas avec l’installation classique.

Elle peut néanmoins nécessiter de connaitre le fonctionnement de Docker pour ceux qui souhaitent aller plus loin et mettre en place une installation plus spécifique.

Docker Compose

Pour déployer facilement GeoNature avec Docker, utilisez le Docker Compose proposé et documenté dans le dépôt GeoNature-Docker-services.

Pour des déploiements Docker plus avancés et spécifiques, des images Docker des différents outils (GeoNature, TaxHub, UsersHub, GeoNature et ses 4 modules externes principaux) sont automatiquement construites et publiées à chaque nouvelle version publiée.

Image backend

Des images pré-construites automatiquement sont présentes sur Github.

Les images tagguées -wheels contiennent les wheels Python de GeoNature, de ses dépendances et modules contrib, de manière à pouvoir être enrichies avec vos wheels provenant de vos propres modules (images de type « builder »).

Construction manuelle de l’image :

DOCKER_BUILDKIT=1 docker build . \
        -f backend/Dockerfile \
        --target=prod \
        --tag=ghcr.io/pnx-si/geonature-backend:develop

Fonctionnement de l’image :

  • GeoNature attend sa configuration dans le dossier /dist/config (à monter dans un volume afin de pouvoir la modifier). L’emplacement du fichier de configuration peut également être précisé via la variable d’environnement GEONATURE_CONFIG_FILE.

  • Il est également possible de fournir une configuration Python via la variable d’environnement GEONATURE_SETTINGS.

  • Les médias seront stockés dans le dossier /dist/media (à monter dans un volume afin de les sauvegarder).

  • Toute variable d’environnement préfixée par GEONATURE_ se verra traduite par un paramètre de configuration homonyme (documentation Flask). Si vous souhaitez définir une variable de configuration se trouvant dans une section, utilisez deux underscore. Par exemple, pour définir le paramètre NB_LAST_OBS de la section [SYNTHESE], on définira une variable d’environnement GEONATURE_SYNTHESE__NB_LAST_OBS.

  • Pour peupler la base de données, référez-vous au script install/03_create_db.sh.

Image frontend

Des images pré-construites automatiquement sont présentes sur Github.

Les images tagguées -source contiennent uniquement les sources de GeoNature et des modules contrib, et attendent d’être enrichies avec les sources de vos propres modules tandis que les images tagguées -nginx contiennent la configuration NGINX prête à l’emploi pour GeoNature (images de type « builder »).

Construction manuelle de l’image :

DOCKER_BUILDKIT=1 docker build . \
        -f frontend/Dockerfile \
        --target=prod \
        --tag=ghcr.io/pnx-si/geonature-frontend:develop

Fonctionnement de l’image :

  • La configuration NGINX de l’image est générée dynamiquement à son démarrage, à partir des variables d’environnement suivantes :

    • NGINX_PORT (défaut : 80)

    • NGINX_HOST (défaut : localhost)

    • NGINX_LOCATION (défaut : /, à modifier pour servir GeoNature sur un préfixe)

  • La variable d’environnement API_ENDPOINT est lue au démarrage de l’image afin de mettre à jour le fichier de configuration du frontend assets/config.json.

HTTPS

La procédure décrit une méthode de certification HTTPS de votre domaine, grâce au service Let’s Encrypt. Les manipulations ont été effectuées sur un serveur Debian 9 avec Apache2 installé, et un utilisateur bénéficiant des droits sudo.

Cette documentation est indicative, car elle ne concerne pas GeoNature, mais la mise en place d’un certificat SSL pour une application web servie par Apache.

Ressources :

Installer certbot

sudo apt-get install python3-certbot-apache

Lancer la commande cerbot

Lancer la commande suivante pour générer des certificats et des clés pour le nom de domaine que vous souhaitez mettre en HTTPS.

sudo certbot --apache --email monemail@mondomaine.fr

Prise en compte des nouvelles configurations Apache

Activer les modules ssl, headers et rewrite puis redémarrer Apache :

sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers
sudo apachectl restart

Les fichiers de configuration des sites TaxHub et UsersHub ne sont pas à modifier, ils seront automatiquement associés à la configuration HTTPS. En revanche, la configuration de GeoNature doit être mise à jour.

Configuration de l’application GeoNature

Il est nécessaire de mettre à jour le fichier de configuration geonature_config.toml situé dans le répertoire geonature/config :

cd geonature/config
nano geonature_config.toml

Modifier les éléments suivants :

URL_APPLICATION = 'https://mondomaine.fr/geonature'
API_ENDPOINT = 'https://mondomaine.fr/geonature/api'
API_TAXHUB = 'https://mondomaine.fr/taxhub/api'

Pour que ces modifications soient prises en compte, exécuter les actions à effecture après modification de la configuration.

Les applications sont désormais accessibles sur votre domaine sécurisé en HTTPS !

Taches planifiées

Depuis sa version 2.12.0, les taches planifiées gérées par des crons ont été remplacées par des taches lancées automatiquement par Celery Beat, pour être mis en place automatiquement lors de l’installation de GeoNature et être plus facilement administrables.

Installation d’un module GeoNature

L’installation de GeoNature n’est livrée qu’avec les modules du coeur par défaut : Occtax, Occhab et Validation. Pour ajouter un module GeoNature externe, il est nécessaire de l’installer :

Téléchargement

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 de GeoNature.

Installation automatique

Installation avec la sous-commande install-gn-module :

source <dossier GeoNature>/backend/venv/bin/activate
geonature install-gn-module <dossier du module> <code du module>

Exemple pour le module Import :

source ~/GeoNature/backend/venv/bin/activate
geonature install-gn-module ~/gn_module_import/ IMPORT

Puis relancer GeoNature et son worker :

sudo systemctl restart geonature
sudo systemctl restart geonature-worker

Aucune permission n’est définie par défaut lors de l’installation d’un module. En tant qu’administrateur, vous pouvez exécuter une commande ajoutant tous les droits sur tous les modules à un groupe ou utilisateur. Cette commande peut être relancée après l’installation d’un module pour automatiquement attribuer toutes les permissions à un groupe ou utilisateur administrateur :

# changer "Grp_Admin" par le nom de votre groupe d'administrateur si vous l'avez changé
geonature permissions supergrant --group --nom "Grp_admin"

Vous devrez ensuite définir des droits à vos utilisateurs pour le nouveau module installé.

Installation manuelle

Installation du backend

Installer le module avec pip en mode éditable après avoir activé le venv de GeoNature, puis relancer GeoNature :

source ~/geonature/backend/venv/bin/activate
pip install --editable <dossier du module>
sudo systemctl restart geonature

Installation du frontend

  • Créer un lien symbolique dans le dossier frontend/external_modules de GeoNature vers le dossier frontend du module. Le lien symbolique doit être nommé suivant le code du module en minuscule :

cd ~/geonature/frontend/external_modules/
ln -s <dossier du module>/frontend <code du module en minuscule>

Exemple pour le module Import :

cd ~/geonature/frontend/external_modules/
ln -s ~/gn_module_import/frontend import
  • Re-builder le frontend :

cd ~/geonature/frontend/
nvm use
npm run build

Installation de la base de données

source ~/geonature/backend/venv/bin/activate
geonature upgrade-modules-db <code du module>

Configuration du module

De manière facultative, vous pouvez modifier la configuration du module. Pour cela, vous pouvez créer un fichier de configuration dans le dossier config de GeoNature en le nommant <code du module en minuscule>_config.toml. La plupart des modules fournissent un fichier d’exemple <module-code>_config.toml.example dans leur dossier racine dont vous pouvez vous inspirer.

Après création de ce fichier, activez le rechargement automatique de GeoNature lors des modifications du fichier en lançant les commandes suivantes :

sudo systemctl daemon-reload
sudo systemctl restart geonature

Avant la version 2.12.0 de GeoNature, après chaque modification de la configuration du module, vous devez recharger GeoNature manuellement :

sudo systemctl reload geonature

Mise à jour du module

  • Déplacer le code de l’ancienne version du module : mv gn_module_xxx gn_module_xxx_old

  • Télécharger et désarchiver la nouvelle version du module, et renommer son dossier afin qu’il porte le même nom qu’avant (e.g. gn_module_xxx)

  • (Optionnel) Si le fichier de configuration du module est encore placé avec celui-ci, le déplacer dans la dossier de configuration centralisée de GeoNature : cp gn_module_xxx_old/config/conf_gn_module.toml geonature/config/<mode-code>_config.toml

  • Relancer l’installation du module : geonature install-gn-module gn_module_xxx XXX && sudo systemctl reload geonature

Mise à jour de l’application

Avertissement

Avant chaque mise à jour de GeoNature, 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.

Avertissement

Vérifiez préalablement la compatibilité des modules que vous utilisez avant de mettre GeoNature à jour. S’il est nécessaire de les mettre à jour, arrêtez vous après le remplacement du dossier par le nouveau code source (et la récupération éventuelle de la configuration) ; le script de migration de GeoNature s’occupera automatiquement d’installer la nouvelle version du module.

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, ainsi que les médias 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 ~/geonature/ ~/geonature_old/
    mv ~/GeoNature-X.Y.Z ~/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.

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.

Depuis la version 2.12, le script migration.sh peut prendre en argument le chemin vers l’ancien dossier d’installation de GeoNature. Il peut s’agir du même dossier que la nouvelle installation de GeoNature. Cela permet d’utiliser ce script si la nouvelle version de GeoNature est dans le même dossier et donc de gérer le cas où GeoNature est installé et mis à jour avec git.

Dans ce cas, les commandes à exécuter sont :

cd ~/GeoNature
git status # optionnel, pour connaitre l'état et la version ou branche actuellement utilisée
git fetch
git checkout X.Y.Z # où X.Y.Z est le numéro du tag de la version vers laquelle faire la mise à jour, ou le nom de la branche à utiliser
git submodule update # ou "git config submodule.recurse true" lancé une seule fois, pour que la mise à jour des sous-modules soit relancée automatiquement à chaque git pull
./install/migration/migration.sh .