Partage
  • Partager sur Facebook
  • Partager sur Twitter

API de Pronote

Relever ses notes et les exploiter.

    6 février 2019 à 23:06:30

    Bonjour,

    J'ai récemment découvert que Pronote (logiciel pour l'enseignement permettant de rentrer les notes, les cours etc...) possédait un API.

    Le voici : https://www.index-education.com/fr/hyperplanning-info196-service-web.php

    Il m'a également semblé comprendre que je pourrai récupérer mes notes selon la page : https://www.index-education.com/fr/ServiceWeb-Hyperplanning-Notation.php

    L'information qui m’intéresse semble se trouve dans la ligne "NoteDuDevoirDeLEtudiant". (utiliser une recherche de texte car la page est grande)

    Mon objectif serait donc de récupérer mes notes, leurs coefficients etc... Et d'exploiter tout cela dans un fichier google sheets ou excel et pouvoir ainsi en faire ce que je veux (graphique et estimations).

    Pensez-vous cela possible, si oui, comment ? Je n'ai qu'une faible connaissance des API, avez-vous des recommandations sur des formations ?

    Merci d'avance, cordialement

    • Partager sur Facebook
    • Partager sur Twitter
      7 février 2019 à 10:21:16

      Salut,

      Il nous faudrait plus d'info sur toi:

      Est-ce que tu sais programmer? Si oui dans quel langage?

      Apparemment, en entrée tu as une API web (je ne sais pas sous quel format de fichier, mais ça c'est pas très important), il faudrait savoir ce que tu veux en faire en sortie.

      Si tu veux effectivement récupérer ces données dans excel, personnellement je te conseillerai de faire un Add-in VSTO (en C# donc).

      • Partager sur Facebook
      • Partager sur Twitter
      Fatalement vôtre
        8 février 2019 à 21:23:55

        Bonsoir,

        Effectivement j'ai oublié quelques infos, j'ai quelque bases de python et de C (principalement pour Arduino). Mais je suis toujours ouvert à de nouveaux langages.

        J'ai effectivement une api en entrée. Mon programme devrait se résumer à cela dans le meilleur des cas :

        -Récupérer chaque moyenne

        -Mettre mes moyennes en colonnes dans Excel/Sheets

        Après pour le traitement et les graphiques je pourrai le faire aisément avec Excel ou Sheets. L'objectif est simplement de mettre à jour en temps réel mes notes dans un tableur et ne pas avoir à les recopier à chaque fois.

        • Partager sur Facebook
        • Partager sur Twitter
          11 février 2019 à 9:17:33

          Salut,

          Si tu veux rester dans ta zone de confort, et pas perdre de temps avec les API Office, ce que tu peux faire, c'est un script en python (en C, c'est possible, mais ça va demander beaucoup plus de boulot..) qui fait les requêtes et qui écrit le résultat en CSV ou XML, facilement importable sous Excel.

          • Partager sur Facebook
          • Partager sur Twitter
          Fatalement vôtre
            7 octobre 2019 à 14:28:47

            Bonjout,

            Est-ce que tu as réussit à faire ce que tu voulais ?? cela m'interesse ?

            • Partager sur Facebook
            • Partager sur Twitter
              10 octobre 2019 à 19:04:40

              Bonjour,

              Je suis également très intéressé par ce sujet. Avez-vous réussi à y aboutir ? Cela fonctionne-t-il toujours depuis la mise en place d'Educonnect ?

              Merci

              -
              Edité par Killian Bourhis 11 octobre 2019 à 20:08:49

              • Partager sur Facebook
              • Partager sur Twitter
                15 octobre 2019 à 18:28:13

                Bonjour,

                Désolé de l'absence. 

                Malheureusement avec la reprise des cours je n'ai plus le temps de reprendre ce projet. Si l'un d'entre vous avance, je serai preneur de toute information !

                • Partager sur Facebook
                • Partager sur Twitter
                  17 novembre 2019 à 17:31:24

                  Bonjour,

                  J'ai développé un petit script qui utilise puppeteer et qui se connecte à mon ENT pour récupérer la page d'accueil de pronote (donc les dernières notes, prochains cours, etc...) et qui l'écrit dans un fichier `pronote.html`. Je n'ai pas pu le tester sur d'autres ENT que le mien, faute d'identifiants valides :(

                  const puppeteer = require("puppeteer");
                  const fs = require("fs");
                  const { username, password } = require("./config");
                  
                  (async () => {
                  
                      let browser = await puppeteer.launch();
                      let page = await browser.newPage();
                  
                      // Login
                      await page.goto("https://cas.ecollege.haute-garonne.fr/login?selection=ATS_parent_eleve&service=https%3A%2F%2Fadrienne-bolland.ecollege.haute-garonne.fr%2Fsg.do%3FPROC%3DIDENTIFICATION_FRONT&submit=Valider");
                      await page.type("#username", username);
                      await page.type("#password", password);
                      let navPromise = page.waitForNavigation({ waitUntil: "networkidle0" });
                      await page.$eval("#button-submit", form => form.click());
                      await navPromise;
                      
                      // Go to pronote
                      navPromise = page.waitForNavigation({ waitUntil: "networkidle0" });
                      await page.goto("https://0312799z.index-education.net/pronote/");
                      await navPromise;
                      fs.writeFileSync("pronote.html", await page.content());
                  
                  })();



                  -
                  Edité par SmnLefort 17 novembre 2019 à 17:32:13

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 janvier 2020 à 14:19:22

                    Des nouvelles?

                    -
                    Edité par SmnLefort 19 janvier 2020 à 14:21:02

                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 janvier 2020 à 14:14:04

                      Bonjour,

                      d'après ce que je lis ici, pronote ne dispose pas d'API en tant que telle.

                      C'est à dire qu'il ne fournit pas des méthodes prédéfinies pour qu'une application tierce puisse se connecter à sa base de données. La seule solution me semble donc d'utiliser l'interface web "interactive" et un "navigateur programmable" pour automatiser les interaction souhaitées (comme proposé par SmnLefort avec puppeteer, moi j'utilise plutôt python et selenium pour ce genre d'utilisation) 

                      Cela comporte l'inconvénient que si pronote décide de changer un élément de son interface, ça peut tout mettre par terre. On a intérêt dans ce cas à isoler au maximum les fonctionnalités élémentaires et à tester que rien n'est cassé à chaque mise-à-jour ? ou annuellement ?
                      Index-éducation dispose d'un quasi monopole sur les applications de vie scolaire, il n'est pas dans leur intérêt, s'ils veulent continuer à percevoir leurs rentes de situation, de laisser les utilisateurs expérimenter d'autres façon de gérer leurs classes ou établissement, même en se basant pour l'instant sur leur solution.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      API de Pronote

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown