Support non-officiel de l'API Kdecole (Mon Bureau Numérique, Skolengo, etc.)
Ce module permet de récupérer les données de l'ENT de manière automatique. De plus, certaines fonctions implémentées permettent de prétraiter les données (conversion de l'emploi du temps au format iCalendar, export du relevé de notes au format CSV par exemple).
L'accès à l'API requiert une en-tête (header) avec la version de l'application en cours d'utilisation.
Le terme "code" ou "password" ne réfère pas ici à votre mot de passe, mais à un code temporaire généré par votre ENT (dans paramètres > application mobile). C'est comme cela que fonctionne l'authentification à l'API.
Les versions à utiliser lors de la création de l'instance Kdecole
sont données ci-dessous.
Une autre méthode pour obtenir un token est d'utiliser la ligne de commande.
npx kdecole-api -u USERNAME -p CODE --ent PROD_MON_BUREAU_NUMERIQUE
Kind: global class
- Kdecole
- new Kdecole(authToken, apiVersion, idEtablissement, apiURL)
- instance
- .logout() ⇒
Promise.<void>
- .starting() ⇒
Promise.<void>
- .getReleve(idEleve) ⇒
Promise.<Releve>
- .getActualites(idEleve) ⇒
Promise.<Array.<Actualite>>
- .getContenuArticle(uid) ⇒
Promise.<ContenuArticle>
- .getContenuInformation(uid) ⇒
Promise.<ContenuArticle>
- .getTravailAFaire(idEleve, notBeforeDate) ⇒
Promise.<TravailAFaire>
- .getContenuActivite(uidSeance, uid, idEleve) ⇒
Promise.<ContenuActivite>
- .setActiviteFinished(uidSeance, uid, flagRealise) ⇒
Promise.<void>
- .getAbsences(idEleve) ⇒
Promise.<AbsencesList>
- .getInfoUtilisateur(idEleve) ⇒
Promise.<Utilisateur>
- .getCalendrier(idEleve) ⇒
Promise.<Calendrier>
- .getNotes(idEleve) ⇒
Promise.<NotesList>
- .getMessagerieInfo() ⇒
Promise.<MessageInfo>
- .getMessagerieBoiteReception(pagination) ⇒
Promise.<MessageBoiteReception>
- .getCommunication(id) ⇒
Promise.<Communication>
- .reportCommunication(id) ⇒
Promise.<void>
- .deleteCommunication(id) ⇒
Promise.<void>
- .setCommunicationLu(id) ⇒
Promise.<void>
- .sendMessage(id, corpsMessage) ⇒
Promise.<void>
- .gestionAppels() ⇒
Promise.<GestionAppels>
- .validerAppel(appel) ⇒
Promise.<void>
- .logout() ⇒
- static
- .login(username, password, apiVersion, apiUrl) ⇒
Promise.<string>
- .login(username, password, apiVersion, apiUrl) ⇒
Param | Type | Default | Description |
---|---|---|---|
authToken | string |
Le jeton d'accès | |
apiVersion | ApiVersion | string |
La version de l'application mobile autorisée par l'API | |
idEtablissement | number |
0 |
L'identifiant de l'établissement |
apiURL | ApiUrl | string |
L'URL de l'API Kdecole |
Example
const { Kdecole, ApiVersion, ApiUrl } = require('kdecole-api');
const token = 'azertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazertyuiopazert'
const user = new Kdecole(token, ApiVersion.PROD_MON_BUREAU_NUMERIQUE, 0, ApiUrl.PROD_MON_BUREAU_NUMERIQUE)
user.getInfoUtilisateur().then(infoUser => {
console.log(`Jeton valide, connecté en tant que ${infoUser.nom}.`)
})
Révoque le jeton d'accès
Kind: instance method of Kdecole
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(authToken)
user.logout()
Ping à l'API.
Cet appel est initialement réalisé par l'application mobile pour vérifier si le token et la version de l'app sont valides.
Le serveur retourne un code de statut HTTP 204 No Content
si l'utilisateur est correctement authentifié.
Kind: instance method of Kdecole
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(authToken)
try {
user.starting()
}
catch (e) {
// Une exception est levée si l'utilisateur n'est pas correctement authentifié
}
Retourne le relevé de notes de l'élève
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
kdecole.getReleve() //Retourne le relevé de l'élève
kdecole.getReleve(idEleve) //Retourne le relevé d'un élève précis
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getReleve(idEleve).then(releve => {
// Votre code
releve.toCSV() // Exporter son relevé des notes dans un objet contenant les devoirs au format CSV
})
Retourne un tableau des actualités de l'établissement de l'utilisateur
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getActualites(idEleve).then(actualites => {
// Votre code
})
Retourne le contenu d'un article Un article est publié par l'établissement.
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
uid | string |
Identifiant unique de l'article |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getContenuArticle(uid).then(contenuArticle => {
// Votre code
})
Retourne le contenu d'une information Une information est publiée par la plateforme EMS.
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
uid | string |
Identifiant unique de l'information |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getContenuInformation(uid).then(contenuInformation => {
// Votre code
})
Retourne la liste des devoirs de l'élève
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
notBeforeDate | Date |
Un objet Date pour ne sélectionner que les devoirs postérieurs à une date |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getTravailAFaire(idEleve).then(taf => {
// Votre code
})
Retourne les détails d'un devoir à faire
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
uidSeance | number |
Identifiant de la séance |
uid | number |
Identifiant du devoir à faire |
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getContenuActivite(uidSeance, uid, idEleve).then(contenuActivite => {
// Votre code
})
Permet de marquer un devoir comme étant fait
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
uidSeance | number |
Identifiant de la séance |
uid | number |
Identifiant du devoir |
flagRealise | boolean |
Statut du devoir |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.setActiviteFinished(uidSeance, uid, flagRealise)
Retourne la liste des absences d'un élève
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getAbsences(idEleve).then(absences => {
// Votre code
})
Retourne les informations d'un utilisateur (type de compte, nom complet, numéro de l'établissement, etc.)
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getInfoUtilisateur(idEleve).then(infoUtilisateur => {
// Votre code
})
Retourne l'emploi du temps de l'élève à J-7 et J+7
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getCalendrier(idEleve).then(calendrier => {
// Votre code
})
Retourne la liste des récentes notes de l'élève
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
idEleve | string |
Identifiant d'un élève |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getNotes(idEleve).then(notes => {
// Votre code
})
Retourne l'état de la messagerie de l'utilisateur (nombre de mails non lus)
Kind: instance method of Kdecole
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getMessagerieInfo().then(messagerieInfo => {
// Votre code
})
Retourne les mails présents dans la boîte mail
Le paramètre pagination
permet de remonter dans le passé dans la liste des fils de discussions
Kind: instance method of Kdecole
Param | Type | Default | Description |
---|---|---|---|
pagination | number |
0 |
Le nombre de fils de discussion à tronquer (système de pagination) |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getMessagerieBoiteReception().then(messagerieBoiteReception => {
// Votre code
})
Retourne les détails d'un fil de discussion
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
id | number |
Identifiant d'un fil de discussion |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.getCommunication(id).then(communication => {
// Votre code
})
Permet de signaler une communication
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
id | number |
Identifiant d'un fil de discussion |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.reportCommunication(id)
Supprime la communication
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
id | number |
Identifiant d'un fil de discussion |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.deleteCommunication(id)
Marquer une communication lue
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
id | number |
Identifiant d'un fil de discussion |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.setCommunicationLu(id)
Envoyer un message sur un fil de discussion
Kind: instance method of Kdecole
Param | Type | Description |
---|---|---|
id | number |
Identifiant d'un fil de discussion |
corpsMessage | string |
Corps du message HTML |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.sendMessage(id, corpsMessage)
Retourne les feuilles d'appel.
Kind: instance method of Kdecole
Returns: Promise.<GestionAppels>
- Les feuilles d'appel.
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
user.gestionAppels().then(gestionAppels => {
// Votre code
})
Valide l'appel de la classe.
Kind: instance method of Kdecole
Param | Description |
---|---|
appel | L'appel à valider |
Example
const { Kdecole } = require('kdecole-api')
const user = new Kdecole(AUTH_TOKEN)
const appel = {
"idEtab": 10485,
"idAppel": 534552,
"listeAbsencesAppel": [
{
"idEleve": "AAP05567",
"type": "absence",
"dateDebut": 1609259443000,
"dateFin": 1609263043000,
"modifiable": true
}
]
}
user.validerAppel(appel)
Demande à l'API de générer un nouveau jeton pour l'utilisateur
Kind: static method of Kdecole
Param | Type | Description |
---|---|---|
username | string |
Le nom d'utilisateur |
password | string |
Le mot de passe à usage unique |
apiVersion | ApiVersion | string |
La version de l'application mobile autorisée par l'API |
apiUrl | apiURL | string |
L'URL de l'API Kdecole |
Example
const { Kdecole, ApiUrl, ApiVersion } = require('kdecole-api')
Kdecole.login(username, uniquePassword, ApiVersion.PROD_MON_BUREAU_NUMERIQUE, ApiUrl.PROD_MON_BUREAU_NUMERIQUE).then(token => console.log(token)) // Affiche son token dans la console