feat(M15): README, README.LLM.md, LICENSE, CHANGELOG, and final cleanup

Complete the M15 documentation and final review milestone:

README.md (French, brief):
- Project description, quick start, usage, deployment link, acknowledgments
- Acknowledgments: pronotepy, icalendar, caldav, slixmpp, pydantic, openai,
  feedparser, beautifulsoup4, and inspiration from pronote-digest (Antoine Coulon)
- Author: Antoine Van Elstraete

README.LLM.md (English, AI agent guide):
- Prerequisites, installation on LXC/VPS (Debian/CentOS)
- Non-secret configuration preparation (all env vars listed)
- Secret variables clearly identified as operator-only
- Pre-deployment checks (check_secrets.py, pip check, dry-run)
- systemd/timer/logrotate installation steps
- Notes for AI agent (do not commit secrets, do not modify existing files)

LICENSE:
- Standard MIT License, copyright Antoine Van Elstraete (2026)

CHANGELOG.md:
- Initial changelog following Keep a Changelog format
- Covers M1 through M14 with milestone summaries
- Gitea Actions noted as planned/optional, not delivered

.gitignore:
- Added FEAT_* pattern for temporary work files

TODO.md:
- M15 items 1-4 checked (README, architecture docs, CHANGELOG+LICENSE, final review)
- M15 item 5 (Gitea Actions) left unchecked (optional, not done)

Co-authored-by: opencode/tech-writer <tech-writer@agents.invalid>
This commit is contained in:
2026-09-08 17:52:45 +02:00
parent b518508632
commit 2deeb83c76
6 changed files with 269 additions and 4 deletions

69
README.md Normal file
View File

@@ -0,0 +1,69 @@
# 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
```bash
# 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
```bash
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](docs/exploitation.md) pour plus de détails.
---
## 🙏 Remerciements
Ce projet repose sur les bibliothèques open-source suivantes :
- [pronotepy](https://github.com/bain3/pronotepy) — client Pronote
- [icalendar](https://github.com/collective/icalendar) — parsing iCal
- [caldav](https://github.com/python-caldav/caldav) — client CalDAV
- [slixmpp](https://github.com/poezio/slixmpp) — client XMPP
- [pydantic](https://github.com/pydantic/pydantic) — validation et configuration
- [openai](https://github.com/openai/openai-python) — synthèse IA
- [feedparser](https://github.com/kurtmckee/feedparser) — parsing RSS
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) — parsing HTML
Inspiré de [pronote-digest](https://github.com/antoine-coulon/pronote-digest) par Antoine Coulon.
---
## Licence
MIT — voir [LICENSE](LICENSE).