Remontée des infos

Bonjour à tous,

Ouverture d’un nouveau fil pour mettre à jour mes « découvertes » et tenter de résoudre l’absence de remontées du plugin. J’en profite pour faire une sorte de tuto.
Matériel: Atlas Debian 11.8
Jeedom: 4.4.20
Académie: 44 (elyco)

La solution pour ceux qui ne veulent pas tout lire sur l’absence de remontées une fois que le QR passe: modifier en dur dans le json son identifiant. Il doit être celui que vous utilisez pour vous connecter à l’ENT.
Le détail du pourquoi est en fin de post. A suivre, un petit tuto pour le QR code:

TUTO
Login:
Je passe par QR code. Après pas mal de galères, install, désinstall etc, voici ce qui semble fonctionner.

  1. Désinstall du plugin Broadlink. Il utilise une ancienne librairie de décodage de QR code (pycrypto). Projote utilise pycryptodome.

  2. Nettoyage et install de pycryptodome:

pip3 uninstall pycrypto
pip3 install pycryptodome
  1. Install de Projote:
    -Autoriser l’install de sources beta
    -Install du paquet beta depuis le market
    -Activation et log en debug. Sauvegarde
    -Relance des dépendances
    -Redémarrage du demon (il est NOK en arrivant la première fois sur la page de gestion du plugin)

  2. Création de l’équipement:
    -Ouverture de la page du plugin
    -Création d’un nouvel équipement
    -Choix de la méthode: QR code et sauvegarde

  3. Récupération du QR code:
    -Ouverture de la page de l’ENT (login par identifiants. Par FranceConnect, j’ai l’impression que ça bloque pour la suite)
    -Ouverture de pronote via le lien en bas de page de l’ENT
    -Création du QR code (clic sur l’icone en haut + code à 4 chiffres)
    -Copie via l’outil dédié de firefox.
    Attention, l’image du QR code a une grande marge blanche qui fait bloquer la reconnaissance dans jeedom. Solution: crop à ~2px sur chaque bord

  4. Login dans Projote:
    -Coller dans le cartouche dédié de l’équipement. Entrer le code à 4 chiffres.
    Les données sont bien décodées et apparaissent dans Token Info. L’enfant apparait dans la liste déroulante.
    Question: est ce que toutes ces données sont dans le QR code ou une partie est récupérée en ligne?
    -Sauvegarde de l’équipement

Maintenant, le souci:
Je n’ai pas de remontées d’infos et un message « Le fichier profile_picture.jpg n’existe pas. » apparait.

Les essais pour creuser:

  • URL du token: https://0442052s.index-education.net/pronote/mobile.parent.html?fd=1&bydlg=*****&login=true. Si je l’ouvre, j’ai une page de login qui ne fonctionne pas, aussi bien avec mon login/pass d’origine, ni avec celui dans le token. Par contre, si je suis déjà logué sur Pronote dans la session, le navigateur rajoute &identifiant=**** (encore les cookie y presume car pareil, si je tente dans un autre navigateur, cela me renvoie vers la page de login educonnect).
  • L’identifiant dans le token n’est pas le même que celui que j’utilise en « manuel »
    -Le manuel ressemble à h.nomX, h étant l’initiale du prénom et X un chiffre. Celui de l’enfant est bati pareil.
    -Celui du token est juste hnom
    -j’ai modifié en dur dans le json pour remplacer hnom par h.nomX. ET LA! KABOUM, CA MARCHE!!

Question pour @Aldarande : l’identifiant est extrait du QR ou il est construit par les scripts du plugin projote?

Bonjour,

  • broadlink n’utilise ni pycrypto, ni pycryptodome
  • ces 2 libs ne servent absolument pas à décoder un qrcode
  • pycrypto n’est pas strictement une « ancienne » version de pycryptodome, le second étant un fork du premier qui n’est plus maintenu (il en existe d’autres)

J’aimerais a terme que python utilise sont propore envirronnement pour éviter ces problémes.
Le QRcode est décoder via javascript par contre l’api wrapper Pronotepy que j’utilise utilise le pycryptodome.

Ton tutoriel est super. Je pense en reprendre un bout pour la documentation du plugin.