From 328eaeec88943a642953f4a5f3e8e0dd43aa5e9e Mon Sep 17 00:00:00 2001 From: Codex Date: Sun, 13 Sep 2026 00:23:32 +0200 Subject: [PATCH] =?UTF-8?q?docs(packaging):=20aligner=20les=20m=C3=A9tadon?= =?UTF-8?q?n=C3=A9es=20du=20projet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 ++--- README.md | 19 ++++++++++++++++++- TODO.md | 2 +- pyproject.toml | 11 ++++++----- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e6ddb6..0766828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,7 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1.0] - 2026-09-08 -Initial release covering milestones M1 through M15. +Initial release covering milestones M1 through M15, except the optional Gitea Actions workflow. ### Added - **M1 (Scaffolding)**: Python project structure with `pyproject.toml`, and tooling configuration for `ruff`, `mypy`, `bandit`, and `pre-commit`. @@ -57,5 +57,4 @@ Initial release covering milestones M1 through M15. - **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. - **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. +- **M15 (Documentation)**: README, README.LLM.md (AI agent setup guide), MIT LICENSE, CHANGELOG, and local validation procedures. Gitea Actions CI/CD remains optional and is not delivered in this release. diff --git a/README.md b/README.md index 1c93c94..9754ed3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Synchronise l'agenda et les devoirs de **Pronote** vers un calendrier **CalDAV** ```bash # Cloner le dépôt -git clone +git clone https://git.antoineve.me/AntoineVe/college-infos cd pronote-sync # Créer l'environnement virtuel @@ -48,6 +48,23 @@ 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 : + +```bash +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](docs/exploitation.md) pour plus de détails. diff --git a/TODO.md b/TODO.md index c4db21d..22c296c 100644 --- a/TODO.md +++ b/TODO.md @@ -308,5 +308,5 @@ Rédiger la documentation utilisateur et finaliser le projet. ### Critères d'acceptation - `README.md` permet d'installer et de lancer le projet sans le guide. -- Gitea Actions exécute tests + lint + sécurité. +- Les procédures locales de test, lint et sécurité sont documentées et exécutables. - Aucun secret dans la documentation. diff --git a/pyproject.toml b/pyproject.toml index d243a64..6511c6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,9 +7,10 @@ name = "pronote-sync" version = "0.1.2" description = "Synchronisation Pronote → CalDAV + XMPP" license = {text = "MIT"} +readme = "README.md" requires-python = ">=3.13.5" authors = [ - {name = "Votre Nom", email = "votre@email.com"} + {name = "Antoine Van Elstraete", email = "antoine@van-elstraete.net"} ] keywords = ["pronote", "caldav", "xmpp", "sync", "school"] classifiers = [ @@ -57,10 +58,10 @@ dev = [ pronote-sync = "pronote_sync.cli.main:main" [project.urls] -Homepage = "https://github.com/votre-utilisateur/pronote-sync" -Documentation = "https://github.com/votre-utilisateur/pronote-sync#readme" -Repository = "https://github.com/votre-utilisateur/pronote-sync" -Issues = "https://github.com/votre-utilisateur/pronote-sync/issues" +Homepage = "https://git.antoineve.me/AntoineVe/college-infos" +Documentation = "https://git.antoineve.me/AntoineVe/college-infos/wiki" +Repository = "https://git.antoineve.me/AntoineVe/college-infos" +Issues = "https://git.antoineve.me/AntoineVe/college-infos/issues" [tool.setuptools.packages.find] where = ["."]