database:sinp-aura:import-donnees

Ceci est une ancienne révision du document !


Import des données SINP-AURA pour GeoNature et l'Atlas

  • En local, sur votre machine, récupérer le dépôt Github "sinp-aura-data" :
    • Clonage du dépôt : git clone git@github.com:cbn-alpin/sinp-aura-data.git
    • Se placer dans le dépôt cloné : cd sinp-aura-data
    • Initialisation si nécessaires des sous-modules Git : git submodule init
    • Mise à jour des sous-modules Git : git submodule update
  • Suivre les éventuelles étapes indiquées dans les fichiers README.md de l'Atlas, CBNMC.
  • ATTENTION : avant un transfert sur le serveur, si nécessaire sauvegarder le dossier "data" : voir ci-dessous
  • Se placer à la racine du dossier sinp-aura-data
  • Transférer les scripts :
     rsync -av --copy-unsafe-links --exclude var --exclude .git --exclude .gitmodules --exclude .editorconfig --exclude .vscode --exclude .gitignore --exclude settings.ini --exclude "data/raw/*" --exclude venv --exclude .venv --exclude "import-parser/data/*" ./ geonat@db-aura-sinp:~/data/ --dry-run 
    • Supprimer l'option --dry-run si tout semble ok pour effectuer le transfert réel
  • Se connecter au serveur
    • Créer les fichiers settings.ini à partir des fichiers settings.sample.ini pour : shared, area, cbnmc, …
    • Préparer l'environnement du script import-parser en suivant les indications du fichier README.md (import-parser)
      • Notes : il est nécessaire de redonner les droits d’exécution à GCC pour tout le monde si l'on veut pouvoir installer correctement le venv avec sudo chmod o+x /usr/bin/gcc. Une fois l'installation terminée, retirer les à nouveau avec chmod o-x /usr/bin/gcc .
  • Notes : les données brutes nécessaires aux scripts sont automatiquement téléchargées depuis Dropbox
  • Se connecter à l'utilisateur "admin" sur le serveur : ssh geonat@db-aura-sinp
  • Créer le dossier de sauvegarde : mkdir -p backups/data
  • Sauvegarder le dossier "data" : mv data backups/data/$(date +%F)
  • Recréer le dossier "data" vide : mkdir data
Cette manipulation est dangereuse car elle supprime tout le contenu de la base de données de GeoNature !
  • Suivre les étapes de mise à jour d'une installation de GeoNature, au niveau de l'intervention sur "db-srv" suivre ceci:
    • Sur l'instance "db-srv" connecté en tant que "geonat", suivre les étapes suivantes
    • Mettre à true le paramètre drop_apps_db du fichier ~/geonature/config/settings.ini.
    • Se placer dans le dossier ~/geonature/install/ avec la commande : cd ~/geonature/install/
    • Lancer une session détachable car la manipulation peut être longue et une perte de connexion SSH possible : screen -S install-db
    • Lancer le script d'installation de la base de données de GeoNature : ./install_db.sh
    • Vérifier l’absence d'erreurs de l'installation dans le fichier ~/geonature/var/log/install_db.log avec : vi ~/geonature/var/log/install_db.log
    • ATTENTION : remettre à false le paramètre drop_apps_db du fichier ~/geonature/config/settings.ini !
  • En local, télécharger la version du référentiel sans DEM. Si besoin, le DEM pourra être généré ultérieurement.
  • Renommer le fichier ainsi : mv 20210520_ref_geo_2.sql 2021-05-20_sinp_aura_ref_geo.sql
  • Préparer le fichier :
    • Remplacer le propriétaire du schéma d'origine : sed -i 's/admingnpinv/geonatadmin/g' 2021-05-20_sinp_aura_ref_geo.sql
    • Commenter toutes les lignes concernant les droits des utilisateurs d'origine : sed -e '/atlaspinv/ s/^-* */-- /' -i 2021-05-20_sinp_aura_ref_geo.sql
    • Insérer la sauvegarde du schéma ref_geo pré-existant : sed -i 's/CREATE SCHEMA ref_geo;/ALTER SCHEMA ref_geo RENAME TO ref_geo_saved;\nCREATE SCHEMA ref_geo;/ 2021-05-20_sinp_aura_ref_geo.sql
  • Créer une archive .tar.bz2 du fichier SQL pour diminuer sa taille (~1,3Go ⇒ ~260Mo) : tar jcvf ./2021-05-20_sinp_aura_ref_geo.tar.bz2 ./2021-05-20_sinp_aura_ref_geo.sql
  • Uploader l'archive sur le dépôt SFTP : sftp -oPort=<port-ssh-sftp-server> data@bkp-<region>-sinp:/flavia/ «< $'put ./2021-05-20_sinp_aura_ref_geo.tar.bz2'
  • Se connecter au serveur "db" en tant qu'utilisateur geonat : ssh geonat@db-aura-sinp
  • Se placer dans le dossier ~/data/db-geonature/ : cd ~/data/db-geonature
  • Lancer le script : cd bin/ ; ./initialize.sh -v
  • Vérifier l’absence d'erreurs dans le fichier de log : vi ../var/log/$(date +'%F')_dbgn.log
  • Vérifier le contenu de la base de données.

Il est nécessaire d'ajouter dans le référentiel géographique de GeoNature le contour du territoire du SINP. Pour ce faire, nous allons utiliser le script area du dépôt "data" :

  • Se connecter au serveur "db" en tant qu'utilisateur geonat : ssh geonat@db-aura-sinp
  • Se placer dans le dossier ~/data/area/ de l'utilisateur geonat : cd ~/data/area
  • Créer le fichier de configuration : cp config/settings.sample.ini config/settings.ini
  • Modifier le fichier settings.ini en fonction de l'installation locale : vi config/settings.ini
  • Lancer une session détachable : screen -S import-area
  • Lancer le script : cd bin/ ; ./initialize.sh -v
    • Temps approximatif d'exécution : ~21s
  • Vérifier l’absence d'erreurs dans le fichier de log : vi ../var/log/$(date +'%F')_imports.log
  • Vérifier le contenu de la base de données :
    • le nombre de communes :
       psql -h localhost -U geonatadmin -d geonature2db -c "SELECT COUNT(*) FROM ref_geo.l_areas AS la JOIN ref_geo.bib_areas_types AS bat ON (la.id_type = bat.id_type) WHERE type_code = 'COM';"
      • Communes en AURA : 4 030
    • le nombre de départements :
       psql -h localhost -U geonatadmin -d geonature2db -c "SELECT COUNT(*) FROM ref_geo.l_areas AS la JOIN ref_geo.bib_areas_types AS bat ON (la.id_type = bat.id_type) WHERE type_code = 'DEP';"
      • Départements en AURA : 12

Il est nécessaire d'adapter la base de données de GeoNature au SINP AURA. Si vous avez corriger le référentiel géographique via le fichier SQL du référentiel géo de Flavia cette étape est déjà réalisée. Dans le cas contraire :

  • Se connecter au serveur "db" en tant qu'utilisateur geonat : ssh geonat@db-aura-sinp
  • Se placer dans le dossier ~/data/db-geonature/ : cd ~/data/db-geonature
  • Lancer le script : cd bin/ ; ./initialize.sh -v
  • Vérifier l’absence d'erreurs dans le fichier de log : vi ../var/log/$(date +'%F')_dbgn.log
  • Vérifier le contenu de la base de données.

Il est aussi possible d’exécuter ces scripts SQL individuellement et manuellement :

  • Se connecter au serveur "db" en tant qu'utilisateur geonat : ssh geonat@db-aura-sinp
  • Se placer dans le dossier ~/data/db-geonature : cd ~/data/db-geonature/data/sql/
  • Exécuter les scripts SQL suivant :
    • Organiser le menu de gauche de GeoNature (nom et ordre des entrées) : psql -h localhost -U geonatadmin -d geonature2db -f ./01_update_modules.sql
    • Remplacement des vues d'export de la Synthèse : psql -h localhost -U geonatadmin -d geonature2db -f ./02_replace_synthese_export_view.sql
    • Corriger des problèmes en tant que super utilisateur : sudo -u postgres -s psql -d geonature2db -f ./03_fix_as_superuser.sql
    • Corriger des problèmes en tant que propriétaire de la base : psql -h localhost -U geonatadmin -d geonature2db -f ./04_fix_as_user.sql
  • Via UsersHub :
    • changer le mot de passe de l'utilisateur "admin".
    • Modifier l'utilisateur "admin" :
      • Prénom : Général
      • Email : adminsys@biodiversite-aura.fr
      • Organisme : aucun
      • Groupes : laisser les 2 groupes afin d'y accéder dans l'interface "Permissions" de GeoNature. Lorsque le groupe "Grp_utilisateurs" aura des utilisateurs associés, il sera possible de mettre l'utilisateur "admin" seulement dans le groupe "Grp_admin"
      • Remarques : Administrateur global.
    • Supprimer les utilisateurs de démo ayant les identifiants : agent, partenaire, pierre.paul, validateur
    • Modifier le groupe "Grp_en_poste" :
      • Nom : Grp_utilisateurs
      • Description : Tous les utilisateurs inscrits à Bioviv'AURA Expert par défaut.
  • Via GeoNature, module "Admin" > "Permissions", modifier les permissions par défaut comme suit :
    • Pour le groupe "Grp_Utilisateurs"
      • Pour le module "GeoNature" :
        • Lire les données ⇒ Appartenance : "De tout le monde"
        • Exporter les données ⇒ Appartenance : "De tout le monde"
      • Pour le module "Métadonnées" :
        • Lire les données ⇒ Appartenance : "De tout le monde"
      • Pour le module "Synthese (= Observations)" :
        • Lire les données ⇒ Appartenance : "De tout le monde" & Précision : "Floutée"
        • Exporter les données ⇒ Appartenance : "De tout le monde" & Précision : "Floutée"
    • Pour le groupe "Grp_admins" :
      • Pour le module "Synthese (= Observations)" :
        • Lire les données ⇒ Précision : "Exacte"
        • Exporter les données ⇒ Précision : "Exacte"
  • Se connecter au serveur "db" en tant qu'admin : ssh geonat@db-aura-sinp
  • Se placer dans le dossier ~/data/cbnmc/ de l'utilisateur geonat : cd ~/data/cbnmc
  • Créer le fichier de configuration : cp config/settings.sample.ini config/settings.ini
  • Modifier le fichier settings.ini en fonction de l'installation locale : vi config/settings.ini
  • Lancer une session détachable : screen -S import-cbnmc
  • Lancer le script : cd bin/ ; ./import_initial.sh -v
    • Temps approximatif d'exécution : ~1h22mn
  • Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données

Suivre la démarche décrite dans la documentation de gestion des serveurs.

  • database/sinp-aura/import-donnees.1621869052.txt.gz
  • Dernière modification : 2021/05/24 15:10
  • de jpmilcent