feature: sync.js - script automatique de détection, téléchargement et import des années manquantes geodvf

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 04:10:24 +02:00
parent e0fc56473c
commit 65de913c1d
5 changed files with 306 additions and 35 deletions

View File

@@ -22,6 +22,8 @@ Voila un sample des données parsées [dvf/sample.json](dvf/sample.json)
https://files.data.gouv.fr/geo-dvf/latest/csv/
mkdir -p geodvf
curl https://files.data.gouv.fr/geo-dvf/latest/csv/2025/full.csv.gz -o geodvf/2025.csv.gz
curl https://files.data.gouv.fr/geo-dvf/latest/csv/2024/full.csv.gz -o geodvf/2024.csv.gz
curl https://files.data.gouv.fr/geo-dvf/latest/csv/2023/full.csv.gz -o geodvf/2023.csv.gz
curl https://files.data.gouv.fr/geo-dvf/latest/csv/2022/full.csv.gz -o geodvf/2022.csv.gz
curl https://files.data.gouv.fr/geo-dvf/latest/csv/2021/full.csv.gz -o geodvf/2021.csv.gz
@@ -30,13 +32,19 @@ https://files.data.gouv.fr/geo-dvf/latest/csv/
Voila un sample des données parsées [geodvf/sample.json](geodvf/sample.json)
# run
# sync (automatique)
Cette commande ouvre les fichiers csv et chie des inserts mysql en batch
Détecte les années manquantes en base, télécharge les csv.gz si besoin, parse et insère directement.
echo "MYSQL=mysql://user:password@host/database?charset=utf8mb4&connectionLimit=10" > .env
node parse.js geodvf/2022.csv.gz | gzip > geodvf/2022.sql.gz
pv geodvf/2023.sql.gz | gunzip | mysql -u user -ppassword -h host database
node sync.js # importe les années manquantes
node sync.js 2025 # force le re-import d'une année
# parse (manuel)
Génère du SQL sur stdout à partir d'un csv.gz (ancien workflow).
node parse.js geodvf/2025.csv.gz | gzip > geodvf/2025.sql.gz
pv geodvf/2025.sql.gz | gunzip | mysql -u user -ppassword -h host database
```
CREATE TABLE IF NOT EXISTS dvf (