fix: persister le token après chaque opération de données + corriger doc QR code
Cause racine : pronotepy peut rafraîchir (rotater) le token en mémoire pendant l'exécution via refresh() automatique après une PronoteAPIError. L'ancien code ne persistait les credentials qu'après le login initial, pas après les opérations de données. Le token roté en mémoire était perdu → au run suivant, token_login échouait avec le token périmé (KeyError 'dataSec'). Correction : - PronoteClient._persist_credentials() : méthode centralisée qui persiste export_credentials() après chaque opération réussie (get_lessons, get_homeworks, get_messages, get_informations) - Le token rafraîchi par le serveur pendant l'exécution est maintenant toujours persisté, même si le pipeline échoue ensuite Documentation : - .env.example : variables QR plus visibles (exemple qr_token décommentable) - AGENTS.md : QR code depuis le site web Pronote (pas l'app mobile), persistance après chaque opération de données - Wiki GuidePronote : procédure corrigée (site web, pas app Android/iOS), mention de la persistance après chaque opération Tests : 5 nouveaux tests de persistance (691 passés, couverture 94.92%)
This commit is contained in:
16
.env.example
16
.env.example
@@ -11,17 +11,17 @@ PRONOTE_AGENDA_SOURCE=auto
|
||||
PRONOTE_HOMEWORK_SOURCE=auto
|
||||
PRONOTE_MESSAGES_SOURCE=pronotepy
|
||||
|
||||
# Mode d'authentification Pronote
|
||||
# "password" (défaut) : authentification classique URL + identifiant + mot de passe
|
||||
# "qr_token" : authentification par QR code puis token persistant
|
||||
# --- Authentification Pronote ---
|
||||
# Mode d'authentification : "password" (défaut) ou "qr_token"
|
||||
# qr_token : pour les instances utilisant HubEduConnect/EduConnect où le mot de passe échoue
|
||||
# Voir le wiki GuidePronote pour la procédure d'enrôlement QR code
|
||||
PRONOTE_AUTH_MODE=password
|
||||
|
||||
# Fichier JSON du QR code Pronote (enrôlement initial, mode qr_token uniquement)
|
||||
# À générer depuis l'application mobile Pronote. Le QR code expire ~10 minutes.
|
||||
# --- Mode qr_token (décommenter et renseigner pour l'authentification par QR code) ---
|
||||
# Le QR code se génère sur le site web Pronote (espace parent > paramètres > QR code)
|
||||
# Le QR code expire ~10 minutes après génération
|
||||
# PRONOTE_AUTH_MODE=qr_token
|
||||
# PRONOTE_QR_CODE_FILE=/path/to/qr_code.json
|
||||
|
||||
# PIN à 4 chiffres pour l'enrôlement QR code (mode qr_token uniquement)
|
||||
# SENSIBLE : ne jamais committer cette valeur
|
||||
# PRONOTE_QR_PIN=1234
|
||||
|
||||
# --- CalDAV ---
|
||||
|
||||
Reference in New Issue
Block a user