
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
webaurion-api
Advanced tools
**WebAurion API** est une bibliothèque Node.js écrite en TypeScript pour interagir avec l'API de WebAurion. Elle permet de récupérer facilement **les notes** et **l'emploi du temps** depuis le site WebAurion en utilisant seulement des requêtes HTTP.
WebAurion API est une bibliothèque Node.js écrite en TypeScript pour interagir avec l'API de WebAurion.
Elle permet de récupérer facilement les notes et l'emploi du temps depuis le site WebAurion en utilisant seulement des requêtes HTTP.
Pour installer la bibliothèque dans votre projet, vous pouvez utiliser la commande suivante :
npm i webaurion-api
npm linkPour utiliser la bibliothèque dans un autre projet sans passer par un registre npm public :
Clonez ce dépôt :
git clone https://github.com/dd060606/WebAurion-API.git
cd WebAurion-API
Installez les dépendances :
npm install
Compilez la bibliothèque :
npm run build
Créez un lien global :
npm link
Dans votre projet cible, ajoutez un lien vers la bibliothèque :
npm link webaurion-api
Récupération des notes :
Obtenez facilement vos notes via votre compte WebAurion.
Récupération de l'emploi du temps :
Accédez à votre emploi du temps.
Assurez-vous que la bibliothèque est installée ou liée (voir section Installation).
import { login } from "webaurion-api";
//Le planning
async function fetchPlanning() {
const username = "ENTRER VOTRE NOM D'UTILISATEUR";
const password = "ENTRER VOTRE MOT DE PASSE";
try {
const session = await login(username, password);
const planning = await session.getPlanningApi().fetchPlanning();
console.log("Mon emploi du temps :", planning);
} catch (error) {
console.error(
"Erreur lors de la récupération de l'emploi du temps :",
error,
);
}
}
fetchPlanning();
import { login, noteAverage } from "webaurion-api";
//Les notes
async function fetchNotes() {
const username = "ENTRER VOTRE NOM D'UTILISATEUR";
const password = "ENTRER VOTRE MOT DE PASSE";
try {
const session = await login(username, password);
const notes = await session.getNotesApi().fetchNotes();
console.log("Mes notes: ", JSON.stringify(notes, null, 2));
console.log("Mes moyennes: ");
notes.forEach((note) => {
console.log(note.code + ": " + noteAverage(note.notes));
});
} catch (error) {
console.error("Erreur lors de la récupération des notes :", error);
}
}
fetchNotes();
Les réponses des fonctions renvoient les données récupérées depuis WebAurion au format JSON pour faciliter leur utilisation.
L'utilisation de session.getPlanningApi().fetchPlanning() renvoie un tableau du type PlanningEvent qui représente un événement dans l'emploi du temps d'un utilisateur.
type PlanningEvent = {
id: string; // Identifiant unique de l'événement
title: string; // Titre de l'événement
subject: string; // La matière de l'événement (ex: "Mathématiques")
room: string; // Salle de l'événement
instructors: string; // Enseignants responsables de l'événement
learners: string; // Étudiants inscrits à cet événement
start: string; // Date et heure de début de l'événement
end: string; // Date et heure de fin de l'événement
className: string; // Nom de la classe associée (ex: "TP", "COURS")
};
Exemple:
const exampleEvent: PlanningEvent = {
id: "15447267",
title: "Mathématiques S1",
subject: "Mathématiques",
room: "A2_46 ISEN_DP ROB",
instructors: "Prof1 / Prof2",
learners: "CIR1 / CEST1",
start: "2024-11-19T08:00:00+0100",
end: "2024-11-19T10:00:00+0100",
className: "COURS",
};
L'utilisation de session.getNotesApi().fetchNotes() renvoie un tableau du type NotesList qui représente un ensemble de notes associées à un code de cours.
type NotesList = {
code: string; // Code du cours ou de l'évaluation
notes: Note[]; // Liste des notes associées à ce code
};
type Note = {
date: string; // Date de la note
code: string; // Code du cours ou de l'évaluation
subject: string; // Matière concernée
note: string; // La note obtenue
absence: string; // Absence (si applicable)
description: string; // Appréciation de l'évaluation
instructor: string; // Enseignant responsable de l'évaluation
};
Exemple:
const exampleNotesList: NotesList = {
code: "24_CIR1N_A1_S1_PHYSIQUE",
notes: [
{
date: "02/10/2024",
code: "24_CIR1N_A1_S1_PHYSIQUE",
subject: "Physique DS1 S1",
note: "13.00",
absence: "",
description: "",
instructor: "Prof1",
},
{
date: "13/11/2024",
code: "24_CIR1N_A1_S1_PHYSIQUE",
subject: "Physique DS2 S1",
note: "17.00",
absence: "",
description: "",
instructor: "Prof1",
},
],
};
Ce projet utilise Jest pour effectuer des tests unitaires et fonctionnels. Les tests se trouvent dans le répertoire tests/.
Vous pouvez vous inspirer du code dans les tests si besoin.
tests/NotesApi.test.ts : Tests pour les fonctionnalités liées à la récupération des notes.tests/PlanningApi.test.ts : Tests pour les fonctionnalités liées à la récupération de l'emploi du temps.tests/Session.test.ts : Tests pour la gestion des sessions utilisateur.tests/Cache.test.ts : Tests pour la vitesse d'exécution des requêtesnpm test
.envPour utiliser correctement la bibliothèque et exécuter les tests, vous devez configurer un fichier .env pour stocker vos identifiants de connexion et autres variables sensibles.
.envUn fichier exemple est fourni dans le projet : .env-example. Voici les étapes pour le configurer :
Copier le fichier exemple
Dans le dossier racine du projet, créez un fichier .env à partir de l'exemple fourni :
cp .env-example .env
Remplir les valeurs
Ouvrez le fichier .env et complétez les informations nécessaires :
TEST_USERNAME=votre-identifiant
TEST_PASSWORD=votre-mot-de-passe
TEST_USERNAME : L’identifiant WebAurion utilisé pour les tests.TEST_PASSWORD : Le mot de passe correspondant.⚠️ Note : Ces informations sont utilisées uniquement dans le cadre des tests et ne doivent pas être partagées publiquement.
FAQs
**WebAurion API** est une bibliothèque Node.js écrite en TypeScript pour interagir avec l'API de WebAurion. Elle permet de récupérer facilement **les notes** et **l'emploi du temps** depuis le site WebAurion en utilisant seulement des requêtes HTTP.
We found that webaurion-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.