info-canicule/scripts
Florian cb8d111a12
Some checks are pending
Deploy info-canicule / deploy (push) Waiting to run
feat: normales journalières + dedupe SYNOP + carte plus large
3 fixes en un :

1. lib/observations.ts : dedupe par validity_time sur le parse hourly.
   L API MF SYNOP retourne chaque obs en doublon exact sur les ranges
   multi-step (bug gateway WSO2). Constaté 7/8 paires identiques sur 24h.

2. Normales 1991-2020 passées de mensuelles à journalières (lissées 7j).
   - scripts/build-normales.mjs : agrégation par day-of-year (1..366)
     avec moving average ±3j pour stabiliser le bruit jour-à-jour.
   - src/data/normales.json : 2.28 MB (vs 78 KB), 96 × 366 entrées.
   - lib/normales.ts : normaleForDay/Date + normalesForRange, computeAnomaly
     compare maintenant chaque jour observé à SA normale (pas à la moyenne
     du mois) → bien plus précis sur les jours de transition mensuelle.
   - TemperatureChartInteractive : overlay normales en COURBE qui suit
     la saison (7j/30j) au lieu d une ligne horizontale unique.
     24h reste ligne horizontale (normale du jour courant).
   - Tooltip 7j/30j ajoute "↳ normale TX X°C (+Y)" pour montrer l écart
     par point.

3. Carte sur la home libérée du container-tight (max-w-5xl = 1024px) :
   wrapper dédié max-w-[1400px] → carte ~37% plus grande sur PC large.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 01:43:10 +02:00
..
build-france-map.mjs init: info-canicule MVP (Vigilance + climato + conseils) 2026-05-25 18:17:56 +02:00
build-normales.mjs feat: normales journalières + dedupe SYNOP + carte plus large 2026-05-26 01:43:10 +02:00
build-og-image.mjs feat: OG png + sentry + dept api + drom notice + registre canicule 2026-05-25 20:59:11 +02:00
build-stations-synop.mjs fix(stations): parse CSV en CRLF robust (le name était stripped \r → undefined) 2026-05-26 00:37:09 +02:00