Commit Graph
139 Commits
Author SHA1 Message Date
Codex c8c282bf75 refactor(config): migrer CalDAV vers l'endpoint commun 2026-09-13 12:10:41 +02:00
Codex 93f66d6aca refactor(config): introduire l'endpoint CalDAV commun
Co-authored-by: Codex <codex@antoineve.me>
2026-09-13 11:50:20 +02:00
OpenCode 6609d5c4ca Merge pull request #54 from fix/issue-50-exception-context 2026-09-13 09:55:04 +02:00
OpenCode 839fdd202a Merge pull request #53 from fix/issue-48-pin-secret-scan 2026-09-13 09:54:58 +02:00
Codex eef81ea323 fix(docs): corriger le répertoire de clonage
Closes #56

Co-authored-by: Codex <codex@antoineve.me>
2026-09-13 00:25:28 +02:00
Codex a21acaa409 docs(packaging): aligner les métadonnées du projet
Closes #18

Co-authored-by: Codex <codex@antoineve.me>
2026-09-13 00:24:10 +02:00
Codex dee5fe8eff fix(security): neutraliser le contexte des erreurs expurgées 2026-09-13 00:21:41 +02:00
Codex 7387f9a78d fix(security): limiter PIN aux affectations 2026-09-13 00:17:07 +02:00
Codex 894f5d137a fix(security): détecter les PIN Pronote littéraux 2026-09-13 00:16:25 +02:00
Codex f261fed1af fix(blog): confirmer l'état mémoire après sauvegarde
Closes #49

Co-authored-by: Codex <codex@antoineve.me>
2026-09-13 00:15:07 +02:00
Codex e6f0659cbf fix(caldav): ignorer les événements gérés sans UID
Closes #47

Co-authored-by: Codex <codex@antoineve.me>
2026-09-13 00:13:29 +02:00
OpenCode 50c3696b06 Merge pull request 'fix(security) : ignorer les placeholders URL documentaires' (#36) from fix/issue-34-secret-placeholder into main 2026-09-12 23:58:01 +02:00
OpenCode c0a1c5ca62 Merge pull request 'feat(auth) : prendre en charge le PIN de compte Pronote' (#37) from feat/issue-8-account-pin into main 2026-09-12 23:57:48 +02:00
OpenCode 52c791695c Merge remote-tracking branch 'origin/main' into feat/issue-8-account-pin
# Conflicts:
#	docs/exploitation.md
2026-09-12 23:57:06 +02:00
OpenCode 9433a69d70 Merge pull request 'fix(blog) : acquitter les GUID après livraison XMPP' (#39) from fix/issue-12-blog-delivery into main 2026-09-12 23:54:12 +02:00
OpenCode 4f95ca9256 Merge pull request 'fix(cli) : rendre les exécutions dégradées observables' (#40) from fix/issue-13-observable-status into main 2026-09-12 23:53:58 +02:00
OpenCode 81ff7238dd Merge pull request 'fix(caldav) : rendre les devoirs transparents' (#41) from fix/issue-11-caldav-homework into main 2026-09-12 23:53:44 +02:00
Codex c47325ef14 fix(security): durcir les placeholders URL documentaires 2026-09-12 22:25:29 +02:00
Codex fba5a060df fix(auth): corriger les retours de revue du PIN Pronote 2026-09-12 22:20:09 +02:00
OpenCode 1f03b114a9 Merge pull request 'docs(auth): rendre la référence Pronote vérifiable' (#45) from docs/issue-10-pronote-auth-reference into main 2026-09-12 21:18:05 +02:00
OpenCode 4c6b8dbee8 Merge remote-tracking branch 'origin/main' into docs/issue-10-pronote-auth-reference 2026-09-12 21:17:35 +02:00
OpenCode 423a32f220 docs(pronote-auth): reconstruire le source LaTeX et régénérer le PDF
Les fichiers de chapitres référencés par docs/pronote-auth.tex (preamble, frontmatter, ch-*, annex-*) n'avaient jamais été committés, rendant le PDF non reproductible. Reconstitution fidèle depuis docs/pronote-auth.md, correction des instructions de compilation (TEXINPUTS + -output-directory), ajout de l'Annexe C, du Glossaire et de l'Historique des révisions, PDF régénéré (27 pages).
2026-09-12 21:17:23 +02:00
OpenCode 79ef5434ee Merge pull request 'refactor(ia): unifier le contrat AI_BASE_URL entre les providers' (#43) from refactor/issue-17-ai-base-url into main 2026-09-12 20:00:41 +02:00
OpenCode d5e4964887 Merge remote-tracking branch 'origin/main' into refactor/issue-17-ai-base-url
# Conflicts:
#	.secrets.baseline
2026-09-12 19:58:13 +02:00
OpenCode 35e93cc993 Merge pull request 'fix(pronote): ignorer les informations en mode qr_token' (#44) from fix/issue-21-qr-token-informations into main 2026-09-12 19:21:25 +02:00
OpenCode 9cd3918291 Merge pull request 'fix(config): refuser les fenêtres de synchronisation négatives' (#42) from fix/issue-14-negative-sync-window into main 2026-09-12 19:21:08 +02:00
OpenCode f421a386f5 refactor(ia): unifier le contrat AI_BASE_URL entre les providers
Applique une validation structurelle partagée (https, absence de credentials et de paramètres sensibles, aucun ajout /v1) aux providers openai, litellm et openai-compatible ; homogénéise les warnings expurgés et durcit le parsing pour que la factory ne lève jamais.

Refs #17
2026-09-12 19:20:03 +02:00
OpenCode 79858a0849 fix(pronote): ignorer les informations en mode qr_token
En mode qr_token, get_informations() retourne [] sans connexion ni verrou, ce qui évite l'échec systématique de PageActualites (erreur pronotepy 20) et le refresh redondant du token sur les instances HubEduConnect.

Refs #21
Refs #20
2026-09-12 19:20:03 +02:00
OpenCode 8efac8645b docs(auth): rendre la référence Pronote vérifiable
Qualifie sources et hypothèses (pronotepy 2.15.7, 2026-09-12), corrige le nombre d'ENT, exclut CAS/SAML/EduConnect générique, aligne la procédure QR sur .env.example et supprime les exemples copiables.

Refs #10
2026-09-12 19:18:28 +02:00
OpenCode 8c6a0e3f29 fix(config): refuser les fenêtres de synchronisation négatives
Contraint SYNC_PAST_DAYS et SYNC_FUTURE_DAYS à ge=0 et documente l'effet réel de 0 jour (le jour courant reste inclus).

Refs #14
2026-09-12 19:18:27 +02:00
Codex 4ad62ad50f Merge branch 'main' into feat/issue-8-account-pin
# Conflicts:
#	docs/exploitation.md
2026-09-12 18:11:57 +02:00
Codex 6575a5f60b fix(caldav): rendre les devoirs transparents 2026-09-12 15:43:12 +02:00
Codex 5bd97402bf fix(cli): exposer les executions degradees 2026-09-12 15:37:11 +02:00
Codex 75dd78ee1e fix(blog): acquitter les GUID apres livraison XMPP 2026-09-12 15:33:59 +02:00
Codex 6bb8ad1ed1 docs(deploiement) : imposer les permissions de la configuration
Aligne la documentation d'exploitation et le wiki sur les permissions protegees des secrets et de l'etat d'authentification.

Co-authored-by: Codex <codex@antoineve.me>
2026-09-12 15:26:57 +02:00
Codex 2d55ac8d2b feat(auth): prendre en charge le PIN de compte Pronote 2026-09-12 15:18:00 +02:00
Codex 0ff6e687b6 fix(security): ignorer les placeholders URL documentaires 2026-09-12 15:17:54 +02:00
Codex 573705a3d0 chore(integration): intégrer les PR Pronote critiques dans main
Revue Codex validée. Intégration dans main de la chaîne des PR #31, #32 et #33.

Co-authored-by: Codex <codex@antoineve.me>
Co-committed-by: Codex <codex@antoineve.me>
2026-09-12 15:00:32 +02:00
Codex d45d38d365 fix(ical): fiabiliser le parsing Pronote 2026
Revue Codex validée. Corrections de parsing iCal, conservation du contexte des devoirs et fixtures anonymisées.

Co-authored-by: Codex <codex@antoineve.me>
Co-committed-by: Codex <codex@antoineve.me>
2026-09-12 14:54:55 +02:00
AntoineVe f194ed985d fix(xmpp): corriger le timeout XMPP — TLS mode + timeouts de connexion/cleanup (#25) (#26) 2026-09-11 17:25:21 +02:00
AntoineVe d124f78b55 fix(dry-run) : garantir une simulation sans persistance (#24) 2026-09-11 12:00:40 +02:00
Codex 0dd4ee68c1 docs: define strict dry-run contract
# Conflicts:
#	.secrets.baseline
2026-09-11 11:57:21 +02:00
Codex fde8fbe264 fix: reject QR token dry-run 2026-09-11 11:44:13 +02:00
Codex 145dace289 fix: wire dry-run source state policy 2026-09-11 11:44:13 +02:00
Codex 642bbf16c1 fix: prevent source state writes in dry-run 2026-09-11 11:44:13 +02:00
AntoineVe 2b82ffb38d fix(auth) : sérialiser le cycle QR/token local (#23) 2026-09-11 11:41:57 +02:00
Codex 4228c1e636 fix: ignore QR token lockfile 2026-09-10 23:41:19 +02:00
Codex 8b924b55d1 docs: document QR token state locking 2026-09-10 21:26:43 +02:00
Codex 22a662ab39 fix: serialize QR token client operations 2026-09-10 21:24:11 +02:00
Codex 5188761209 fix: add QR token state lock primitive 2026-09-10 21:15:08 +02:00