Les PR #31, #32 et #33 ont été revues et fusionnées, mais leur empilement utilise des branches intermédiaires. Cette PR intègre la tête de la chaîne dans main afin que les trois correctifs soient effectivement présents sur la branche par défaut.
Les changements de #31 déjà présents dans main ne sont pas dupliqués ; le diff porte sur l'intégration de #32/#33 et leurs corrections mineures validées :
consolidation prudente des cours déplacés et annulations ambiguës ;
sélection du prochain jour de cours effectif ;
tests associés.
Validation
754 tests passés ;
couverture 94,89 % ;
Ruff check et format ;
mypy strict ;
bandit ;
pre-commit, dont detect-secrets ;
git diff --check.
La validation est locale et mockée, sans flux Pronote ou serveur CalDAV réels.
## Objet
Les PR #31, #32 et #33 ont été revues et fusionnées, mais leur empilement utilise des branches intermédiaires. Cette PR intègre la tête de la chaîne dans `main` afin que les trois correctifs soient effectivement présents sur la branche par défaut.
Les changements de #31 déjà présents dans `main` ne sont pas dupliqués ; le diff porte sur l'intégration de #32/#33 et leurs corrections mineures validées :
- consolidation prudente des cours déplacés et annulations ambiguës ;
- sélection du prochain jour de cours effectif ;
- tests associés.
## Validation
- 754 tests passés ;
- couverture 94,89 % ;
- Ruff check et format ;
- mypy strict ;
- bandit ;
- pre-commit, dont detect-secrets ;
- git diff --check.
La validation est locale et mockée, sans flux Pronote ou serveur CalDAV réels.
Elle est nécessaire car #32 et #33 avaient été fusionnées dans des branches intermédiaires plutôt que dans main. Après résolution de cette divergence historique, le diff contient bien le code de #32/#33 sans dupliquer le contenu déjà livré par #31.
Tête contrôlée : ca29319b2b18c15c3b73897986449605429210b2.
Validation finale sur cette tête :
754 tests passés ;
couverture 94,89 % ;
Ruff check et format ;
mypy strict ;
bandit ;
pre-commit/detect-secrets ;
git diff --check.
Aucun flux Pronote ou serveur CalDAV réel n’a été sollicité.
## Revue d’intégration — validée ✅
La PR est approuvée pour fusion en **squash**.
Elle est nécessaire car #32 et #33 avaient été fusionnées dans des branches intermédiaires plutôt que dans `main`. Après résolution de cette divergence historique, le diff contient bien le code de #32/#33 sans dupliquer le contenu déjà livré par #31.
Tête contrôlée : `ca29319b2b18c15c3b73897986449605429210b2`.
Validation finale sur cette tête :
- 754 tests passés ;
- couverture 94,89 % ;
- Ruff check et format ;
- mypy strict ;
- bandit ;
- pre-commit/detect-secrets ;
- `git diff --check`.
Aucun flux Pronote ou serveur CalDAV réel n’a été sollicité.
Codex
merged commit 573705a3d0 into main2026-09-12 15:00:33 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objet
Les PR #31, #32 et #33 ont été revues et fusionnées, mais leur empilement utilise des branches intermédiaires. Cette PR intègre la tête de la chaîne dans
mainafin que les trois correctifs soient effectivement présents sur la branche par défaut.Les changements de #31 déjà présents dans
mainne sont pas dupliqués ; le diff porte sur l'intégration de #32/#33 et leurs corrections mineures validées :Validation
La validation est locale et mockée, sans flux Pronote ou serveur CalDAV réels.
Revue d’intégration — validée ✅
La PR est approuvée pour fusion en squash.
Elle est nécessaire car #32 et #33 avaient été fusionnées dans des branches intermédiaires plutôt que dans
main. Après résolution de cette divergence historique, le diff contient bien le code de #32/#33 sans dupliquer le contenu déjà livré par #31.Tête contrôlée :
ca29319b2b18c15c3b73897986449605429210b2.Validation finale sur cette tête :
git diff --check.Aucun flux Pronote ou serveur CalDAV réel n’a été sollicité.