aa8865c22dc754f63cff43fa77bd28a9e2842c75
Le champ pronote_url dans PronoteSettings avec env_prefix=PRONOTE_ produisait PRONOTE_PRONOTE_URL au lieu de PRONOTE_URL. La variable documentée dans .env.example et tous les guides était donc ignorée. Renomme le champ pronote_url → url pour que le mécanisme standard env_prefix + nom de champ produise PRONOTE_URL. Toutes les références au champ settings.pronote.pronote_url sont mises à jour vers settings.pronote.url dans le code de production et les tests. Changements : - settings.py : champ pronote_url → url, retrait du contournement alias - client.py : self._settings.pronote_url → self._settings.url - fallback.py : pronote.pronote_url → pronote.url - tests : mises à jour des constructions et assertions, test de régression pour le mapping PRONOTE_URL → url 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%