database:sinp-aura:import-donnees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
database:sinp-aura:import-donnees [2021/05/24 09:10] – [Via le fichier SQL du référentiel géographique de Flavia] jpmilcentdatabase:sinp-aura:import-donnees [2021/11/19 14:38] (Version actuelle) – [Configuration des permissions] jpmilcent
Ligne 40: Ligne 40:
  
 ===== Ajout/Correction du référentiel géographique dans la base de données GeoNature ===== ===== Ajout/Correction du référentiel géographique dans la base de données GeoNature =====
-===== Ajout/Correction du référentiel géographique dans la base de données GeoNature =====+
 ==== Via le fichier SQL du référentiel géographique de Flavia ==== ==== Via le fichier SQL du référentiel géographique de Flavia ====
-  * Télécharger la version du référentiel sans DEM. Si besoin, le DEM pourra être généré ultérieurement.+  * 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 ''   * Renommer le fichier ainsi : '' mv 20210520_ref_geo_2.sql 2021-05-20_sinp_aura_ref_geo.sql ''
   * Préparer le fichier :   * Préparer le fichier :
Ligne 49: Ligne 49:
     * 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 ''     * 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 ''   * 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' '' 
-  * Exécuter le script : ''<nowiki> psql -U geonatadmin -h localhost -d geonature2db --pset pager=off -f "2021-05-20_sinp_aura_ref_geo.sql</nowiki>''+  * 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.
  
 ==== Via le script "area" du dépôt "data" ==== ==== Via le script "area" du dépôt "data" ====
Ligne 72: Ligne 76:
  
 ===== Adaptation de la base de données de GeoNature (modules, vues...) ===== ===== Adaptation de la base de données de GeoNature (modules, vues...) =====
-Il est nécessaire d'adapter la base de données de GeoNature au SINP AURA :+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 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/ ''   * Se placer dans le dossier //~/data/db-geonature// : '' cd ~/data/db-geonature/data/sql/ ''
Ligne 82: Ligne 94:
  
  
-===== Configuration des permissions ===== +===== Création/Modification des utilisateurs/groupes par défaut (via UsersHub) ===== 
-  * Via UsersHub : +  * Ajout d'un utilisateur "général" permetant un accès à l'API GeoNature (CMS ORB AURA par exemple). 
-    * changer le mot de passe de l'utilisateur "admin"+    * Se connecter à UsersHub en tant qu'//admin// https://gestion.biodiversite-aura.fr/ 
-    * Modifier l'utilisateur "admin"+    * Cliquer sur le menu principal "Utilisateurs" et sur le bouton "Ajouter un utilisateur", remplir le formulaire ainsi : 
-      * Prénom Général +      * Cocher "Actif" 
-      * Email adminsys@biodiversite-aura.fr+      * Nom: GÉNÉRAL 
 +      * Prénom : Utilisateur 
 +      * Identifiant : user-general 
 +      * Organisme : ne rien sélectionner 
 +      * Mot de passe / Confirmation : voir Keepass. 
 +      * Groupe : Grp_utilisateurs 
 +      * Email : webmaster@biodiversite-aura.fr 
 +      * Commentaire : Utilisateur général permettant un accès à l'API GeoNature. 
 +      * Cliquer sur "Enregistrer" 
 +  * Modification de l'utilisateur "admin" 
 +    * Se connecter à UsersHub en tant qu'//admin// : https://gestion.biodiversite-aura.fr/ 
 +    * Cliquer sur le menu principal "Utilisateurs" et rechercher l'utilisateur dont l'identifiant est "admin"
 +    * Changer son mot de passe en cliquant sur le bouton dont l'icone est une clé. 
 +    * Puis cliquer sur son bouton de modification (icône de crayon) et modifié l'utilisateur "admin" ainsi 
 +      * Nom GÉNÉRAL 
 +      * Prénom Administrateur
       * Organisme : aucun       * 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"       * 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. +      * Email : adminsys@biodiversite-aura.fr 
-    Supprimer les utilisateurs de démo ayant les identifiants : agent, partenaire, pierre.paul, validateur +      * Commentaire : Administrateur global. 
-    * Modifier le groupe "Grp_en_poste"+  Suppression des utilisateurs de démo ayant les identifiants : agent, partenaire, pierre.paul, validateur 
-      * Nom : Grp_utilisateurs +    * Les rechercher et cliquer ensuite sur le bouton de suppression (icone rouge de poubelle) 
-      * Description : Tous les utilisateurs inscrits à Bioviv'AURA Expert par défaut.+  * Modifier le groupe "Grp_en_poste"
 +    * Nom : Grp_utilisateurs 
 +    * Description : Tous les utilisateurs inscrits à Bioviv'AURA Expert par défaut. 
 +  * Ajouter le groupe "Grp_police_region"
 +    * Onglet "Groupe", cliquer sur "Ajouter un groupe"
 +      * Nom : Grp_police_region 
 +      * Description : Groupe d'utilisateur ayant des fonctions de police de l'environnement sur l'ensemble du territoire du SINP. 
 +      * Cliquer sur "Enregistrer" 
 +    * Onglet "Application", cliquer sur "Voir les membres" de "GeoNature" 
 +      * Cliquer sur "Ajouter un rôle pour l'application GeoNature" 
 +        * Rôle : Grp_police_region 
 +        * Profile : Lecteur 
 +        * Cliquer sur "Enregistrer" 
 +    * Onglet "Groupe", cliquer sur "Voir les membres" 
 +      * Ajouter les rôles (=utilisateurs) ayant des droits de police sur toute la région pour la Faune, Flore, Fonge... 
 +===== Configuration des permissions =====
   * Via GeoNature, module "Admin" > "Permissions", modifier les permissions par défaut comme suit :   * Via GeoNature, module "Admin" > "Permissions", modifier les permissions par défaut comme suit :
     * Pour le groupe "Grp_Utilisateurs"     * Pour le groupe "Grp_Utilisateurs"
Ligne 109: Ligne 151:
         * Lire les données => Précision : "**Exacte**"         * Lire les données => Précision : "**Exacte**"
         * Exporter les données => Précision : "**Exacte**"         * Exporter les données => Précision : "**Exacte**"
 +    * Pour le groupe "Grp_police_region"
 +      * 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)" :
 +        * <color /#fff200>**NOTES** : l'héritage ne semble pas fonctionner dans ce cas précis ! C'est surement dû à la présence des filtres Géographique et Taxonomique.</color> 
 +        * Objet "Observation privée" :
 +          * Lire les données => Appartenance : "**De tout le monde**", Géographique : "Auvergne-Rhône-Alpes", Taxonomique : Biota [349525] & Précision : "**Exacte**"
 +          * Exporter les données => Appartenance : "**De tout le monde**", Géographique : "Auvergne-Rhône-Alpes", Taxonomique : Biota [349525] & Précision : "**Exacte**"
 +        * Objet "Observation sensible" :
 +          * Lire les données => Appartenance : "**De tout le monde**", Géographique : "Auvergne-Rhône-Alpes", Taxonomique : Biota [349525] & Précision : "**Exacte**"
 +          * Exporter les données => Appartenance : "**De tout le monde**", Géographique : "Auvergne-Rhône-Alpes", Taxonomique : Biota [349525] & Précision : "**Exacte**"
  
  
-===== Import des données "cbnmc" au format d'échange dans GeoNature module Synthèse ===== +===== Import des données au format d'échange dans GeoNature module Synthèse ===== 
-  * Se connecter au serveur "db" en tant qu'admin : ''ssh geonat@db-aura-sinp''+ 
 +  * Se connecter au serveur "db" en tant que //geonat// avec : ''ssh geonat@db-aura-sinp'' 
 + 
 +==== Import des données "cbnmc"  =====
   * Se placer dans le dossier // ~/data/cbnmc/ // de l'utilisateur //geonat// : ''cd ~/data/cbnmc''   * 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 une session détachable : ''screen -S import-cbnmc''
     * Voir [[serveurs:installation:divers#commande_screen|la documentation générale concernant les commandes à utiliser avec Screen]] pour quitter puis se reconnecter à une session.     * Voir [[serveurs:installation:divers#commande_screen|la documentation générale concernant les commandes à utiliser avec Screen]] pour quitter puis se reconnecter à une session.
   * Lancer le script : ''cd bin/ ; ./import_initial.sh -v ''   * Lancer le script : ''cd bin/ ; ./import_initial.sh -v ''
-    * Temps approximatif d'exécution : ~1h22mn+    * Temps approximatif d'exécution : ~1h45mn
   * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données   * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
 +  * Fermer la session Screen
  
 +==== Import des données "cbna"  =====
 +  * Se placer dans le dossier // ~/data/cbna/ // de l'utilisateur //geonat// : ''cd ~/data/cbna''
 +  * Lancer une session détachable : ''screen -S import-cbna''
 +    * Voir [[serveurs:installation:divers#commande_screen|la documentation générale concernant les commandes à utiliser avec Screen]] pour quitter puis se reconnecter à une session.
 +  * Lancer le script : ''cd bin/ ; ./import_initial.sh -v ''
 +    * Temps approximatif d'exécution : ~1h45mn
 +  * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
 +  * Fermer la session Screen
 +
 +==== Import des données "lpo"  =====
 +  * Se placer dans le dossier // ~/data/lpo/ // de l'utilisateur //geonat// : ''cd ~/data/lpo''
 +  * Lancer une session détachable : ''screen -S import-lpo''
 +    * Voir [[serveurs:installation:divers#commande_screen|la documentation générale concernant les commandes à utiliser avec Screen]] pour quitter puis se reconnecter à une session.
 +  * Lancer le script : ''cd bin/ ; ./import_initial.sh -v ''
 +    * Temps approximatif d'exécution : ?
 +  * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
 +  * Fermer la session Screen
 +
 +==== Import des données "flavia"  =====
 +  * Se placer dans le dossier // ~/data/flavia/ // de l'utilisateur //geonat// : ''cd ~/data/flavia''
 +  * Lancer une session détachable : ''screen -S import-flavia''
 +    * Voir [[serveurs:installation:divers#commande_screen|la documentation générale concernant les commandes à utiliser avec Screen]] pour quitter puis se reconnecter à une session.
 +  * Lancer le script : ''cd bin/ ; ./import_initial.sh -v ''
 +    * Temps approximatif d'exécution : ?
 +  * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
 +  * Fermer la session Screen
  
 ===== Importation des images de l'INPN ===== ===== Importation des images de l'INPN =====
Ligne 131: Ligne 215:
   * Au préalable, ajouter une authentification HTTP au site de l'Atlas, le temps des tests avant mise en prod.   * Au préalable, ajouter une authentification HTTP au site de l'Atlas, le temps des tests avant mise en prod.
   * Suivre la démarche décrite dans [[serveurs:installation:web-srv:geonature-atlas-mise-a-jour#procedure_de_mise_a_jour_des_donnees|la documentation de gestion des serveurs]]   * Suivre la démarche décrite dans [[serveurs:installation:web-srv:geonature-atlas-mise-a-jour#procedure_de_mise_a_jour_des_donnees|la documentation de gestion des serveurs]]
 +  * Il existe aussi le script [[https://github.com/cbn-alpin/sinp-aura-data/blob/main/db-atlas/data/sql/05_refresh_vm_data.sql| ~/data/db-atlas/data/sql/05_refresh_vm_data.sql]]. C'est l'équivalant de la fonction ''refresh_materialized_view_data()''. Mais il permet de suivre l'avancé du rafraîchissement. Pour l'utiliser : '' psql -h localhost -U geonatadmin -d gnatlas -f ~/data/db-atlas/data/sql/05_refresh_vm_data.sql ''
 +  * **Notes** : le paramètre '' idle_in_transaction_session_timeout=310000 '' présent dans le fichier '' /etc/postgresql/12/main/conf.d/01_optimizing.conf '' posait problème lors de la mise à jour des données de l'Atlas. Une des requêtes (liée à FDW) était annulée car dans l'état "//idle in transaction//" pendant plus de 5mn10s. Ce paramètre étant finalement inutile, il a été supprimé.
  
 +===== Corrections des données =====
 +  * Passage du code nomenclatures des données de Flavia de 5 à 2 : '' psql -h localhost -U geonatadmin -d geonature2db -v idSourceMin="18" -v idSourceMax="36" -f ~/data/db-geonature/data/sql/07_fix_flavia_data.sql ''
 +  * Création de la table contenant les observations hors territoire : '' psql -h localhost -U geonatadmin -d geonature2db -f ~/data/area-outside/data/sql/01_create_outside_all.sql ''
 +  * Export vers des fichiers CSV des données hors-territoire par id source :
 +    * CBNMC : '' sudo -u postgres -s psql -h localhost -d geonature2db -v idSourceMin="1" -v idSourceMax="1" -v csvFilePath="/tmp/cbnmc.csv" -f ~/data/area-outside/data/sql/02_export_outside_data.sql ''
 +    * CBNMA : '' sudo -u postgres -s psql -h localhost -d geonature2db -v idSourceMin="2" -v idSourceMax="2" -v csvFilePath="/tmp/cbna.csv" -f ~/data/area-outside/data/sql/02_export_outside_data.sql ''
 +    * FLAVIA : '' sudo -u postgres -s psql -h localhost -d geonature2db -v idSourceMin="18" -v idSourceMax="36" -v csvFilePath="/tmp/flavia.csv" -f ~/data/area-outside/data/sql/02_export_outside_data.sql ''
 +  * Vider les champs géometrie des observations hors territoire : '' psql -h localhost -U geonatadmin -d geonature2db -f ~/data/area-outside/data/sql/03_fix_outside_geom.sql ''
 +  * Export vers des fichiers CSV des données des CBNs dont la sensibilité a été corrigé :
 +    * CBNMC : '' sudo -u postgres -s psql -h localhost -d geonature2db -v csvFilePath="/tmp/fix_sensitivity_cbnmc.csv" -f ~/data/db-geonature/data/sql/08_export_cbn_sensitivity.sql ''
 +    * CBNA : '' sudo -u postgres -s psql -h localhost -d geonature2db -v csvFilePath="/tmp/fix_sensitivity_cbna.csv" -f ~/data/db-geonature/data/sql/08_export_cbn_sensitivity.sql ''
 +  * Correction du niveau de sensibilité pour les taxons (Flore) sensible de la région AURA : '' psql -h localhost -U geonatadmin -d geonature2db -f ~/data/db-geonature/data/sql/09_fix_cbn_sensitivity.sql ''
 +  * Activation des utilisateurs intégrés précédemment possédant un email et un identifiant afin qu'ils puissent demander un renouvellement de mot de passe : '' psql -h localhost -U geonatadmin -d geonature2db -f ~/data/db-geonature/data/sql/10_fix_users.sql ''
 +  * Suppression manuelle des entrées de ''utilisateurs.t_roles'' possédant des identifiants et/ou email en doublon. [[https://drive.google.com/file/d/1pGQAJsF_ujW6jfw0ZEJBIZsirjgEbxkO/view?usp=sharing|Récapitulatifs des modifications stockées dans un tableur]].
 +  * Activation des utilisateurs inactifs possédant un email afin qu'ils puissent demander un renouvellement de mot de passe : '' psql -h localhost -U geonatadmin -d geonature2db -f ~/data/db-geonature/data/sql/12_fix_inactive_users.sql ''
 +  * Fusion (puis suppression) des utilisateurs en doublon : '' cd ~/data/db-geonature/bin/ ; ./merge_users.sh -v ''. Utilise le script '' ~/data/db-geonature/data/sql/13_delete_duplicate_user.sql ''. Les anciens ''id_role'' supprimés et leurs remplaçants sont présents dans le fichier de config (''~/data/db-geonature/config/settings.default.ini'').
  • database/sinp-aura/import-donnees.1621847444.txt.gz
  • Dernière modification : 2021/05/24 09:10
  • de jpmilcent