====== Import des données de test ====== ===== Récupération du dépôt "data" ===== * En local, sur votre machine, récupérer le dépôt Github "[[https://github.com/cbn-alpin/sinp-paca-data|sinp-paca-data]]" : ''git clone git@github.com:cbn-alpin/sinp-paca-data.git'' * Suivre les éventuelles étapes indiquées dans les fichiers [[https://github.com/cbn-alpin/sinp-paca-data/blob/master/cbna/README.md|README.md (CBNA)]] et [[https://github.com/cbn-alpin/sinp-paca-data/blob/master/cenpaca/README.md|README.md (CEN-PACA)]] * Sur le serveur, sauvegarder le dossier "data" : voir ci-dessous * Se placer à la racine du dossier //sinp-paca-data// * Transférer les scripts : '' rsync -av --copy-unsafe-links --exclude var --exclude .git --exclude .editorconfig --exclude .vscode --exclude .gitignore --exclude settings.ini --exclude "data/raw/*" --exclude venv ./ geonat@db-paca-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 : //cbna//, //cenpaca// et //shared// * Préparer l'environnement du script //import-parser// en suivant les indications du fichier [[https://github.com/cbn-alpin/sinp-paca-data/blob/master/import-parser/README.md|README.md (import-parser)]] * **Notes** : il est nécessaire de redonner les droits d'execution à 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 ===== Sauvegarde du dossier "data" ===== * Se connecter à l'utilisateur "admin" sur le serveur : ''ssh geonat@db-paca-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 '' ===== Exécution du script d'import dans GeoNature module Synthèse ===== * Se connecter au serveur "db" en tant qu'admin : ''ssh geonat@db-paca-sinp'' * Se placer dans le dossier // ~/data/cbna/ // de l'utilisateur //geonat// : ''cd ~/data/cbna'' * 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'' * Nettoyer le dossier //data/raw/// si nécessaire : '' cd ~/data/cbna/data/raw/ ; rm -f *.{csv,ini} '' * 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 '' * Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données ===== Mise à jour des données GeoNature Atlas ===== * **Ressources** : https://github.com/PnX-SI/GeoNature-atlas/blob/master/docs/vues_materialisees_maj.rst * Au préalable, ajouter une authentification HTTP au site nature.silene.eu, le temps des tests avant mise en prod. * Se connecter au serveur : ''ssh admin@'' * 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 la commande : ''psql'' * Sélectionner la base de l'atlas : ''\c gnatlas'' * Exécuter les requête suivante suivant le besoin * Pour mettre à jour uniquement les données d'observation (table //synthese//) : ''SELECT atlas.refresh_materialized_view_data() ;'' * Si le territoire du SINP à changé et qu'il faut remettre à jour le référentiel géographique : '' SELECT atlas.refresh_materialized_view_ref_geo() '' ===== Exécution du script d'import des images de l'INPN ===== * Se connecter sur le serveur : ''ssh geonat@sinp--web'' * Se placer dans le dossier du script dans TaxHub : ''cd ~/www/taxhub/data/scripts/import_inpn_media '' * Créer un environnement virtuel : '' python3 -m venv venv '' * Activer l'environnement virtuel : '' source venv/bin/activate '' * Redonner les droits d’exécution à GCC pour tout le monde si l'on veut pouvoir installer correctement les paquets Python dans le venv : '' sudo chmod o+x /usr/bin/gcc '' * Installer les paquets suivant : '' pip install psycopg2 requests '' * Retirer les droits d’exécution à GCC pour tout le monde : '' sudo chmod o-x /usr/bin/gcc ''. * Créer le fichier de configuration : '' cp config.py.sample config.py '' * Modifier les paramètres : * '' SQLALCHEMY_DATABASE_URI = "postgresql://geonatadmin:@10.0.1.10:5432/geonature2db" '' * '' QUERY_SELECT_CDREF = """SELECT DISTINCT cd_ref FROM taxonomie.bib_noms ORDER BY cd_ref LIMIT 100""" '' : supprimer le '' LIMIT 100 '' une fois un premier test effectué * Lancer le script : '' python import_inpn_media.py '' * Si tout c'est bien passé, désactiver l'environnement virtuel : '' deactivate '' * Le script ajoute les photos en tant que "secondaire" pour désigner celle avec le plus petit id_media (= au hasard) comme "principale", utiliser la requête : WITH first_media AS ( SELECT MIN(id_media) AS first_id_media_founded, cd_ref FROM taxonomie.t_medias GROUP BY cd_ref ) UPDATE taxonomie.t_medias AS tm SET id_type = 1 FROM first_media AS fm WHERE tm.id_media = fm.first_id_media_founded AND tm.cd_ref = fm.cd_ref ; * Pour afficher les images sur l'Atlas, il est nécessaire de rafraichir les données des vues matérialisées //atlas.vm_medias// et //atlas.vm_taxons_plus_observes// : REFRESH MATERIALIZED VIEW atlas.vm_medias WITH DATA ; REFRESH MATERIALIZED VIEW atlas.vm_taxons_plus_observes WITH DATA ;