Skip to content

Skythrew/papillon-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Pourquoi faire ?

Auparavant, Papillon utilisait @Litarvan/pronote-api, mais cette API non maintenue depuis Avril 2021 commence à poser de plus en plus de problèmes à cause de son retard, et en plus est compliquée à héberger. Voila pourquoi je transitionne vers @bain3/pronotepy, qui est encore maintenu et bien plus complet en fonctionnalités.

Le but est de l'intégrer le plus vite possible dans Papillon, et d'arrêter complètement l'ancien backend node-pronote pour attribuer plus de ressources à papillon-python.

Roadmap

  • Données de l'utilisateur
  • Emploi du temps
  • Travail à faire
  • Notes
  • Compétences
  • Actualités
  • Absences et retards
  • Messagerie
    • Envoi de message

Requêtes

Un client doit faire la requête initiale POST /generatetoken avec le body suivant :

Paramètre Utilité Exemple
url: str(url) URL vers l'instance pronote (avec le eleve.html) https://0152054e.index-education.net/pronote/eleve.html
username: str Nom d'utilisateur PRONOTE l.martin
password: str Mot de passe en clair azertyuiop12345
ent: str(ent) Nom de l'ENT tel que listé ici ac_rennes

Le client doit ensuite garder le token généré. Si il ya eu un délai d'au moins 5 minutes entre deux interactions, le client doit regénérer un nouveau token.

Ensuite chaque appel à une fonction de l'API doit avoir le paramètre token défini. Voici la liste des URLs pour obtenir des données :

URL Utilité Paramètres
/user Obtient les infos sur l'utilisateur (nom, classe...) + les périodes de l'année
/timetable Affiche l'emploi du temps sur une date donnée dateString: str : date au format année-mois-jour
/homework Affiche les devoirs entre deux dates données dateFrom: str : date de début au format année-mois-jour, et dateTo: str : date de fin au même format
/grades Affiche les notes
/evaluations Affiche les évaluations par compétences
/absences Affiche les absences
/punishments Affiche les punitions
/news Affiche les actualités
/discussions Affiche les messages
/menu Affiche les menus entre deux dates données dateFrom: str : date de début au format année-mois-jour, et dateTo: str : date de fin au même format
/recipients Liste toutes les personnes que l'utilisateur peut contacter par message

Voici la liste des URL qui éffectuent une simple fonction :

URL Utilité Paramètres Réponse
/info Envoie des informations sur l'API comme les ENTs et la version
/export/ical Exporte le calendrier en iCal (l'url du fichier iCal)
/homework/changeState Change l'état d'un devoir (fait/non fait) dateFrom: str : date de début au format année-mois-jour, et dateTo: str date de fin au même format, et homeworkId: str l'id du devoir à changer (état du devoir changé)
/discussion/delete Supprime la discussion discussionId: str : Id de la discussion ok si aucun problème
/discussion/readState Change l'état de lecture d'une discussion discussionId: str : Id de la discussion ok si aucun problème
/discussion/reply Répond à une discussion discussionId: str : Id de la discussion, et content: str : Contenu du message ok si aucun problème
/discussion/create Crée une discussion recipientId: str : Id du destinataire, content: str : Contenu du message et recipients: list : La liste de destinataire avec leurs ID (obtenu avec /recipients) ok si aucun problème

About

API REST pour Pronote/Papillon en utilisant hug.rest et https://github.com/bain3/pronotepy/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%