Ceci est un petit projet node.js avec typescript pour obtenir ses notes de Tomuss (nécessite de se connecter avec le CAS).
C'est un projet perso qui peut avoir quelques bugs, mais si vous voulez contribuer, n'hésitez pas à faire un pull request.
Installer en tant que package Node.js :
npm install shawiizz/tomuss-api
Clonez le repository et installez les dépendances :
git clone https://github.com/Shawiizz/tomuss-api.git
cd tomuss-api
npm install
Pour compiler le code TypeScript en JavaScript :
npm run build
Tout les fichiers compilés se trouvent dans le dossier dist
.
Le code ci-dessous est présent dans le fichier examples/Testing.ts
du repository.
// Pour se connecter via le CAS
const authService = new CASAuthService()
await authService.login('pXXXXXX', 'password')
// Pour récupérer les différents modules enseignés dans un semestre
const tomussService = new TomussService(authService)
const subjects = await tomussService.getModules(SemesterService.fromYearAndSeason(2022, Season.AUTOMNE))
// Pour récupérer les semestres disponibles
const semesters = tomussService.getAvailableSemesters()
// Pour fusionner les modules qui ont le même id d'UE si nécéssaire.
// Il peut arriver que des professeurs mettent des notes pour le même module mais sur plusieurs lignes d'UE sur Tomuss.
const mergedModules = mergeModulesWithSameUeId(subjects)
Une version avec un site web a mettre en place facilement est disponible à ce lien.
Si vous avez le fichier Calculer ses moyennes BUT - Info Doua.xlsx
et que vous êtes en 1ʳᵉ année, il y a un bout de code qui permet de préremplir le fichier avec vos notes.
Je ne garantis pas que ça marche à 100%, mais ça peut vous faire gagner du temps.
Pour les matières où il n'y a pas de notes, le programme laissera la case vide.
const path = '/chemin/vers/le/fichier.xlsx'
const modifiedXlsxFileBuffer = await fillXlsxFile(modules, path, false)
fs.writeFileSync(path, modifiedXlsxFileBuffer)
En ce qui concerne le 3ᵉ paramètre qui est par défaut à false
, il permet de calculer la moyenne d'une matière si la moyenne n'a pas déjà été calculée par les professeurs sur Tomuss. Vous pouvez donc mettre true
si vous voulez que la moyenne soit calculée avec les notes récupérées.