Erreur pronotepy 20 « La page a expiré ! (11) » sur get_informations #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptôme
À chaque run, la récupération des informations Pronote échoue systématiquement avec l'erreur :
L'erreur est attrapée et dégradée en liste vide (mode dégradé) — le pipeline continue normalement, mais les informations Pronote ne sont jamais récupérées.
Comportement observé
pronotepy.ParentClient.post()envoie la requêtePageActualites{"Erreur": {"G": 20, "Titre": "La page a expiré ! (11)"}}refresh()→ re-login en mode token → succèsPageActualites→ même erreur 20PronoteAPIErrorremonte àPronoteClient.get_informations()qui l'attrape et retourne[]Le refresh ne résout pas le problème — l'erreur 20 se reproduit systématiquement après le refresh.
Analyse préliminaire
get_informations()(qui appelleclient.information_and_surveys()→self.post("PageActualites", ...))get_lessons()etget_homeworks()fonctionnent correctement (144 événements récupérés)Hypothèses à investiguer
PageActualitespourrait ne pas être disponible ou nécessiter un paramétrage différent pour les comptes parent via QR tokenqr_token(vspassword) pourrait limiter l'accès à certaines fonctionnalités Pronoteclient_identifierou ledevice_namepourraient être requis pour cet endpoint spécifiqueinformation_and_surveys()en mode tokenLog DEBUG
Un log complet en niveau DEBUG est disponible dans
/tmp/opencode/20260910135000-pronote-debug.log.Contexte
qr_tokenactivé0640036s.index-education.net(Bordeaux, HubEduConnect)Attendu
Investiguer la cause de l'erreur 20 sur
PageActualitesen modeqr_tokenet déterminer si :Si c'est une limitation non corrigeable côté pronote-sync, documenter le comportement et envisager de désactiver
get_informations()proprement en modeqr_tokenplutôt que de logger une erreur à chaque run.Issue GitHub pronotepy liée
L'issue upstream bain3/pronotepy#309 (« Error after some period using QR or token login ») documente exactement notre problème :
PronoteAPIError: Unknown error from pronote: 8 | La page a expiré ! (1)(variation de l'erreur 20 selon la version de pronotepy)client.session_check()ne résolvent pas l'expirationStatut upstream : ouvert (septembre 2024), non corrigé dans la 2.15.7.
Lien avec le ticket #20
L'issue bain3/pronotepy#344 est également pertinente car elle explique pourquoi le
refresh()de pronotepy déclenche des authentifications supplémentaires au lieu de réutiliser la session existante.