Mise à jour des arrêtés préfectoraux
Les APs sont mis à jour automatiquement et quotidiennement à partir des extractions Géorisques. Un script python exécute l’OCR sur les APs à 7am UTC
et une tâche rake met à jour les APs de l’application de production à 9pm UTC
.
Prérequis (si besoin de lancer les scripts manuellement)
Pour exécuter les scripts, les identifiants OVH, slack et Heroku sont nécessaires. Ils peuvent être récupérés via Resana sur demande à un responsable du projet.
Mise à jour de la liste des APs et OCR des APs
Un script python est exécuté quotidiennement via une tâche CRON de l’utilisateur root
de la machine OVH data-tasks
.
- il télécharge le dump géorisques du matin
- il génère les fichiers
aps_all.csv
,aps_idf.csv
etaps_sample.csv
dans le bucket OVH associé - il exécute l’OCR sur les nouveaux APs
- il met à jour le statut OCR des APs dans les fichiers
aps_all.csv
,aps_idf.csv
etaps_sample.csv
.
Ce script est contenu dans le fichier scripts/update_ap.sh
du dépôt data-tasks.
Pour l’exécuter manuellement ou dans un nouvel environnement :
-
Cloner le dépôt data-tasks en local
git clone https://github.com/Envinorma/data-tasks
- Avoir installé docker
-
Construire l’image docker
cd data-tasks docker build -t tasks .
- Exécuter le script (après avoir remplacé les 6 occurrences de
REPLACE_ME
par la valeur du secret associé.)docker run -it --rm\ -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\ -e SLACK_AM_CHANNEL=REPLACE_ME\ -e GEORISQUES_DATA_URL=REPLACE_ME\ tasks\ sh scripts/update_aps.sh
Mise à jour des APs dans l’application de production
Une tâche rake lib/tasks/update_aps.rake
(dans l’application Envinorma) est exécutée pour mettre à jour les APs. Elle est programmée à 9pm UTC tous les jours via le Heroku Scheduler. Celle-ci exécute la tâche suivante, qui télécharge le fichier aps_all.csv de ce bucket OVH puis met à jour les APs en base de donnée.
DataManager.seed_aps(from_ovh: true)