PRONOTE_ENT était incorrectement traité comme obligatoire, bloquant le pipeline quand l'ENT n'est pas configuré. Permet désormais la connexion directe à Pronote sans ENT (ent=None), conformément à la spécification (GUIDE_DEV_PYTHON.md §3.1.2). Corrige deux bugs : - Mode pronotepy explicite sans PRONOTE_ENT : erreur « ent sont requis » - Mode auto sans iCal ni PRONOTE_ENT : erreur « ni la source iCal ni pronotepy n'est configurée » alors que les credentials sont présents Changements : - client.py : _connect() n'exige plus ent, résolution conditionnelle - fallback.py : _is_pronotepy_configured() sans vérifier ent - tests : 10 tests de régression (RED→GREEN) Co-authored-by: opencode/coder litellm/coder@agents.invalid Co-authored-by: opencode/test-engineer litellm/test-engineer@agents.invalid
pronote-sync
Synchronisation Pronote → CalDAV + XMPP.
Synchronise l'agenda et les devoirs de Pronote vers un calendrier CalDAV et envoie un résumé quotidien par XMPP. Supporte les sources iCal et pronotepy avec repli automatique. Synthèse IA optionnelle.
🚀 Démarrage rapide
# Cloner le dépôt
git clone <repo-url>
cd pronote-sync
# Créer l'environnement virtuel
python3.13 -m venv .venv
source .venv/bin/activate
# Installer
pip install -e ".[dev]"
# Configurer
cp .env.example .env
# Éditer .env avec vos paramètres (voir .env.example pour le détail)
# Tester
pronote-sync --dry-run --log-level DEBUG
📖 Utilisation
pronote-sync # Exécute la synchronisation
pronote-sync --dry-run # Simulation sans écriture
pronote-sync --log-level DEBUG # Verbosité des journaux
🛠️ Déploiement
Les artefacts pour systemd/timer et logrotate sont fournis dans deploy/. Voir docs/exploitation.md pour plus de détails.
🙏 Remerciements
Ce projet repose sur les bibliothèques open-source suivantes :
- pronotepy — client Pronote
- icalendar — parsing iCal
- caldav — client CalDAV
- slixmpp — client XMPP
- pydantic — validation et configuration
- openai — synthèse IA
- feedparser — parsing RSS
- beautifulsoup4 — parsing HTML
Inspiré de pronote-digest par Yoan Bernabeu.
Licence
MIT — voir LICENSE.
Releases
2
Languages
Python
100%