Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to connect using Educonnect (ecollege_haute_garonne_edu) #249

Open
ioull opened this issue Jun 28, 2023 · 9 comments
Open

Unable to connect using Educonnect (ecollege_haute_garonne_edu) #249

ioull opened this issue Jun 28, 2023 · 9 comments

Comments

@ioull
Copy link
Contributor

ioull commented Jun 28, 2023

Bonjour,

Lorsque j'essaye de me connecter en utilisant le cas ecollege_haute_garonne_edu, la lib me renvoie une erreur :

Traceback (most recent call last):
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/test.py", line 16, in <module>
    client = pronotepy.ParentClient('https://0312610u.index-education.net/pronote/parent.html',
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/myvenv/lib/python3.9/site-packages/pronotepy/clients.py", line 643, in __init__
    super().__init__(pronote_url, username, password, ent, qr_code)
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/myvenv/lib/python3.9/site-packages/pronotepy/clients.py", line 352, in __init__
    super().__init__(pronote_url, username, password, ent, qr_code)
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/myvenv/lib/python3.9/site-packages/pronotepy/clients.py", line 64, in __init__
    cookies = ent(username, password)
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/myvenv/lib/python3.9/site-packages/pronotepy/ent/generic_func.py", line 125, in _cas_edu
    _educonnect(session, username, password, response.url)
  File "/srv/dev-disk-by-uuid-c2385a6f-a26a-4718-a10e-da98c915cec7/services/pronote2rest/dev/myvenv/lib/python3.9/site-packages/pronotepy/ent/generic_func.py", line 60, in _educonnect
    raise ENTLoginError(
pronotepy.exceptions.ENTLoginError: Fail to connect with EduConnect : probably wrong login information

Je suis sur de mes identifiants que j'ai copié/collé dans l'interface web pour valider. Et ce sont les mêmes identifiants que la grande soeur qui est au lycée et pour qui le code suivant marche bien !
Voici mon code de test :

import pronotepy
from pronotepy.ent import ecollege_haute_garonne_edu

client = pronotepy.ParentClient('https://0312610u.index-education.net/pronote/parent.html',
                          username='xxxxxxxxxxxxx',
                          password='xxxxxxxxxxxxx',
                          ent=ecollege_haute_garonne_edu)

if client.logged_in: # check if client successfully logged in
    # get the all the periods (may return multiple types like trimesters and semesters but it doesn't really matter
    # the api will get it anyway)
    periods = client.periods

    for period in periods:
        for grade in period.grades:  # iterate over all the grades
            print(f'{grade.grade}/{grade.out_of}')  # print out the grade in this style: 20/20

Merci d'avance !

@tarneaux
Copy link
Contributor

Bonjour, vous pouvez essayer avec un compte élève à la place d'un compte parent, en changeant l'URL (/parent.html -> /eleve.html)?
Le problème de la connexion en temps que parent a déjà été évoqué ici. Ce qui me semble bizarre c'est que ça marche pour le lycée et pas là... Est-ce que sur les deux interfaces Pronote vous pouvez survoler le logo en haut à droite pour voir le numéro de version et envoyer les deux ici?

@ioull
Copy link
Contributor Author

ioull commented Jun 28, 2023

Je ne peux malheureusement pas me connecter en tant qu'élève via educonnect pour le moment, en effet les élèves ont un compte CAS seulement, ils auront leur compte educonnect à la rentrée prochaine ... Test en septembre ;-)

En ce qui concerne les versions Lycée et Collège, ce sont les 2 même versions : 2022 - 0.3.1

@ioull
Copy link
Contributor Author

ioull commented Jul 10, 2023

Je viens de tester avec le code élève de mon fils (il l'avait finalement ... dur dur d'avoir des infos fiables ;-) ) et même erreur, pas possible de me connecter avec un compte enfant non plus !

@ioull
Copy link
Contributor Author

ioull commented Sep 7, 2023

J'espérais que les mises à jour de la rentrée fasse tomber en marche mon problème de login ...
Mais que ce soit avec un compte élève ou un compte parent. J'ai l'erreur

pronotepy.exceptions.ENTLoginError: Fail to connect with EduConnect : probably wrong login information

Alors que je suis sur de mes identifiants ... Une idée ?

@bain3
Copy link
Owner

bain3 commented Sep 7, 2023

I'm not sure what's wrong with the ENT function, but you won't have problems with ENTs again if you switch to the QR login method.

@ioull
Copy link
Contributor Author

ioull commented Sep 8, 2023

Thanks for your help.
I tried but without success ... I got the following error using python3 -m pronotepy.create_login :

pronotepy.exceptions.PronoteAPIError: Page html is different than expected. Be sure that pronote_url is the direct url to your pronote page.

@ioull
Copy link
Contributor Author

ioull commented Sep 13, 2023

Peut-être une piste ...
dans le package ent l'url est celle-ci :
https://cas.ecollege.haute-garonne.fr/login?selection=EDU_parent_eleve&service=https://example.com/
Si j'essaye d'aller à cette URL j'ai l'erreur suivante :
Application non autorisée à utiliser CAS
Par contre si j'essaye sans service=XXXXX J'arrive bien à la bonne page ...

En modifiant l'url dans le package ent avec
https://cas.ecollege.haute-garonne.fr/login?selection=EDU_parent_eleve

Je vais un peu plus loin mais j'ai l'erreur suivante :
pronotepy.exceptions.PronoteAPIError: Page html is different than expected. Be sure that pronote_url is the direct url to your pronote page.

@ioull
Copy link
Contributor Author

ioull commented Sep 13, 2023

Je crois avoir trouvé !!!
Si je met ca dans l'url :
https://cas.ecollege.haute-garonne.fr/login?selection=EDU_parent_eleve&service=https://marcel-doret.ecollege.haute-garonne.fr/sg.do?PROC=IDENTIFICATION_FRONT&ACTION=VALIDER
J'arrive à me logguer ... par contre c'est pas générique pour toute la haute garonne ...

@Vermylion
Copy link

Bonjour, je sais qu'une solution a été trouvée, mais en passant par educonnect en utilisant votre url ne fonctionne malheureusement pas pour moi.
Par contre, j'ai une solution qui ne nécéssite pas de passer par educonnect, mais seulement pronote.
En passant par le site mobile de pronote (ce qui se passe avec le qr code de toute façon), de url 'https://0312093g.index-education.net/pronote/mobile.eleve.html?&login=true' (ici url pour région haute garonne, mais plus précisement Victor Hugo) avec pronotepy.Client, on peut bypass educonnect.
Par contre, l'identifiant et mot de passe demandé est celui du compte pronote, et pas celui de educonnect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants