2.8 KiB
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 https://git.antoineve.me/AntoineVe/college-infos
cd college-infos
# 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 : lectures autorisées, aucune écriture persistante ni sortie distante
pronote-sync --log-level DEBUG # Verbosité des journaux
En --dry-run, les données peuvent être lues pour construire la simulation, mais aucun état local
de source n'est enregistré : l'état RSS reste en mémoire pendant l'exécution. Les écritures CalDAV
et l'envoi XMPP sont également désactivés. Le mode
PRONOTE_AUTH_MODE=qr_token est refusé avant toute connexion, car la rotation de son token ne peut
pas garantir un état persistant cohérent pendant une simulation.
Validation et CI
Aucun workflow Gitea Actions n'est livré actuellement. Les validations du projet sont donc exécutées localement avec les commandes suivantes :
pytest
ruff check .
mypy .
bandit -r pronote_sync/
pre-commit run --all-files regroupe également les contrôles de formatage, typage, sécurité et
détection de secrets.
🛠️ 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.