Link Search Menu Expand Document

Mise à jour des installations et des classements

Les classements sont mis à jour manuellement à partir des extractions S3IC. Il faut éxécuter un script pour générer des fichiers CSV bien formattés puis les mettre à jour sur Envinorma-web.

Prérequis

Pour exécuter les scripts, les identifiants OVH et Heroku sont nécessaires. Ils peuvent être récupérés via Resana sur demande à un responsable du projet.

  1. avoir les deux fichiers issus de l’extraction DGPR: s3ic-liste-etablissements.csv et sic-liste-rubriques.csv dans un dossier en local (un dump est disponible sur Resana).

  2. avoir le dépôt data-tasks en local

    git clone https://github.com/Envinorma/data-tasks
    
  3. avoir le dépôt Envinorma-web en local

    git clone https://github.com/Envinorma/envinorma-web
    

Générer les nouveaux CSV

Le script va créer de nouveaux CSV dans OVH (installations_all.csv, installations_idf.csv, installations_sample.csv, classements_all.csv, classements_idf.csv, classements_sample.csv) à partir des deux CSV extraits d’S3IC s3ic-liste-etablissements.csv et sic-liste-rubriques.csv

Éxécuter le script

Se placer dans le dossier data-tasks

cd data-tasks

Remplacer $INPUT_FOLDER par le chemin vers le dossier contenant les deux fichiers issus de l’extraction S3IC et les 4 occurrences de REPLACE_ME par la valeur du secret associé.

ex : $INPUT_FOLDER -> /Users/lisadurand/Downloads/210909_Envinorma

docker build -t tasks .
docker run -it --rm\
  -v $INPUT_FOLDER:/data/secret_data\
  -e OVH_OS_TENANT_ID=REPLACE_ME\
  -e OVH_OS_TENANT_NAME=REPLACE_ME\
  -e OVH_OS_USERNAME=REPLACE_ME\
  -e OVH_OS_PASSWORD=REPLACE_ME\
  tasks\
  python3 -m tasks.data_build.generate_data --handle-installations-data

Mettre en ligne

Se placer dans le dossier envinorma-web

cd envinorma-web

Télécharger les fichiers créés

Depuis le bucket OVH, télécharger les fichiers installations_all.csv et classements_all.csv et les placer dans le dossier envinorma-web/db/seeds.

Les opérations qui suivent vont échouer si des installations ont disparu. Pour éviter cela, il suffit de regénérer le fichier aps_all.csv, sur le modèle des installations. Il faut ensuite télécharger le fichier aps_all.csv et le placer dans le même dossier.

Commit et push

git add .
git commit -m "MAJ des installations et classements"
git push heroku master

Pour en savoir plus pour pusher sur Heroku

Effectuer un backup de la db de prod

heroku pg:backups:capture --app envinorma
heroku pg:backups:download --app envinorma --output ${backup_filename}

Mettre à jour les données en production

Exécuter la commande suivante dans la console Rails de production (depuis le terminal ou depuis l’interface d’Heroku)

DataManager.seed_installations_and_associations(validate:true)

Et voilà 🎉