Pierre MartinandClaude Opus 4.8 596b5e22fd feat: show the event time range, not just its start
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>
2026-07-17 11:55:23 +02:00

É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

  1. L'extension lit le calendrier Nextcloud via la session du navigateur (aucun mot de passe stocké).
  2. Sa page affiche les événements à venir et leur statut.
  3. Bouton Créer → ouvre le formulaire mairie pré-rempli ; tu relis, complètes (image à glisser à la main), puis envoies.
  4. Bouton Ignorer → marque l'événement (tag partagé, visible dans Nextcloud).
  5. 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) :

  1. Ouvrir about:debugging → Ce Firefox.
  2. Charger un module complémentaire temporaire…
  3. Sélectionner extension/manifest.json.
  4. 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

S
Description
Extension Firefox permettant de partager les évènements de l'Atelier du 8 sur le site de la mairie de Cugnaux
Readme
30 KiB
Languages
TypeScript 51.6%
JavaScript 45.4%
CSS 2.5%
HTML 0.5%