Site IPDescription
Script Python 3 permettant de rentrer automatiquement les notes sur IP (https://etu.math.upmc.fr/math/) à partir d’un fichier CSV.
Dépendances
- Python >= 3.5 (avec les librairies csv et code)
- Selenium (sur la plupart des distributions linux, Selenium s’installe avec le paquet
python3-selenium, sinon exécuterpip3 install selenium) - Mozilla Firefox
- Geckodriver (télécharger l’exécutable ici et l’ajouter au
$PATH)
Testé sous:
- ubuntu 16.04 avec Firefox 60.0.1, Selenium 3.8.0 et Geckodriver 0.19.1
- ubuntu 18.04 avec Firefox 67.0.1, Selenium 3.8.0 et Geckodriver 0.23.0
- ubuntu 20.04 avec Firefox 110.0, Selenium 4.0.0 et Geckodriver 0.32.2
Format de fichier CSV
Le fichier CSV doit contenir une colonne avec le numéro de l’étudiant (avec label id par exemple) et une autre avec la note (avec label note par exemple), d’autres colonnes sont permises. Exemple de fichier ’notes.csv’ :
id,note,other
3409999,5,ert
3419999,5.6,rtt
3709999,5.8,rtz
3739999,Abs,rtz
3439999,AbsJ,ert
Utilisation
- Télécharger le script et le lancer avec
./script-ip.py - Une fois que firefox a terminé de charger, procéder au login.
- Naviguer jusqu’à la page du cours, cliquer sur “saisir les notes” et enfin sur la colonne correspondant aux notes à rentrer.
- Taper la commande
upload('notes.csv', 'id', 'note')pour remplir automatiquement les notes sur la page firefox depuis les colonnes ‘id’ et ’note’ du fichier ’notes.csv’. - Contrôler que les notes sont rentrées correctement sur firefox et cliquer sur le bouton “Envoyer”.
- C’est terminé, taper
quit()sur la ligne de commande pour quitter ou recommencer au point 3. pour remplir les notes d’un autre examen.
Spécifications
Le script remplit les notes de tout les étudiants affichés sur la page IP qui sont également présents dans le fichier CSV (i.e. l’intersection des deux). Les notes présentes dans le fichier CSV et sur la page IP sont écrasées, les autres notes sont conservées. Les étudiants présents dans le fichier CSV mais pas sur IP sont signalés et inversément.
Versions
- v1 (11 janvier 2018) : version initiale
- v2 (4 juin 2018) : utilisation de code.interact à la place de argparse
- v3 (19 novembre 2018) : affichage de la liste des étudiants sur IP pas présent dans le CSV et inversément
- v4 (13 mai 2019) : correction d’un bug lorsque les notes ne peuvent pas être remplies sur IP
Licence
Apache License Version 2.0