Pierre MartinandClaude Opus 4.8 1878ba08ec feat: parse iCalendar feed into Event[] (T1)
Add a pure parser parserEvenements(flux, aujourdhui) backed by vendored
ical.js v2.2.1 (ESM, no build). Returns events at the frozen Event contract
{ uid, titre, description, lieu, debut, fin, categories, journeeEntiere }:

- register embedded VTIMEZONE before toJSDate (correct offset, e.g. Africa/Lagos)
- dedupe by UID, keep the master (RECURRENCE-ID exceptions ignored)
- filter to today and future (local start of day)
- coerce missing text fields to ""

Edge cases deferred to T3 (RRULE expansion, all-day hour) are documented.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 01:18:29 +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%