Skip to content

feat: charts data layer and price sparklines (#17, #34) - #38

Merged
ndaen merged 1 commit into
mainfrom
feat/charts-data-layer
Jul 5, 2026
Merged

feat: charts data layer and price sparklines (#17, #34)#38
ndaen merged 1 commit into
mainfrom
feat/charts-data-layer

Conversation

@ndaen

@ndaen ndaen commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Couche data de #17 (côté webapp) + premier consommateur : les sparklines de prix dans /classement (finit #34).

Ce qui change

  • src/lib/charts.ts : fetchers typés des artefacts {base}/charts/… publiés par pipelines/webapp_export/export_charts.pyfetchCommuneStats (valeurs brutes par commune : chômage, revenu médian, climat, résidences secondaires, distance métropole, transport), fetchPrixDistribution (histogrammes €/m² précalculés), fetchPrixSeries (médianes annuelles 2021–2025 par commune + série nationale). Zod complet pour les petits payloads, enveloppe seule pour les gros (précédent score.ts). Helper de jointure byCommune.
  • src/hooks/usePrixSeries.ts : même motif que useChoropleth (meta.base en clé, staleTime: Infinity).
  • src/components/sparkline.tsx : mini-courbe SVG faite main — tendance colorée (accent = hausse, rouge = baisse), coupures sur les années sans donnée, valeurs au survol.
  • src/pages/undervalued.tsx : colonne « Prix 2021–25 » ; « — » si < 5 ventes/an ; la table reste fonctionnelle si le fetch des séries échoue.
  • Tests : charts.test.ts (jointure, schéma distribution).

Données

Générées par export_charts.py (PR jumelle côté pipelines). Séries limitées à 2021–2025 : geo-dvf ne conserve que les 5 derniers millésimes (2019–2020 → 404). Alsace-Moselle et Mayotte absentes (hors périmètre DVF — Livre foncier).

⚠️ Ne pas merger avant la publication des artefacts : export_charts.py --publish (sinon la colonne sparklines restera vide en prod — la table dégrade proprement, mais autant publier d'abord).

Vérifié

  • tsc, 18 tests, build OK.
  • Bout en bout en local (VITE_DATA_URL=/local-data) : sparklines rendues dans /classement, valeurs recoupées avec la carte (Paris 6ᵉ 14 183 €/m² 2024, Île-Tudy 3 524), tri/filtre/lien carte intacts.

@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 81557a4):

https://homepedia-webapp-cceb1--pr38-feat-charts-data-lay-rrfxwith.web.app

(expires Sun, 12 Jul 2026 13:09:57 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: d658a29abdbf114e447bbe4bc722d35620c3ead7

@ndaen
ndaen merged commit 3ab3a11 into main Jul 5, 2026
2 checks passed
@ndaen
ndaen deleted the feat/charts-data-layer branch July 5, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant