Pierre's field test: the agenda announces "10:30 → 12:30", the list only said "à 10:30". The end date was already parsed and already in the payload; it was purely missing from the display. Naively rendering start → end would have been wrong four ways, all measured against the real parser: - no DTEND: the parser sets fin === debut, so "de 10:30 à 10:30" - crossing midnight: "samedi de 22:00 à 02:00" hides the end date - all-day: DTEND is EXCLUSIVE (RFC 5545), so a one-day event carries the next day, and a 18→20 festival carries the 21st The last one is the dangerous one: it yields a wrong date, not just an ugly one. The end day is therefore fin minus one day, computed from local components since a floating date has no timezone. DECISIONS.md records the exclusive DTEND for the sibling task, which fills the town hall's end date field straight from DTEND. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Écho du Huit
Extension Firefox qui aide les bénévoles de L'Atelier du Huit (café associatif, Cugnaux) à publier une sélection de leurs événements sur l'agenda de la mairie.
Source des événements : le calendrier Nextcloud du café. Cible : le formulaire « Proposer un événement » du site de la mairie.
Le besoin
Tous les événements du café ne vont pas sur le site de la mairie — seulement certains. L'extension sert de TODO list : pour chaque événement à venir, on voit s'il est à faire, soumis, publié (avec le lien direct) ou ignoré, et on peut le pousser vers le formulaire mairie en un clic (pré-rempli, à relire et envoyer soi-même).
Comment ça marche
- L'extension lit le calendrier Nextcloud via la session du navigateur (aucun mot de passe stocké).
- Sa page affiche les événements à venir et leur statut.
- Bouton Créer → ouvre le formulaire mairie pré-rempli ; tu relis, complètes (image à glisser à la main), puis envoies.
- Bouton Ignorer → marque l'événement (tag partagé, visible dans Nextcloud).
- Le statut publié est vérifié sur l'agenda public de la mairie.
Installation (dev)
Extension non signée, chargée comme module temporaire (pas de build, pas de runtime à installer) :
- Ouvrir
about:debugging→ Ce Firefox. - Charger un module complémentaire temporaire…
- Sélectionner
extension/manifest.json. - Cliquer l'icône de la barre d'outils → la page de la liste s'ouvre dans un onglet.
⚠️ Un module temporaire disparaît au redémarrage de Firefox : il faut le recharger via
about:debuggingà chaque session (comportement de dev attendu).
Vérifier l'extension
bunx web-ext lint --source-dir=extension
Documentation
docs/RECHERCHE.md— faits techniques vérifiés (CalDAV, champs du formulaire, valeurs du dropdown thème, structure de l'agenda, cas limites de l'ICS).docs/DECISIONS.md— choix d'architecture et leur pourquoi.CLAUDE.md— guide pour les agents qui implémentent.
Suivi
Backlog géré dans Piaire : http://localhost:3117/perso/project/echo-du-huit