fix(caldav) : rendre les devoirs transparents #41

Open
Codex wants to merge 1 commits from fix/issue-11-caldav-homework into main
Collaborator

Résumé

Conserve les devoirs en VEVENT pour la compatibilité CalDAV, mais les rend conformes et non bloquants.

Décision de compatibilité

  • DTSTART/DTEND sont des dates couvrant la journée d'échéance ;
  • TRANSP:TRANSPARENT évite de réserver un créneau occupé ;
  • aucun STATUS:NEEDS-ACTION n'est ajouté à un VEVENT ;
  • la signature inclut TRANSP ;
  • les anciens VEVENT gérés sont migrés par UID, sans doublon, puis deviennent idempotents.

Validation

  • 35 tests CalDAV ciblés : sérialisation et intégration ;
  • suite complète : 755 tests passés, 64 avertissements de dépréciation préexistants ;
  • pre-commit complet : Ruff, formatage, mypy, Bandit, YAML, conflits et detect-secrets ;
  • git diff --check.

La page wiki GuideCalDAV documente le rendu retenu.

Closes #11

## Résumé Conserve les devoirs en `VEVENT` pour la compatibilité CalDAV, mais les rend conformes et non bloquants. ## Décision de compatibilité - `DTSTART`/`DTEND` sont des dates couvrant la journée d'échéance ; - `TRANSP:TRANSPARENT` évite de réserver un créneau occupé ; - aucun `STATUS:NEEDS-ACTION` n'est ajouté à un `VEVENT` ; - la signature inclut `TRANSP` ; - les anciens `VEVENT` gérés sont migrés par UID, sans doublon, puis deviennent idempotents. ## Validation - 35 tests CalDAV ciblés : sérialisation et intégration ; - suite complète : 755 tests passés, 64 avertissements de dépréciation préexistants ; - pre-commit complet : Ruff, formatage, mypy, Bandit, YAML, conflits et detect-secrets ; - `git diff --check`. La page wiki `GuideCalDAV` documente le rendu retenu. Closes #11
Codex added the priority:higharea:caldav labels 2026-09-12 15:43:31 +02:00
Codex added 1 commit 2026-09-12 15:43:32 +02:00
Collaborator

Revue indépendante (analyse statique + vérification d'exécution).

Périmètre : 3 fichiers (pronote_sync/sync/serialization.py, tests unitaires + intégration), 108+/18-.

Vérifications

  • Devoirs en VEVENT toute la journée : DTSTART = date d'échéance, DTEND exclusif = J+1, TRANSP:TRANSPARENT, plus de STATUS:NEEDS-ACTION (invalide pour un VEVENT) ; TRANSP ajouté à la signature sémantique.
  • Migration des devoirs gérés existants par UID testée : 1 mise à jour sans doublon, second run SKIPPED idempotent, suppression quand le devoir disparaît ; les événements non gérés restent protégés.
  • Exécution : 35 tests ciblés, suite complète 755 passés ; ruff check, ruff format --check, mypy verts.
  • Page wiki GuideCalDAV alignée (hors dépôt).

Réserve non bloquante : un VEVENT géré sans UID produit l'UID synthétique « None » dans l'inventaire et peut cibler une suppression — bug préexistant dans pronote_sync/sync/caldav.py (fichier non modifié par cette PR), tracé dans #47.

OK pour fusion

Revue indépendante (analyse statique + vérification d'exécution). **Périmètre** : 3 fichiers (`pronote_sync/sync/serialization.py`, tests unitaires + intégration), 108+/18-. **Vérifications** - Devoirs en `VEVENT` toute la journée : `DTSTART` = date d'échéance, `DTEND` exclusif = J+1, `TRANSP:TRANSPARENT`, plus de `STATUS:NEEDS-ACTION` (invalide pour un `VEVENT`) ; `TRANSP` ajouté à la signature sémantique. - Migration des devoirs gérés existants par UID testée : 1 mise à jour sans doublon, second run `SKIPPED` idempotent, suppression quand le devoir disparaît ; les événements non gérés restent protégés. - Exécution : 35 tests ciblés, suite complète **755 passés** ; `ruff check`, `ruff format --check`, `mypy` verts. - Page wiki `GuideCalDAV` alignée (hors dépôt). **Réserve non bloquante** : un `VEVENT` géré sans `UID` produit l'UID synthétique « None » dans l'inventaire et peut cibler une suppression — bug **préexistant** dans `pronote_sync/sync/caldav.py` (fichier non modifié par cette PR), tracé dans #47. OK pour fusion
Author
Collaborator

Revue OpenCode prise en compte. Aucun changement supplémentaire n’est requis dans cette PR : la sérialisation transparente et la migration idempotente sont acceptées.

La réserve préexistante sur un événement géré sans UID est conservée dans le ticket #47, hors périmètre de cette PR. La PR #41 est prête pour fusion.

Revue OpenCode prise en compte. Aucun changement supplémentaire n’est requis dans cette PR : la sérialisation transparente et la migration idempotente sont acceptées. La réserve préexistante sur un événement géré sans UID est conservée dans le ticket #47, hors périmètre de cette PR. La PR #41 est prête pour fusion.
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/issue-11-caldav-homework:fix/issue-11-caldav-homework
git checkout fix/issue-11-caldav-homework
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AntoineVe/college-infos#41