• v0.1.1 c851f67172

    AntoineVe released this 2026-09-08 20:41:39 +02:00 | 4 commits to main since this release

    Correction

    Corrige l'erreur au démarrage du pipeline quand SCHOOL_HOLIDAYS_PATH pointe vers un fichier inexistant (PronoteSyncError: erreur expurgée au niveau holidays.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
  • v0.1.0 0be02a660a

    AntoineVe released this 2026-09-08 18:33:51 +02:00 | 7 commits to main since this release

    Statut

    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, configuration ruff, mypy, bandit et pre-commit.
    • M2 (Configuration & secrets) : Pydantic Settings, SecretStr pour les champs sensibles, utilitaires de redaction (redact_url, redact_secrets, redact_exception) et RedactingFormatter pour 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 modes auto, ical et pronotepy, redaction des erreurs.
    • M5 (Blog RSS) : client RSS basé sur feedparser, déduplication par GUID, cache HTTP (ETag/If-Modified-Since), persistance BlogRSSState.
    • 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) : AgendaComparator avec matching déterministe, génération de AgendaDiff/AgendaChange.
    • M9 (AI synthesis) : protocole SynthesisProvider, provider OpenAI, provider optionnel litellm, provider openai-compatible avec mode dégradé.
    • M10 (XMPP channel) : XmppChannel via slixmpp, messages formatés (synthèse, devoirs, changements, messages, blog), gestion d'erreurs.
    • M11 (Pipeline orchestration) : PipelineRunner en composition root, 7 étapes, gestion d'erreurs dégradée, mode dry-run, réutilisation iCal.
    • M12 (CLI entry point) : commande pronote-sync avec --dry-run et --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ète
    • docs/exploitation.md — Guide d'exploitation
    Downloads