Login via QR code ou identifiants failed sur ent e-lyco (44) - Atlas Debian 11.8

Bonjour à tous et surtout à @Aldarande que je ne remercierais jamais assez d’avoir repris le flambeau Pronote.

Je reste bloqué sur le login, aussi bien en QR code qu’avec les identifiant et aussi bien avec le compte parent qu’élève.
Je suis sur une Atlas en Debian 11.8, tout est au vert. Dernière version du plugin (2025-04-25 01:18:36)

  • A l’installation / activation, le demon est NOK jusqu’à ce que je le (re)démarre manuellement.
[2025-05-25 21:48:20] INFO  : Le dossier /var/www/html/plugins/ProJote/data/ a été supprimé avec succès.
[2025-05-25 21:48:21] DEBUG  : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=ProJote function=remove callInstallFunction=1
[2025-05-25 21:50:04] INFO  : Début d'activation du plugin
[2025-05-25 21:50:05] INFO  : Info sur le démon : {"log":"ProJote","state":"nok","launchable":"ok","launchable_message":"Gestion automatique d\u00e9sactiv\u00e9e","auto":"0","last_launch":"Inconnue"}
[2025-05-25 21:50:05] DEBUG  : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=ProJote function=install callInstallFunction=1

Voici les logs debug:

  • Mode login eleve:
    Croix rouge après la validation
[2025-05-25 20:59:11] DEBUG  : Ajax:: Validation de login : ent_elyco c.bato4 https://0442052s.index-education.net/pronote/eleve.html
[2025-05-25 20:59:11] DEBUG  : Ajax:: Commande de validation : python3 /var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py --URL https://0442052s.index-education.net/pronote/eleve.html --Login ******* --Password *********** --Ent ent_elyco --Eqid 209 --Loglevel debug >> /var/www/html/core/class/../../log/ProJote 2>&1
[2025-05-25 20:59:13] INFO  : LOG : Je tente de me connecter en tant qu' élève
[2025-05-25 20:59:13] DEBUG  : L'url pour se connecter est  : https://0442052s.index-education.net/pronote/eleve.html?login=true
[2025-05-25 20:59:13] INFO  : INIT
[2025-05-25 20:59:13] DEBUG  : [ENT https://cas3.e-lyco.fr] Logging in with *****
[2025-05-25 20:59:13] DEBUG  : Starting new HTTPS connection (1): cas3.e-lyco.fr:443
[2025-05-25 20:59:13] ERROR  : Connection échouée :  HTTPSConnectionPool(host='cas3.e-lyco.fr', port=443): Max retries exceeded with url: /discovery/WAYF?entityID=https%3A%2F%2Fcas3.e-lyco.fr%2Fshibboleth&returnX=https%3A%2F%2Fcas3.e-lyco.fr%2FShibboleth.sso%2FLogin&returnIDParam=entityID&action=selection&origin=https%3A%2F%2Feduconnect.education.gouv.fr%2Fidp (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xffffb1cf7d00>: Failed to resolve 'cas3.e-lyco.fr' ([Errno -2] Name or service not known)"))
--- Logging error ---
Traceback (most recent call last):
File "/var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py", line 351, in <module>
if Account.logged_in:
AttributeError: 'NoneType' object has no attribute 'logged_in'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/logging/__init__.py", line 1079, in emit
msg = self.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
return fmt.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
record.message = record.getMessage()
File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py", line 383, in <module>
logging.error("An error occurred: lig.", line_number, e)
Message: 'An error occurred: lig.'
Arguments: (351, AttributeError("'NoneType' object has no attribute 'logged_in'"))
[2025-05-25 20:59:13] DEBUG  : Ajax::retour commande Validation 1
  • Mode QR eleve:
    J’ai le message "Erreur : Impossible de décoder le QRcode "
    et le log projote reste vide…?

Une piste?

Bonjour ’

De ce que je vois l’adresse cas3.e-lyco.fr n’est pas résolue par ton dns.
L’adresse est exact ?

Car lorsuqe je ffais des tests cas1, 2 , 4 , 5 ou 6 marche mais le cas3 est HS. Donc je pense qu’il faut que tu refasses un test

Bonjour,

Par QR code, toujours rien.
Les adresses en dur que je rentre dans le champ Url (en choisissant le champ ENT/CAS: ent_elyco ou en laissant vide):
ent: ent.e-lyco.fr
pronote: https://0442052s.index-education.net/pronote/parent.html
pronote: https://0442052s.index-education.net/pronote/parent.html?

Pour m’identifier en direct, je doit passer par une autentification « educonnect », qui m’amène sur l’ent ent.e-lyco.fr/ puis choisir d’aller dans le module pronote

Comment modifier cas 1, 2 , 3 etc? Car c’est le 3 qui est tenté à chaque fois

Le problème vient en faite de l’API Pronotepy est la façon dont il gère cet ENT.
J’ouvre un incident auprès de l’API pour voir ce qu’ils peuvent faire.

:+1:

A priori, @Nemeraud réussi via le QR code sur ce même ent: https://community.jeedom.com/t/relance-du-projet-pronote-pour-jeedom/130591/135?u=gyam

Ce que je ne m’explique pas, c’est « Erreur : Impossible de décoder le QRcode » lorsque je cole le QR code et l’absence de retour dans le log debug.
Je viens de tester sans succès en collant le QR en .png, .jpg et .bmp

Tu as essayé avec une capture d’écran ?

Oui, capture d’écran via firefox (donc .png) puis collé directement.
J’ai tenté en enregistrant sur mon DD et donc après en enregistrant sous une autre extension de fichier.

Est ce parce que le login sur l’ent du collège ne renvoit pas directement sur pronote mais sur https://ent.e-lyco.fr/portail/auth/ac-nantes/DEFAULT/_ID_017-bureau-responsable-2024 ?

En bas de page il y a les liens vers e-sidoc (le CDI), pronote, etc avec le lien pronote qui renvoit vers https://0442052s.index-education.net/pronote/parent.html?identifiant=******
De ce que j’en comprend, le code 0442052s est le code de l’établissement. Je viens d’essayer comme url avec la case parent cochée:

Ce qui renvoi:

[2025-05-29 10:12:42] DEBUG  : Ajax:: Validation de login :  ***** https://0442052s.index-education.net/pronote/parent.html?login=true
[2025-05-29 10:12:42] DEBUG  : Ajax:: Commande de validation : python3 /var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py --URL https://0442052s.index-education.net/pronote/parent.html?login=true --Login ****** --Password ****** --Eqid 212 --Loglevel debug >> /var/www/html/core/class/../../log/ProJote 2>&1
[2025-05-29 10:12:44] INFO  : LOG : Je tente de me connecter en tant que Parent
[2025-05-29 10:12:44] DEBUG  : Tentative de connection en tant que parent
[2025-05-29 10:12:44] INFO  : INIT
[2025-05-29 10:12:44] DEBUG  : Requesing html: https://0442052s.index-education.net/pronote/parent.html?login=true
[2025-05-29 10:12:44] DEBUG  : Starting new HTTPS connection (1): 0442052s.index-education.net:443
[2025-05-29 10:12:44] DEBUG  : https://0442052s.index-education.net:443 "GET /pronote/parent.html?login=true HTTP/1.1" 302 165
[2025-05-29 10:12:44] DEBUG  : Starting new HTTPS connection (1): ent.e-lyco.fr:443
[2025-05-29 10:12:44] DEBUG  : https://ent.e-lyco.fr:443 "GET /idp/profile/cas/login?service=https:%2F%2F0442052S.index-education.net%2Fpronote%2Fparent.html%3Flogin=true HTTP/1.1" 302 0
[2025-05-29 10:12:44] DEBUG  : https://ent.e-lyco.fr:443 "GET /idp/profile/cas/login;IDP_JSESSIONID=**************************************?execution=e1s1 HTTP/1.1" 302 0
[2025-05-29 10:12:44] DEBUG  : https://ent.e-lyco.fr:443 "GET /idp/Authn/RemoteUser?conversation=e1s1 HTTP/1.1" 302 478
[2025-05-29 10:12:44] DEBUG  : https://ent.e-lyco.fr:443 "GET /wayf/Ctrl?entityID=https%3A%2F%2Felen.education.fr%2Fidp%2FAuthn%2FRemoteUser&return=https%3A%2F%2Fent.e-lyco.fr%2Fidp%2FAuthn%2FRemoteUser%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1%26target%3Dss%253Amem%****af17c8ededb7880f9206913197357faa325107bde6c92226de5587d38a70**** HTTP/1.1" 200 None
[2025-05-29 10:12:45] ERROR  : Connection parent échouée : lig. 65 -   Page html is different than expected. Be sure that pronote_url is the direct url to your pronote page.
--- Logging error ---
Traceback (most recent call last):
File "/var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py", line 351, in <module>
if Account.logged_in:
AttributeError: 'NoneType' object has no attribute 'logged_in'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/logging/__init__.py", line 1079, in emit
msg = self.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
return fmt.format(record)
File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
record.message = record.getMessage()
File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/var/www/html/plugins/ProJote/resources/ProJoted/LoginConnect.py", line 383, in <module>
logging.error("An error occurred: lig.", line_number, e)
Message: 'An error occurred: lig.'
Arguments: (351, AttributeError("'NoneType' object has no attribute 'logged_in'"))
[2025-05-29 10:12:45] DEBUG  : Ajax::retour commande Validation 1
  • CAS/ENT: ent_elyco
    La connexion tente de passer par cas3. On ne peut pas le changer de notre coté, c’est coté API Pronotepy que c’est géré?

  • Compte enfant, avec pareil, CAS/ENT vide ou ent_elyco et url https://0442052s.index-education.net/pronote/eleve.html, même comportement…

  • Je retente avec QR code, cette fois en utilisant l’utilitaire de copie d’écran windows. Nouvelle erreur: Erreur lors de l'exécution du script Python. Vérifiez les logs., que ce soit en compte parent ou élève.

[2025-05-29 10:30:20] DEBUG  : Ajax::Validation de info QRCODE.
[2025-05-29 10:30:20] DEBUG  : Ajax::info QRCODE ************* https://0442052s.index-education.net/pronote/mobile.parent.html 1234 pour eqid : 212
[2025-05-29 10:30:20] DEBUG  : Ajax::info QRCODE cmd python3 /var/www/html/plugins/ProJote/resources/ProJoted/QRConnect.py --Jeton '***************' --QRUrl 'https://0442052s.index-education.net/pronote/mobile.parent.html' --Pin '1234' --Eqid 212 --Loglevel debug >> /var/www/html/core/class/../../log/ProJote 2>&1
[2025-05-29 10:30:22] DEBUG  : QRConnect.py :: {"jeton": "********", "login": "*******", "url": "https://0442052s.index-education.net/pronote/mobile.parent.html"}
[2025-05-29 10:30:22] DEBUG  : QRConnect.py :: Compte parent
[2025-05-29 10:30:22] INFO  : INIT
[2025-05-29 10:30:22] DEBUG  : Requesing html: https://0442052s.index-education.net/pronote/mobile.parent.html?fd=1&bydlg=A6ABB224-12DD-4E31-AD3E-*******&login=true
[2025-05-29 10:30:22] DEBUG  : Starting new HTTPS connection (1): 0442052s.index-education.net:443
[2025-05-29 10:30:22] DEBUG  : https://0442052s.index-education.net:443 "GET /pronote/mobile.parent.html?fd=1&bydlg=A6ABB224-12DD-4E31-AD3E-*******&login=true HTTP/1.1" 200 1840
[2025-05-29 10:30:23] DEBUG  : [_Communication.post] sending post request: {'session': 4500160, 'numeroOrdre': '3fa959b13967e0ef176069e01e23c8d7', 'nom': 'FonctionParametres', 'donneesSec': {'data': {'Uuid': 'KoE611SVN1fr3yDFZxkvIg==', 'identifiantNav': None}}}
[2025-05-29 10:30:23] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/7/4500160/3fa959b13967e0ef176069e01e23c8d7 HTTP/1.1" 200 6562
[2025-05-29 10:30:23] DEBUG  : [_Communication.post] decryption change
[2025-05-29 10:30:23] DEBUG  : [_Communication.post] sending post request: {'session': 4500160, 'numeroOrdre': '97034eb556e279b930c0d542182fba59', 'nom': 'Identification', 'donneesSec': {'data': {'genreConnexion': 0, 'genreEspace': 7, 'identifiant': '****', 'pourENT': False, 'enConnexionAuto': False, 'demandeConnexionAuto': False, 'demandeConnexionAppliMobile': True, 'demandeConnexionAppliMobileJeton': True, 'enConnexionAppliMobile': False, 'uuidAppliMobile': 'ProJote', 'loginTokenSAV': ''}}}
[2025-05-29 10:30:23] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/7/4500160/97034eb556e279b930c0d542182fba59 HTTP/1.1" 200 223
[2025-05-29 10:30:23] DEBUG  : indentification
[2025-05-29 10:30:23] DEBUG  : {'nom': 'Identification', 'session': 4500160, 'numeroOrdre': '78C6D6640986F71A0C697024098EABD1', 'donneesSec': {'data': {'modeCompMdp': 0, 'modeCompLog': 1, 'challenge': '*****'}, 'nom': 'Identification'}}
An error occurred: line  72 function/symbol 'SHA256_init' not found in library '/usr/local/lib/python3.9/dist-packages/Crypto/Util/../Hash/_SHA256.cpython-39-aarch64-linux-gnu.so': /usr/local/lib/python3.9/dist-packages/Crypto/Util/../Hash/_SHA256.cpython-39-aarch64-linux-gnu.so: undefined symbol: SHA256_init

La box atlas est en Python 3.9.2

En effet, on cumule les problémes :
Cas3 le probléme est que l’ent que l’on utilise pointe dessus dans l’API Pronotepy. J’ai demandé une correction de l’API, et je suis en attente.

Le second probléme est que sur ton jeedom, on utlise le python de l’os et non le python de l’envirronement variable :
info QRCODE cmd /var/www/html/core/class/…/…/plugins/ProJote/resources/python_venv/bin/python3
Quel est ta version de jeedom ?

Si tu vas sur ce poste, j’ai déjà eu ce genre de probléme :
Erreur crypto lors de la validation du token

Voici les infos du système:

J’utilise effectivement le plugin broadlink, que je viens de désinstaller. Je vais regarder ça.

As tu un retour à me faire ?

Malheureusement, aucun changement… Je vais attendre la mise à jour sur le Cas3 car via le QR code, cela ne fonctionne toujours pas. J’ai les même erreurs que précedemment.

Je viens de tester et la connexion fonctionne:

  • copie d’écran du QR code via firefox + enregistrement en png
  • retrait de la majorité de la bordure blanche (sinon ça coince comme avant) en laissant 2 px
    Et boum, je vois la photo de ma fille qui s’affiche, ainsi que les infos Nom de l’élève / Classe / Établissement.
    Par contre les autres infos sont vides. Je vais fouiller le forum
[2025-06-27 23:26:02] INFO  : Client connected to [127.0.0.1:41756]
[2025-06-27 23:26:02] DEBUG  : Envoie au demon Python des infos Pronotes
[2025-06-27 23:26:02] INFO  : Message read from socket: b'{"command":{"user_login":"********","user_id":"3"},"cpttype":"","apikey":"***********************","cas":"ViaUrl","CptParent":"0","login":"","password":"","url":"NC","enfant":"","CmdId":"216","TokenId":"","TokenUsername":"","TokenPassword":"","TokenUrl":""}'
[2025-06-27 23:26:02] INFO  : Client disconnected from [127.0.0.1:41756]
[2025-06-27 23:26:03] DEBUG  : Notification received in socket JEEDOM_SOCKET_MESSAGE
[2025-06-27 23:26:03] DEBUG  : Decoded message: {"command":{"user_login":"**********","user_id":"3"},"cpttype":"","apikey":"**********","cas":"ViaUrl","CptParent":"0","login":"","password":"","url":"NC","enfant":"","CmdId":"216","TokenId":"","TokenUsername":"","TokenPassword":"","TokenUrl":""}
[2025-06-27 23:26:03] DEBUG  : Le MESSAGE reçu est  {'command': {'user_login': '******', 'user_id': '3'}, 'cpttype': '', 'apikey': '***********', 'cas': 'ViaUrl', 'CptParent': '0', 'login': '', 'password': '', 'url': 'NC', 'enfant': '', 'CmdId': '216', 'TokenId': '', 'TokenUsername': '', 'TokenPassword': '', 'TokenUrl': ''}
[2025-06-27 23:26:03] ERROR  : Information de Token manquante ou vide : TokenId
[2025-06-27 23:26:03] ERROR  : Information de Token manquante ou vide : TokenUsername
[2025-06-27 23:26:03] ERROR  : Information de Token manquante ou vide : TokenPassword
[2025-06-27 23:26:03] ERROR  : Information de Token manquante ou vide : TokenUrl
[2025-06-27 23:26:03] INFO  : Je me connecte via la compte et le mot de passe
[2025-06-27 23:26:03] DEBUG  : Cas/Ent reçu : ViaUrl
[2025-06-27 23:26:03] ERROR  : Error getting class ViaUrl from module pronotepy.ent: module 'pronotepy.ent' has no attribute 'ViaUrl'
[2025-06-27 23:26:03] INFO  : Je me connecte en tant qu'élève
[2025-06-27 23:26:03] ERROR  : Pas de login reçu sur le deamon
[2025-06-27 23:26:03] DEBUG  : L'url pour se connecter est  : NC
[2025-06-27 23:26:03] ERROR  : pas de password reçu sur le deamon
[2025-06-27 23:26:03] INFO  : INIT
[2025-06-27 23:26:03] ERROR  : Connection échouée :  Please provide login credentials. Cookies are None, and username and password are empty.
[2025-06-27 23:26:03] ERROR  : Erreur d'éxécution du deamon : lig. 1118 -  'NoneType' object has no attribute 'request_qr_code_data'

Cas: ViaURL

Et en testant avec le compte de ma fille pour le QR code, j’ai:
« Fichier JSON introuvable : /var/www/html/plugins/ProJote/data/217/enfant.ProJote.json.txt » qui s’affiche

[2025-06-27 23:35:45] DEBUG  : Ajax::Validation de info QRCODE.
[2025-06-27 23:35:45] DEBUG  : Ajax::info QRCODE ************** https://0442052s.index-education.net/pronote/mobile.eleve.html **** pour eqid : 217
[2025-06-27 23:35:45] DEBUG  : Ajax::info QRCODE cmd python3 /var/www/html/plugins/ProJote/resources/ProJoted/QRConnect.py --Jeton '**************' --QRLogin '**************' --QRUrl 'https://0442052s.index-education.net/pronote/mobile.eleve.html' --Pin '****' --Eqid 217 --Loglevel debug >> /var/www/html/core/class/../../log/ProJote 2>&1
[2025-06-27 23:35:47] DEBUG  : QRConnect.py :: {"jeton": "**************", "login": "**************", "url": "https://0442052s.index-education.net/pronote/mobile.eleve.html"}
[2025-06-27 23:35:47] INFO  : INIT
[2025-06-27 23:35:47] DEBUG  : Requesing html: https://0442052s.index-education.net/pronote/mobile.eleve.html?fd=1&bydlg=**************&login=true
[2025-06-27 23:35:47] DEBUG  : Starting new HTTPS connection (1): 0442052s.index-education.net:443
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "GET /pronote/mobile.eleve.html?fd=1&bydlg=**************&login=true HTTP/1.1" 200 1840
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] sending post request: {'session': 493997, 'numeroOrdre': '**************', 'nom': 'FonctionParametres', 'donneesSec': {'data': {'Uuid': '**************==', 'identifiantNav': None}}}
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/6/************** HTTP/1.1" 200 6636
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] decryption change
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] sending post request: {'session': 493997, 'numeroOrdre': 'aafa0ce978c4f5f99ccacc97769a63f3', 'nom': 'Identification', 'donneesSec': {'data': {'genreConnexion': 0, 'genreEspace': 6, 'identifiant': 'cbato', 'pourENT': False, 'enConnexionAuto': False, 'demandeConnexionAuto': False, 'demandeConnexionAppliMobile': True, 'demandeConnexionAppliMobileJeton': True, 'enConnexionAppliMobile': False, 'uuidAppliMobile': 'ProJote', 'loginTokenSAV': ''}}}
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/6/493997/************** HTTP/1.1" 200 225
[2025-06-27 23:35:47] DEBUG  : indentification
[2025-06-27 23:35:47] DEBUG  : {'nom': 'Identification', 'session': 493997, 'numeroOrdre': '**************', 'donneesSec': {'data': {'modeCompMdp': 0, 'modeCompLog': 1, 'challenge': '**************'}, 'nom': 'Identification'}}
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] sending post request: {'session': 493997, 'numeroOrdre': '**************', 'nom': 'Authentification', 'donneesSec': {'data': {'connexion': 0, 'challenge': '**************', 'espace': 6}}}
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/6/493997/************** HTTP/1.1" 200 519
[2025-06-27 23:35:47] INFO  : successfully logged in as **************
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] sending post request: {'session': 493997, 'numeroOrdre': '**************', 'nom': 'ParametresUtilisateur', 'donneesSec': {}}
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/6/493997/************** HTTP/1.1" 200 17746
[2025-06-27 23:35:47] INFO  : got onglets data.
[2025-06-27 23:35:47] DEBUG  : [_Communication.post] sending post request: {'session': 493997, 'numeroOrdre': '**************', 'nom': 'PageInfosPerso', 'donneesSec': {'Signature': {'onglet': 49}}}
[2025-06-27 23:35:47] DEBUG  : https://0442052s.index-education.net:443 "POST /pronote/appelfonction/6/493997/************** HTTP/1.1" 200 294
[2025-06-27 23:35:47] DEBUG  : doing 2fa doPin=False, doRegister=False, pin=False (redacted), identifier=None
[2025-06-27 23:35:47] INFO  : Client connecté
[2025-06-27 23:35:47] INFO  : Dossier créé avec succès : /var/www/html/plugins/ProJote/data/217
[2025-06-27 23:35:47] DEBUG  : voici les informations d'écriture : /var/www/html/plugins/ProJote/data/217/enfant.ProJote.json.txt
[2025-06-27 23:35:47] ERROR  : Ecriture du fichier échoué : lig.233 - 'Client' object has no attribute '_selected_child'
[2025-06-27 23:35:48] DEBUG  : Ajax:: eqLogicId = 217

Je viens de tenter à nouveau et cette fois, je n’ai plus d’erreurs dans le log et j’ai le token info qui apparait sur la page de l’équipement:

[2025-06-27 23:59:01] DEBUG  : Class ReadEnfantToken:: Clé JSON : https://0442052s.index-education.net/pronote/mobile.parent.html?fd=1&bydlg=******&login=true
[2025-06-27 23:59:01] DEBUG  : Class ReadEnfantToken:: Clé TokenUsername : ******
[2025-06-27 23:59:01] DEBUG  : Class ReadEnfantToken:: Clé TokenPassword : ******
[2025-06-27 23:59:01] DEBUG  : Class ReadEnfantToken:: Clé TokenId : ******
[2025-06-28 00:00:11] DEBUG  :  cronHourly Inutile de chercher à cette heure-ci... 0 heure, tout le monde dors !

Mais toujours pas d’infos.
J’ai cru comprendre que le json était balèze. J’ai demandé un refresh et je verrai demain :smiley:

Tout remonte correctement :smiley:

Hello, de mon côté j’ai réussi à faire refonctionner et mettre à jour celui de ma fille qui est toujours n’a pas changé d’établissement.
En revanche pour mon autre fille qui est passé au lycée, j’ai recréé un équipement, et en faisant le QR code, j’obtiens cette même erreur.
J’ai aussi cette info qui s’affiche :


Avec des logs :

[2025-09-05 15:40:26] DEBUG  : Ajax::Validation de info QRCODE.
[2025-09-05 15:40:26] DEBUG  : Ajax::info QRCODE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0002EA28B447AD0813FD0BDB49842A1A4D2FE78FFB634D1BC6E23D1208C36A020003BA24B25474744B4877749F2D3EA8AB9A04EB918B05AEA181CD580BF1ED3D9EBA81F88D0E3BF2B2C672262987213 C65D5E28414ED153A85C44C95ABFB407 https://0312746s.index-education.net/pronote/mobile.parent.html 1234 pour eqid : 1206
[2025-09-05 15:40:26] DEBUG  : Ajax::info QRCODE cmd /var/www/html/core/class/../../plugins/ProJote/resources/python_venv/bin/python3 /var/www/html/plugins/ProJote/resources/ProJoted/QRConnect.py --Jeton 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0002EA28B447AD0813FD0BDB49842A1A4D2FE78FFB634D1BC6E23D1208C36A020003BA24B25474744B4877749F2D3EA8AB9A04EB918B05AEA181CD580BF1ED3D9EBA81F88D0E3BF2B2C672262987213' --QRLogin 'C65D5E28414ED153A85C44C95ABFB407' --QRUrl 'https://0312746s.index-education.net/pronote/mobile.parent.html' --Pin '1234' --Eqid 1206 --Loglevel debug >> /var/www/html/core/class/../../log/ProJote 2>&1
[2025-09-05 15:40:28] DEBUG  : QRConnect.py :: {"jeton": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0002EA28B447AD0813FD0BDB49842A1A4D2FE78FFB634D1BC6E23D1208C36A020003BA24B25474744B4877749F2D3EA8AB9A04EB918B05AEA181CD580BF1ED3D9EBA81F88D0E3BF2B2C672262987213", "login": "C65D5E28414ED153A85C44C95ABFB407", "url": "https://0312746s.index-education.net/pronote/mobile.parent.html"}
[2025-09-05 15:40:28] DEBUG  : QRConnect.py :: Compte parent
[2025-09-05 15:40:28] INFO  : INIT
[2025-09-05 15:40:28] DEBUG  : Requesing html: https://0312746s.index-education.net/pronote/mobile.parent.html?fd=1&bydlg=XXXXXXXXXXXXXXD-4E31-AD3E-8A39A1C2C335&login=true
[2025-09-05 15:40:28] DEBUG  : Starting new HTTPS connection (1): 0312746s.index-education.net:443
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "GET /pronote/mobile.parent.html?fd=1&bydlg=XXXXXXXXXXXXXXD-4E31-AD3E-8A39A1C2C335&login=true HTTP/1.1" 200 1859
[2025-09-05 15:40:28] DEBUG  : Encoding detection: utf_8 is most likely the one.
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 5471272, 'no': 'XXXXXXXXXXXXXXXXXXXef176069e01e23c8d7', 'id': 'FonctionParametres', 'dataSec': {'data': {'Uuid': '+XXXXXXXXecjJUdNeBEWXA==', 'identifiantNav': None}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/5471272/XXXXXXXXXXXXXXXXXXXef176069e01e23c8d7 HTTP/1.1" 200 6229
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] decryption change
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 5471272, 'no': 'XXXXXXXXXXXXXX2b335c65ec4b647ebc176', 'id': 'Identification', 'dataSec': {'data': {'genreConnexion': 0, 'genreEspace': 7, 'identifiant': 'aletang', 'pourENT': False, 'enConnexionAuto': False, 'demandeConnexionAuto': False, 'demandeConnexionAppliMobile': True, 'demandeConnexionAppliMobileJeton': True, 'enConnexionAppliMobile': False, 'uuidAppliMobile': 'ProJote', 'loginTokenSAV': ''}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/5471272/XXXXXXXXXXXXXX2b335c65ec4b647ebc176 HTTP/1.1" 200 215
[2025-09-05 15:40:28] DEBUG  : indentification
[2025-09-05 15:40:28] DEBUG  : {'id': 'Identification', 'session': 5471272, 'no': 'XXXXAB028A336A1DAEC3DDE386ACC06', 'dataSec': {'data': {'modeCompMdp': 0, 'modeCompLog': 1, 'challenge': 'XXXXXXXXXXXXXXXXXXX32D5FC46E8CD8182CC411D751295CD660EBF204C7F51EDA643AE3634F9E39AD4DED21A4F0914BA4D'}, 'nom': 'Identification'}}
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 5471272, 'no': 'XXXXXXXXXXXXXX0ff341d1a60132110b85', 'id': 'Authentification', 'dataSec': {'data': {'connexion': 0, 'challenge': 'XXXXXXXXXXXXXXXXXX8d05db3aefbdfc2d6998830560d3c5bf8d7c22ddf', 'espace': 7}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/5471272/XXXXXXXXXXXXXX0ff341d1a60132110b85 HTTP/1.1" 200 522
[2025-09-05 15:40:28] INFO  : successfully logged in as aletang
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 5471272, 'no': 'XXXXXfb0dc668716f839d07e198ad71', 'id': 'ParametresUtilisateur', 'dataSec': {}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/5471272/XXXXXfb0dc668716f839d07e198ad71 HTTP/1.1" 200 4167
[2025-09-05 15:40:28] INFO  : got onglets data.
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 5471272, 'no': 'XXXXXf1dc999c9505cebfc201b5ef681', 'id': 'PageInfosPerso', 'dataSec': {'Signature': {'onglet': 49, 'membre': {'N': 'XXXXX-HhsrcrtGdTZSY2sX3_r3Suh0yvUEtTjpwr6NIFE', 'G': 4}}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/5471272/XXXXXf1dc999c9505cebfc201b5ef681 HTTP/1.1" 200 699
[2025-09-05 15:40:28] INFO  : INIT
[2025-09-05 15:40:28] DEBUG  : Requesing html: https://0312746s.index-education.net/pronote/mobile.parent.html?fd=1&bydlg=XXXXXXXXXXXXXXD-4E31-AD3E-8A39A1C2C335&login=true
[2025-09-05 15:40:28] DEBUG  : Starting new HTTPS connection (1): 0312746s.index-education.net:443
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "GET /pronote/mobile.parent.html?fd=1&bydlg=XXXXXXXXXXXXXXD-4E31-AD3E-8A39A1C2C335&login=true HTTP/1.1" 200 1861
[2025-09-05 15:40:28] DEBUG  : Encoding detection: utf_8 is most likely the one.
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 8684141, 'no': 'XXXXXXXXXXXXXXXXXXXef176069e01e23c8d7', 'id': 'FonctionParametres', 'dataSec': {'data': {'Uuid': 'fTU4mI14btYwf5gJ425ysw==', 'identifiantNav': '5EAF75E8015651B66DC4968C6A250ECD481834D8E08656E0511CF52B8FC372E6F13BF341595C6B27F01103E912AC885F10D730F000000000'}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/8684141/XXXXXXXXXXXXXXXXXXXef176069e01e23c8d7 HTTP/1.1" 200 6130
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] decryption change
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 8684141, 'no': 'XXXXXXXXXXXXb7b339712f04e9ac', 'id': 'Identification', 'dataSec': {'data': {'genreConnexion': 0, 'genreEspace': 7, 'identifiant': 'aletang', 'pourENT': False, 'enConnexionAuto': False, 'demandeConnexionAuto': False, 'demandeConnexionAppliMobile': False, 'demandeConnexionAppliMobileJeton': False, 'enConnexionAppliMobile': True, 'uuidAppliMobile': 'ProJote', 'loginTokenSAV': ''}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/8684141/XXXXXXXXXXXXb7b339712f04e9ac HTTP/1.1" 200 213
[2025-09-05 15:40:28] DEBUG  : indentification
[2025-09-05 15:40:28] DEBUG  : {'id': 'Identification', 'session': 8684141, 'no': 'XXXXX2FB29211375629EA98A1978', 'dataSec': {'data': {'modeCompMdp': 0, 'modeCompLog': 1, 'challenge': 'XXXXXXXXXXXXXXXXXX3AF9B48F5A5F481CD454B5F67E96BF233E250A447E4E5BAEDE4A19744DDBCF6AF1F141FFA117A0DA'}, 'nom': 'Identification'}}
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 8684141, 'no': 'XXXXXd622c452c9ba460c36d0fb294', 'id': 'Authentification', 'dataSec': {'data': {'connexion': 0, 'challenge': 'XXXXXXXXXXXXXXXXXXXdcf36516089475eb3d45638207918ad3f547f16621dd', 'espace': 7}}}
[2025-09-05 15:40:28] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/8684141/XXXXXd622c452c9ba460c36d0fb294 HTTP/1.1" 200 522
[2025-09-05 15:40:28] INFO  : successfully logged in as aletang
[2025-09-05 15:40:28] DEBUG  : [_Communication.post] sending post request: {'session': 8684141, 'no': 'XXXXXX762ef54b59536a9a22ed871d0', 'id': 'ParametresUtilisateur', 'dataSec': {}}
[2025-09-05 15:40:29] DEBUG  : https://0312746s.index-education.net:443 "POST /pronote/appelfonction/7/8684141/XXXXXX762ef54b59536a9a22ed871d0 HTTP/1.1" 200 4158
[2025-09-05 15:40:29] INFO  : got onglets data.
[2025-09-05 15:40:29] DEBUG  : QRConnect.py :: <pronotepy.clients.ParentClient object at 0x7f4294084e10>
[2025-09-05 15:40:29] INFO  : Client connecté
[2025-09-05 15:40:29] INFO  : Le dossier existe déjà : /var/www/html/plugins/ProJote/data/1206
[2025-09-05 15:40:29] DEBUG  : voici les informations d'écriture : /var/www/html/plugins/ProJote/data/1206/enfant.ProJote.json.txt
[2025-09-05 15:40:29] DEBUG  : Je recherche l'enfants : LÉTANG Manon
[2025-09-05 15:40:29] DEBUG  : Liste des enfants trouvés du compte Parent : LÉTANG Manon
[2025-09-05 15:40:29] ERROR  : Ecriture du fichier échoué : lig.255 - 'NoneType' object has no attribute 'url'
[2025-09-05 15:40:29] DEBUG  : Ajax:: eqLogicId = 1206

Effectivement le répertoire plugins/ProJote/data/1206 existe bien, mais le fichier enfant.ProJote.json.txt n’existe pas…
C’est dommage, on dirait que tout le reste se passe bien jusqu’à l’écriture du fichier…
Avez-vous une idée ?

PS: notez que j’ai essayé de coller un fichier enfant.ProJote.json.txt d’un autre enfant pour voir si ça changeait qq chose mais non, toujours l’erreur Ecriture du fichier échoué : lig.255 - 'NoneType' object has no attribute 'url'

J’avais cette erreur lorsque j’essayais de créer via le compte enfant et non parent. Est ce ton cas?

Sinon, comme je n’avais plus de MAJ pendant les vacances (d’autant que fin août, le service d’identification de l’état était sur pause), j’ai supprimé le compte et recréer un équipement.
Malheureusement, j’ai à nouveau une erreur (via QR code):

An error occurred: line  72 ('Decryption failed while trying to un pad. (probably bad decryption key/iv)', 'exception happened during login -> probably the qr code has expired (qr code is valid during 10 minutes)')

Il va s’en dire que j’ai copié collé le QR code s’en attendre…

En tentant via URL, j’ai toujours l’erreur liée au « cas 3 » (voir plus haut).

Quel paquet python est utilisé pour décoder le QR code? J’ai tenté de réinstaller pycryptodome, après une vérification des droits. La console me renvoit:

WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pycryptodome in /usr/local/lib/python3.9/dist-packages (3.20.0)
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/var/www/.local'
Check the permissions.