All Projects → maelgangloff → kdecole-api

maelgangloff / kdecole-api

Licence: GPL-3.0 license
Unofficial Node.js API client of Kdecole (Skolengo EMS)

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to kdecole-api

JSON-API-Client
Abstract client-side php implementation of the json api specification (jsonapi.org)
Stars: ✭ 17 (-45.16%)
Mutual labels:  api-client
Clamor
The Python Discord API Framework
Stars: ✭ 14 (-54.84%)
Mutual labels:  api-client
pywnedpasswords
Checkt pwnedpasswords.com in a secure way
Stars: ✭ 22 (-29.03%)
Mutual labels:  api-client
nis-python-client
Python client for NEM NIS API (https://nemproject.github.io). XEM\NEM\Crypto
Stars: ✭ 16 (-48.39%)
Mutual labels:  api-client
pyFireEye
Python API bindings for FireEye Products
Stars: ✭ 12 (-61.29%)
Mutual labels:  api-client
backlog kit
Client library for the Nulab's Backlog API version 2 written in Ruby.
Stars: ✭ 28 (-9.68%)
Mutual labels:  api-client
DummyJSON
DummyJSON provides different types of REST Endpoints filled with JSON data which you can use in developing the frontend with your favorite framework and library without worrying about writing a backend.
Stars: ✭ 213 (+587.1%)
Mutual labels:  api-client
wporg-client
Standalone HTTP client for public WordPress.org API.
Stars: ✭ 73 (+135.48%)
Mutual labels:  api-client
jacky
🐄 HTTP JSON API Client for Laravel & Lumen
Stars: ✭ 17 (-45.16%)
Mutual labels:  api-client
dnsimple-python
The DNSimple API client for Python.
Stars: ✭ 66 (+112.9%)
Mutual labels:  api-client
cells-client
Command line client to communicate with cells REST api.
Stars: ✭ 17 (-45.16%)
Mutual labels:  api-client
bitflyer-api-dotnet-client
bitFlyer HTTP APIs Client Library for .NET (C#)
Stars: ✭ 23 (-25.81%)
Mutual labels:  api-client
v-shopware-api-client
The reliable way to import and update a bazillion products.
Stars: ✭ 20 (-35.48%)
Mutual labels:  api-client
tempo-api-python-client
Python bindings for Tempo - https://apidocs.tempo.io/
Stars: ✭ 17 (-45.16%)
Mutual labels:  api-client
Jib.jl
A Julia implementation of Interactive Brokers API
Stars: ✭ 42 (+35.48%)
Mutual labels:  api-client
qvapay-python
Non official, but friendly QvaPay library for the Python language.
Stars: ✭ 18 (-41.94%)
Mutual labels:  api-client
ssc-restapi-client
Communicate with Fortify Software Security Center through REST API in java, a swagger generated client
Stars: ✭ 13 (-58.06%)
Mutual labels:  api-client
NClient
💫 NClient is an automatic type-safe .Net HTTP client that allows you to call web service API methods using annotated interfaces or controllers without boilerplate code.
Stars: ✭ 25 (-19.35%)
Mutual labels:  api-client
closeio-api
Python API Client for Close
Stars: ✭ 53 (+70.97%)
Mutual labels:  api-client
braze-php-sdk
A PHP client to interact with Braze API
Stars: ✭ 15 (-51.61%)
Mutual labels:  api-client

Kdecole

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.

Nom de l'ENT Version URL de l'API
Mon Bureau Numérique 3.7.14 https://mobilite.monbureaunumerique.fr/mobilite
Mon ENT Occitanie 3.7.14 https://mobilite.mon-ent-occitanie.fr/mobilite
Arsene 76 3.7.14 https://mobilite.arsene76.fr/mobilite
ENT27 3.7.14 https://mobilite.ent27.fr/mobilite
ENT Creuse 3.7.14 https://mobilite.entcreuse.fr/mobilite
ENT Auvergne-Rhône-Alpes 3.7.14 https://mobilite.ent.auvergnerhonealpes.fr/mobilite
Agora 06 3.7.14 https://mobilite.agora06.fr/mobilite
CyberCollèges 42 3.7.14 https://mobilite.cybercolleges42.fr/mobilite
eCollège 31 Haute-Garonne 3.7.14 https://mobilite.ecollege.haute-garonne.fr/mobilite
Mon collège en Val d'Oise 3.7.14 https://mobilite.moncollege.valdoise.fr/mobilite
Webcollège Seine-Saint-Denis 3.7.14 https://mobilite.webcollege.seinesaintdenis.fr/mobilite
Eclat-BFC 3.7.14 https://mobilite.eclat-bfc.fr/mobilite
@ucollège84 3.7.14 https://mobilite.aucollege84.vaucluse.fr/mobilite
ENT Val de Marne 3.7.14 https://mobilite.entvaldemarne.skolengo.com/mobilite
Skolengo Demo 3.7.14 https://mobilite.demo.skolengo.com/mobilite
Kosmos Éducation (aefe, etc.) 3.7.14 https://mobilite.kosmoseducation.com/mobilite
Skolengo formation 3.7.14 https://mobilite.formation.skolengo.com/mobilite
Schulportal Ostbelgien 3.7.14 https://mobilite.schulen.be/mobilite

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

new Kdecole(authToken, apiVersion, idEtablissement, 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}.`)
})

kdecole.logout() ⇒ Promise.<void>

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()

kdecole.starting() ⇒ Promise.<void>

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é
}

kdecole.getReleve(idEleve) ⇒ Promise.<Releve>

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
 })

kdecole.getActualites(idEleve) ⇒ Promise.<Array.<Actualite>>

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
 })

kdecole.getContenuArticle(uid) ⇒ Promise.<ContenuArticle>

Retourne le contenu d'un article

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
 })

kdecole.getTravailAFaire(idEleve, notBeforeDate) ⇒ Promise.<TravailAFaire>

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
 })

kdecole.getContenuActivite(uidSeance, uid, idEleve) ⇒ Promise.<ContenuActivite>

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
 })

kdecole.setActiviteFinished(uidSeance, uid, flagRealise) ⇒ Promise.<void>

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)

kdecole.getAbsences(idEleve) ⇒ Promise.<AbsencesList>

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
 })

kdecole.getInfoUtilisateur(idEleve) ⇒ Promise.<Utilisateur>

Retourne les informations d'un utilisateur (type de compte, nom complet, numéro de l'établiissement, 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
 })

kdecole.getCalendrier(idEleve) ⇒ Promise.<Calendrier>

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
 })

kdecole.getNotes(idEleve) ⇒ Promise.<NotesList>

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
 })

kdecole.getMessagerieInfo() ⇒ Promise.<MessageInfo>

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
 })

kdecole.getMessagerieBoiteReception(pagination) ⇒ Promise.<MessageBoiteReception>

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
 })

kdecole.getCommunication(id) ⇒ Promise.<Communication>

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
 })

kdecole.reportCommunication(id) ⇒ Promise.<void>

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)

kdecole.deleteCommunication(id) ⇒ Promise.<void>

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)

kdecole.setCommunicationLu(id) ⇒ Promise.<void>

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)

kdecole.sendMessage(id, corpsMessage) ⇒ Promise.<void>

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)

kdecole.gestionAppels() ⇒ Promise.<GestionAppels>

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
 })

kdecole.validerAppel(appel) ⇒ Promise.<void>

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)

Kdecole.login(username, password, apiVersion, apiUrl) ⇒ Promise.<string>

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].