-
released this
2026-09-08 20:41:39 +02:00 | 4 commits to main since this releaseCorrection
Corrige l'erreur au démarrage du pipeline quand
SCHOOL_HOLIDAYS_PATHpointe vers un fichier inexistant (PronoteSyncError: erreur expurgéeau niveauholidays.py:77).Changements
- Création de
data/school_holidays.json: vacances officielles de l'académie de Bordeaux (zone A) pour l'année scolaire 2026-2027, dates validées auprès du ministère de l'Éducation nationale (service-public.fr / data.education.gouv.fr).- Toussaint : 17 oct. → 2 nov. 2026
- Noël : 19 déc. 2026 → 4 janv. 2027
- Hiver : 13 fév. → 1er mars 2027
- Printemps : 10 avr. → 26 avr. 2027
- Été : 3 juil. → 1er sept. 2027
Documentation
- Page wiki GuideAgendaVacancesScolaires créée : format JSON, description des champs, comportement, zones académiques, dates officielles, exemples de configuration.
- _Sidebar mis à jour : lien ajouté sous « Guide Agenda Théorique ».
Downloads
- Création de
-
v0.1.0 — Première release Stable
released this
2026-09-08 18:33:51 +02:00 | 7 commits to main since this releaseStatut
Première release — prête pour test de déploiement. v1.0.0 sera taguée après validation d'un déploiement réel.
Politique de versionnage (phase 0.x) :
- Défauts constatés au déploiement →
0.1.1 - Ajouts ou cassures en phase 0.x →
0.2.0 - Déploiement réel validé →
1.0.0
Contenu
Release couvrant les jalons M1 à M15 : scaffolding, configuration, modèles de données, sources Pronote, blog RSS, agenda théorique, synchronisation CalDAV, comparaison d'agenda, synthèse IA, canal XMPP, orchestration du pipeline, CLI, tests, déploiement et documentation.
Ajouts
- M1 (Scaffolding) : structure de projet Python avec
pyproject.toml, configurationruff,mypy,banditetpre-commit. - M2 (Configuration & secrets) : Pydantic Settings,
SecretStrpour les champs sensibles, utilitaires de redaction (redact_url,redact_secrets,redact_exception) etRedactingFormatterpour les logs. - M3 (Data models) : 16 modèles Pydantic et 6 enums dans 10 modules, contrats figés et résultats mutables.
- M4 (Pronote sources) : fetch et parsing iCal, intégration
pronotepy.ParentClient, logique de repli pour les modesauto,icaletpronotepy, redaction des erreurs. - M5 (Blog RSS) : client RSS basé sur
feedparser, déduplication par GUID, cache HTTP (ETag/If-Modified-Since), persistanceBlogRSSState. - M6 (Theoretical agenda) : provider JSON avec parité des semaines (paire/impaire), calendrier des vacances, IDs déterministes.
- M7 (CalDAV sync) : synchronisation différentielle par UID, marqueur
X-PRONOTE-SYNC-MANAGED, opérations idempotentes, conservation des annulés, support dry-run. - M8 (Agenda diff) :
AgendaComparatoravec matching déterministe, génération deAgendaDiff/AgendaChange. - M9 (AI synthesis) : protocole
SynthesisProvider, provider OpenAI, provider optionnellitellm, provideropenai-compatibleavec mode dégradé. - M10 (XMPP channel) :
XmppChannelviaslixmpp, messages formatés (synthèse, devoirs, changements, messages, blog), gestion d'erreurs. - M11 (Pipeline orchestration) :
PipelineRunneren composition root, 7 étapes, gestion d'erreurs dégradée, mode dry-run, réutilisation iCal. - M12 (CLI entry point) : commande
pronote-syncavec--dry-runet--log-level, affichage d'erreurs expurgé, traceback sûr en DEBUG. - M13 (Tests & coverage) : 636 tests, 95,67 % de couverture, fixtures anonymisées, tests de non-fuite des secrets.
- M14 (Deployment) : systemd service et timer (quotidien à 18:00), logrotate (quotidien, 7 archives, compress),
check_secrets.py, guide d'exploitation. - M15 (Documentation) : README, README.LLM.md (guide d'installation pour agent IA), MIT LICENSE, CHANGELOG, et référence Gitea Actions CI/CD pour LXC/VPS.
- Autre : Licence MIT. Gitea Actions CI/CD pour LXC/VPS (Debian/CentOS) est planifié et optionnel.
Documentation
- Wiki Gitea — Architecture, Configuration, Déploiement, Sécurité
GUIDE_DEV_PYTHON.md— Spécification complètedocs/exploitation.md— Guide d'exploitation
Downloads
- Défauts constatés au déploiement →