Compare commits
5 Commits
m15-docume
...
docs/guide
| Author | SHA1 | Date | |
|---|---|---|---|
|
bb8a6539bc
|
|||
|
4ac5be4c8d
|
|||
|
fdd3310462
|
|||
|
0be02a660a
|
|||
|
d85733116a
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -54,6 +54,7 @@ Thumbs.db
|
|||||||
FIXME_*
|
FIXME_*
|
||||||
FEAT_*
|
FEAT_*
|
||||||
TEST_*
|
TEST_*
|
||||||
|
HANDOFF.md
|
||||||
.worktrees/
|
.worktrees/
|
||||||
|
|
||||||
# --- Logs ---
|
# --- Logs ---
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [0.1.0] - 2026-09-08
|
## [0.1.0] - 2026-09-08
|
||||||
|
|
||||||
Initial release covering milestones M1 through M14.
|
Initial release covering milestones M1 through M15.
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- **M1 (Scaffolding)**: Python project structure with `pyproject.toml`, and tooling configuration for `ruff`, `mypy`, `bandit`, and `pre-commit`.
|
- **M1 (Scaffolding)**: Python project structure with `pyproject.toml`, and tooling configuration for `ruff`, `mypy`, `bandit`, and `pre-commit`.
|
||||||
@@ -24,4 +24,5 @@ Initial release covering milestones M1 through M14.
|
|||||||
- **M12 (CLI entry point)**: `pronote-sync` command with `--dry-run` and `--log-level` options, redacted error display, and safe traceback in DEBUG mode.
|
- **M12 (CLI entry point)**: `pronote-sync` command with `--dry-run` and `--log-level` options, redacted error display, and safe traceback in DEBUG mode.
|
||||||
- **M13 (Tests & coverage)**: 636 tests with 95.67% coverage, test fixtures (`pronote-4e.ics`, `pronote-6e.ics`), shared `conftest.py`, and secret non-leak tests.
|
- **M13 (Tests & coverage)**: 636 tests with 95.67% coverage, test fixtures (`pronote-4e.ics`, `pronote-6e.ics`), shared `conftest.py`, and secret non-leak tests.
|
||||||
- **M14 (Deployment)**: systemd service and timer (daily at 18:00), logrotate configuration (daily, rotate 7, compress), `check_secrets.py` pre-deployment scanner, and exploitation guide.
|
- **M14 (Deployment)**: systemd service and timer (daily at 18:00), logrotate configuration (daily, rotate 7, compress), `check_secrets.py` pre-deployment scanner, and exploitation guide.
|
||||||
|
- **M15 (Documentation)**: README, README.LLM.md (AI agent setup guide), MIT LICENSE, CHANGELOG, and Gitea Actions CI/CD reference for LXC/VPS (Debian/CentOS).
|
||||||
- **Other**: MIT License. Gitea Actions CI/CD reference for LXC/VPS (Debian/CentOS) is planned and optional, not delivered in this release.
|
- **Other**: MIT License. Gitea Actions CI/CD reference for LXC/VPS (Debian/CentOS) is planned and optional, not delivered in this release.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Guide de Développement : Synchronisation Pronote → CalDAV + XMPP (Python)
|
# Guide de Développement : Synchronisation Pronote → CalDAV + XMPP (Python)
|
||||||
|
|
||||||
> **Statut** : Guide de référence pour un futur projet Python inspiré de [`pronote-digest`](https://github.com/antoine-coulon/pronote-digest) (TypeScript).
|
> **Statut** : Guide de référence pour un futur projet Python inspiré de [`pronote-digest`](https://github.com/yoanbernabeu/pronote-digest) (TypeScript) par [Yoan Bernabeu](https://yoanbernabeu.github.io/pronote-digest/).
|
||||||
> **Public cible** : Développeurs Python (≥ 3.13.5) familiers avec les concepts de CLI, synchronisation de calendriers et messagerie instantanée.
|
> **Public cible** : Développeurs Python (≥ 3.13.5) familiers avec les concepts de CLI, synchronisation de calendriers et messagerie instantanée.
|
||||||
> **Objectif** : Fournir une base architecturale et technique pour un outil **synchronisant l'agenda Pronote vers CalDAV**, **comparant avec un agenda théorique**, **récupérant messages et informations**, et **envoyant une synthèse par XMPP**.
|
> **Objectif** : Fournir une base architecturale et technique pour un outil **synchronisant l'agenda Pronote vers CalDAV**, **comparant avec un agenda théorique**, **récupérant messages et informations**, et **envoyant une synthèse par XMPP**.
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ Ce projet repose sur les bibliothèques open-source suivantes :
|
|||||||
- [feedparser](https://github.com/kurtmckee/feedparser) — parsing RSS
|
- [feedparser](https://github.com/kurtmckee/feedparser) — parsing RSS
|
||||||
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) — parsing HTML
|
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) — parsing HTML
|
||||||
|
|
||||||
Inspiré de [pronote-digest](https://github.com/antoine-coulon/pronote-digest) par Antoine Coulon.
|
Inspiré de [pronote-digest](https://github.com/yoanbernabeu/pronote-digest) par [Yoan Bernabeu](https://yoanbernabeu.github.io/pronote-digest/).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
31
data/school_holidays.json
Normal file
31
data/school_holidays.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"zone": "A",
|
||||||
|
"school_year": "2026-2027",
|
||||||
|
"periods": [
|
||||||
|
{
|
||||||
|
"start_date": "2026-10-17",
|
||||||
|
"end_date": "2026-11-02",
|
||||||
|
"label": "Toussaint"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start_date": "2026-12-19",
|
||||||
|
"end_date": "2027-01-04",
|
||||||
|
"label": "Noël"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start_date": "2027-02-13",
|
||||||
|
"end_date": "2027-03-01",
|
||||||
|
"label": "Hiver"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start_date": "2027-04-10",
|
||||||
|
"end_date": "2027-04-26",
|
||||||
|
"label": "Printemps"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start_date": "2027-07-03",
|
||||||
|
"end_date": "2027-09-01",
|
||||||
|
"label": "Été"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user