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

Add event listener #208

Open
ElChopin opened this issue Jan 20, 2023 · 7 comments
Open

Add event listener #208

ElChopin opened this issue Jan 20, 2023 · 7 comments
Labels
enhancement New feature or request

Comments

@ElChopin
Copy link

Salut ! ca serait sympa d'integrer un système d'event ( client.on("new_grade" ... ) pour pouvoir être notifier simplement lors d'une nouvelle note, un nouveau devoirs etc.. J'ai essayé de le faire tout seul mais je suis pas encore hyper bon, donc je galère un peu. J'ai réussis a faire plusieurs interactions sur demandes, mais un système de notifs comme ca je n'y arrive pas . Deuxièmement, jsp si c'est un problème perso mais chez moi, client.current_period return le trimestre 1 alors qu'on est au 2 ^^

Merci ! ElChopin

@bain3
Copy link
Owner

bain3 commented Jan 21, 2023

Salut
le probleme avec client.current_period est réglé mais le patch n'est pas encore publié sur pypi. Si tu installe la version latest ca va marcher.

Il semble que PRONOTE a un systeme de notifications mais je ne suis pas sur comment ca marche et en plus sur la site demo on ne peut pas recevoir des notif. Je ne sais pas meme si PRONOTE envoie des notifications la bas pour les notes... Ca serait bien si quelqu'un l'implementait mais ca peut pas etre moi.

@Bapt5
Copy link
Collaborator

Bapt5 commented Jan 21, 2023

Salut J'ai cherché sur l'application mobile et je ne trouve pas les notifications et en tout cas je n'en n'ai jamais reçu. La meilleure solution serait que tu appelles la fonction pour obtenir les notes régulièrement dans ton script.

@ElChopin
Copy link
Author

Salut ! Ok merci pour le current_period ! Enfaite pronote a pas vraiment de notification pour les nouvelles notes, mais je sais que l'ancien package JS api avait un system d'event comme ca, d'ou ma proposition d'implémentation de celui ci. D'ailleurs, on m'a parlé du fait que ca serait potentiellement illégal (RGPD et CNIL) d'utiliser pronotepy car ca utilise un webscrapper et pas une API. C'est vrai? (j'utiliserai quand meme ptdr, personne va venir toquer chez moi a 6h car j'ai fais une commande pour voir mon emplois du temps ptdr)

@ElChopin
Copy link
Author

D'ailleurs question bête mais comment on installe la latest version ? pip install https://github.com/bain3/pronotepy/archive/refs/heads/master.zip ? car chez moi ca a pas réglé le pb

@bain3
Copy link
Owner

bain3 commented Jan 26, 2023

D'ailleurs, on m'a parlé du fait que ca serait potentiellement illégal (RGPD et CNIL) d'utiliser pronotepy car ca utilise un webscrapper et pas une API. C'est vrai?

Je ne suis pas un avocat mais le RGPD (GDPR en anglais si je comprends bien) parle des droits des individus... je ne pense pas que ca interdit des projets comme pronotepy. Pronotepy utilise l'API internel comme ton navigateur et a acces aux informations completement identiques que la version web.

Ca pourrait etre interessant si Index-education décide de m'envoyer un lettre/email. Je ne suis pas francais :))

L'API de Litarvan était un peux different car c'était un serveur qui exposait l'API de pronote avec un API different plus simple, si je me rappelle bien. Pronotepy n'est qu'un client. En fait si quelque chose ne respecte pas le RGPD, ce seraient les nombreux projets dérivés (les applications mobiles et tout ca)...

TLDR je pense pas que c'est illégal et honnetement je m'en fiche

D'ailleurs question bête mais comment on installe la latest version ? pip install https://github.com/bain3/pronotepy/archive/refs/heads/master.zip ? car chez moi ca a pas réglé le pb

Essaye avec l'option -U si t'as pronotepy deja installé. Tu peux utiliser le url zip ou git directement:

pip install -U git+https://github.com/bain3/pronotepy.git

Si ca ne marche toujours pas tu peux aussi utiliser client.periods et l'obtenir toi-meme...

PS sorry for any mistakes in your glorious language lmao, it's kinda hard and I haven't spoken it in a long time ngl

@ElChopin
Copy link
Author

D'accord merci beaucoup de ta réponse ! Bonne soirée et bonne continuation !

PS: its fine don't worry, i can understand what u said

ElChopin

@bain3 bain3 changed the title Event new grades Add event listener Jun 4, 2023
@bain3 bain3 added the enhancement New feature or request label Jun 4, 2023
@tarneaux
Copy link
Contributor

tarneaux commented Jun 4, 2023

D'ailleurs, on m'a parlé du fait que ca serait potentiellement illégal (RGPD et CNIL) d'utiliser pronotepy car ca utilise un webscrapper et pas une API. C'est vrai? (j'utiliserai quand meme ptdr, personne va venir toquer chez moi a 6h car j'ai fais une commande pour voir mon emplois du temps ptdr)

TL;DR Si Index Education veut nous parler RGPD et CNIL, on en parlera: ils ont un monopole sur le marché, en tout cas en France, et ont eu plusieurs fuites de données.

Deux situations possibles:

  • la plus probable: ils n'ont jamais entendu parler du projet, et c'est très bien comme ça. La dernière chose dont on a envie c'est qu'ils commencent à obfusquer les données transmises par leur API propriétaire (qui sont déjà assez peu compréhensibles comme ça) et que ça devienne encore plus dur de faire le reverse-engineering.
  • ou alors ils connaissent le projet, et dans ce cas ils ont sans doute pas envie de faire quoi que ce soit juridiquement, pour les raisons citées plus haut. Si @bain3 ou qui que ce soit qui a participé au projet ou à un autre projet qui l'utilise (par exemple l'appli papillon, que je recommande au passage) se fait attaquer en justice (ce qui est infiniment improbable), on aura de quoi riposter: c'est une faute plutôt grave que de laisser fuiter numéros de téléphone, photos d'identité (que je refuse de faire à mon lycée depuis que j'ai appris qu'ils avaient pas la meilleure sécurité), noms, parents, notes, spécialités, adresse, etc. etc. À noter que ni eux ni l'établissement n'ont besoin de ces infos 90% du temps. Pronote est devenu, sans qu'on le réalise vraiment, une autre plateforme qui, même si elle ne vend pas nos données à des tiers, en a beaucoup et les laisse parfois fuiter.

Petite remarque supplémentaire:

Le problème de Pronote est que c'est un logiciel complexe et pratiquement impossible à remplacer par un logiciel libre: une fois que l'établissement a préparé les emplois du temps avec leur logiciel EDT (qui fonctionne mal, mais mieux que d'autres), ils vont sans réfléchir mettre ces données dans Pronote, et si on voulait changer ça on devrait promouvoir un logiciel libre auprès de gens qui n'en ont pas grand chose à faire. C'est déjà difficile de faire passer Linux auprès de gens qui ont été drogués à Microsoft Windows (drogué = ça n'est pas dans leur intérêt mais ils ne peuvent pas changer facilement).

(bon d'accord, c'était hors sujet)

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

No branches or pull requests

4 participants