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 !
  • 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
  • Exécuter le script : psql -U geonatadmin -h localhost -d geonature2db --pset pager=off -f "2021-05-20_sinp_aura_ref_geo.sql"

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 :

  • 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.1621847219.txt.gz
  • Dernière modification : 2021/05/24 09:06
  • de jpmilcent