Extension Firefox pour publier une sélection d'événements du calendrier Nextcloud de L'Atelier du Huit vers l'agenda de la mairie de Cugnaux. - README : vue d'ensemble et installation - CLAUDE.md : guide agent et contraintes structurantes - docs/RECHERCHE.md : faits techniques vérifiés (CalDAV, formulaire, agenda, ICS) - docs/DECISIONS.md : choix d'architecture et leur pourquoi - package.json : Bun comme outil de dev minimaliste (pas de build au runtime) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Guide agent — Écho du Huit
Extension Firefox (Manifest V3) qui pousse une sélection d'événements du
calendrier Nextcloud de L'Atelier du Huit vers le formulaire de l'agenda mairie
de Cugnaux. Voir README.md pour la vue d'ensemble.
Avant de coder
- Lis
docs/RECHERCHE.md: faits vérifiés (URLs, ids de champs, valeurs du thème, structure de l'agenda, cas limites de l'ICS). Ne redécouvre pas ce qui y est déjà confirmé. - Lis
docs/DECISIONS.md: choix actés et leur pourquoi. Ne les relitige pas sans raison nouvelle. - Le backlog vit dans Piaire (tenant
perso, projetecho-du-huit). Le code est la seule source de vérité du comportement réel.
Contraintes structurantes (ne pas violer sans accord)
- JS vanilla, pas de build, pas de runtime. L'extension tourne dans le
navigateur. Pas de Bun/Node au runtime, pas de bundler. Dépendance externe
uniquement si vendorée en
.js(ex.ical.jsde Mozilla pour le parsing). Bun est autorisé uniquement comme outil de dev (bun test, vendoring) — jamais embarqué dans l'extension livrée. - Aucun secret stocké. L'accès Nextcloud passe par la session du navigateur
(
credentials: 'include'+host_permissions). Ne jamais écrire de mot de passe dans le repo ou la config. - Pas d'auto-submit du formulaire mairie. On pré-remplit le DOM ; l'humain relit, complète et envoie. Le formulaire est modéré et les descriptions méritent souvent un enrichissement.
- Image = manuelle. Un content script ne peut pas remplir un
<input type=file>. L'extension aide à glisser l'affiche, ne l'injecte pas. - Statut partagé dans Nextcloud. ignoré / soumis = tag
CATEGORIESécrit en CalDAV (visible par tous les bénévoles, durable). publié = dérivé de l'agenda mairie. Pas d'état privé local pour ces statuts.
Conventions
- Code simple et expressif ; commentaires seulement pour le pourquoi.
- Nouveaux paramètres/fonctions : obligatoires par défaut (optionnels seulement si la rétrocompat l'exige).
- Messages et UI en français (public = bénévoles associatifs).
- TDD quand c'est pertinent.
Ne pas committer
config.local.json (organisateur/email), artefacts de packaging, .env.