diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 1d0c67c..1f2064d 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -181,3 +181,40 @@ sont le vrai risque, invisible sous `TZ=Europe/Paris`) ; `formulaire-mairie.js` est fin, impur et **non testé unitairement** — aucun harnais DOM dans le repo, et happy-dom n'émulerait de toute façon pas Gravity Forms. C'est le test humain qui tranche. + +## 2026-07-17 — [T2] Publication mairie : dérivée, paginée, seam pur/impur + +Le statut *publié* est **dérivé** de l'agenda public de la mairie (pas de tag), +en retrouvant l'événement Nextcloud par **date locale de Cugnaux + titre +normalisé**. Il donne aussi le **lien direct** (lu dans la carte). + +**Corrections factuelles vérifiées en phase plan :** + +- **L'agenda est PAGINÉ** : `.../agenda/page/N/?f=1&…`. Un seul fetch « période » + ne suffit pas → on boucle jusqu'à une page vide (plafond de sécurité anti-boucle). +- **Le slug porte des suffixes WordPress** (« Atelier dessin » → + `/agenda/atelier-dessin-2/`) : on matche sur **date + titre**, jamais sur le + slug. Le lien est **lu** dans la carte, jamais reconstruit. +- `