Classes
- Utilisateur
Support non officiel des API de l'Université de Lorraine
Un exemple d'implémentation est disponible sur maelgangloff/bot-u2l
La classe Utilisateur contient les informations d'authentification d'un étudiant ou d'un personnel de l'Université de Lorraine. Elle permet de récupérer un ticket auprès du serveur d'authentification CAS pour s'authentifier auprès de serveurs tiers (mULti, Annuaire, ...).
- Annuaire
L'annuaire web de l'Université de Lorraine permet de se renseigner sur un personnel (adresse mail, affectation, ...)
- Multi
Le mULti centralise plusieurs ressouces:
- Emploi du temps
- Taux d'occupation des BU
- Menu des Restos U'
- FactUeL
Functions
- decryptData(s) ⇒
string
|null
Fonction permettant de "décoder" certaines données de l'annuaire: adresse mail et numéro de téléphone
Utilisateur
Support non officiel des API de l'Université de Lorraine
Un exemple d'implémentation est disponible sur maelgangloff/bot-u2l
La classe Utilisateur contient les informations d'authentification d'un étudiant ou d'un personnel de l'Université de Lorraine. Elle permet de récupérer un ticket auprès du serveur d'authentification CAS pour s'authentifier auprès de serveurs tiers (mULti, Annuaire, ...).
Kind: global class
- Utilisateur
- instance
- .getTicket(service) ⇒
Promise.<string>
- .getTicket(service) ⇒
- static
- .serviceValidate(service, ticket) ⇒
Promise.<AuthenticationSuccess>
- .serviceValidate(service, ticket) ⇒
- instance
Promise.<string>
utilisateur.getTicket(service) ⇒ Générer un ticket d'authentification à faire utiliser par un service
Kind: instance method of Utilisateur
Returns: Promise.<string>
- Le ticket à utiliser auprès du service
Param | Type | Description |
---|---|---|
service | Service | string |
L'URL de redirection à utiliser pour transmettre le ticket au service |
Example
const { Utilisateur, Service } = require('univ-lorraine-api')
const user = new Utilisateur('identifiantUL', 'motdepasseUL')
user.getTicket(Service.MULTI).then(ticket => {
console.log('Ticket à faire consommer par le service MULTI: ' + ticket)
})
Promise.<AuthenticationSuccess>
Utilisateur.serviceValidate(service, ticket) ⇒ Récupérer les informations de l'utilisateur du CAS. L'opération nécessite un ticket.
Kind: static method of Utilisateur
Returns: Promise.<AuthenticationSuccess>
- Informations de l'utilisateur
Param | Type | Description |
---|---|---|
service | Service | string |
L'URL de connexion du service (utilisé comme un identifiant) |
ticket | string |
Le ticket adressé au service |
Example
const { Utilisateur, Service } = require('univ-lorraine-api')
const user = new Utilisateur('identifiantUL', 'motdepasseUL')
user.getTicket(Service.MULTI).then(async ticket => {
const infos = await Utilisateur.serviceValidate(Service.MULTI, ticket)
console.log(`Vous êtes bien authentifié en tant que ${infos['cas:attributes']['cas:displayname']} <${infos['cas:attributes']['cas:mail']}>.`)
})
Annuaire
L'annuaire web de l'Université de Lorraine permet de se renseigner sur un personnel (adresse mail, affectation, ...)
Kind: global class
- Annuaire
- .getLdapSearch(valeur, filtervalue, withvac) ⇒
Promise.<AnnuaireResponse>
- .getPhoto(valeur) ⇒
Promise.<PhotoResponse>
- .getAffectations(valeur, principale) ⇒
Promise.<AnnuaireResponse>
- .getActivite(valeur) ⇒
Promise.<AnnuaireResponse>
- .getFonctions(valeur) ⇒
Promise.<AnnuaireResponse>
- .getStructuresRacine()
- .getDomainesFonction() ⇒
Promise.<AnnuaireResponse>
- .getPersonnelsFonction(valeur) ⇒
Promise.<AnnuaireResponse>
- .getPersonne(valeur) ⇒
Promise.<AnnuaireResponse>
- .getVacataires(valeur) ⇒
Promise.<AnnuaireResponse>
- .getPersonnelsStructure(valeur) ⇒
Promise.<AnnuaireResponse>
- .getPersonnelsStructuresFilles(valeur) ⇒
Promise.<AnnuaireResponse>
- .getVacatairesStructuresFilles(valeur) ⇒
Promise.<AnnuaireResponse>
- .getLdapSearch(valeur, filtervalue, withvac) ⇒
Promise.<AnnuaireResponse>
Annuaire.getLdapSearch(valeur, filtervalue, withvac) ⇒ Rechercher une personne travaillant dans l'Annuaire
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Le résultat de la recherche
Param | Type | Default | Description |
---|---|---|---|
valeur | string |
Nom/Prénom/Téléphone | |
filtervalue | string |
null |
Filtrer par identifiant d'un service ou d'une composante |
withvac | boolean |
Rechercher dans les vacataires ou non |
Example
const { Annuaire, decryptData } = require('univ-lorraine-api')
Annuaire.getLdapSearch('Durand', null, false).then(reponse => {
for(const personne of reponse.items) {
console.log(`${personne.displayName} <${decryptData(personne.mail)}>`)
}
})
Promise.<PhotoResponse>
Annuaire.getPhoto(valeur) ⇒ Il est possible d'accéder à la photo des personnels ayant donné leur accord pour qu'elle soit publique. La photo est encodée en base64.
Kind: static method of Annuaire
Returns: Promise.<PhotoResponse>
- La réponse contenant la photo en base64
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant d'un personnel |
Promise.<AnnuaireResponse>
Annuaire.getAffectations(valeur, principale) ⇒ Obtenir les détails des affectations d'un personnel
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les affectations du personnel
Param | Type | Description |
---|---|---|
valeur | string |
Les identifiants des secteurs d'affectation |
principale | string |
L'affectation principale du personnel |
Promise.<AnnuaireResponse>
Annuaire.getActivite(valeur) ⇒ Activité principale de la personne
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- L'activité principale du personnel
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant d'un personnel |
Promise.<AnnuaireResponse>
Annuaire.getFonctions(valeur) ⇒ Les fonctions du personnel au sein de l'Université (Directeur de la composante, ...)
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les fonctions du personnel au sein de l'UL
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant d'un personnel |
Annuaire.getStructuresRacine()
Liste les Services & Composantes de l'Université de Lorraine (Présidence, Formation, Recherche et Ecoles doctorales)
Kind: static method of Annuaire
Promise.<AnnuaireResponse>
Annuaire.getDomainesFonction() ⇒ Liste les fonctions au sein de l'UL
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les fonctions
Promise.<AnnuaireResponse>
Annuaire.getPersonnelsFonction(valeur) ⇒ Obtenir les personnels liés à une fonction particulière
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les personnels attachés à cette fonction
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant de la fonction |
Promise.<AnnuaireResponse>
Annuaire.getPersonne(valeur) ⇒ Rechercher une personne à partir de son identifiant
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Un personnel (vacataire)
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant d'un personnel |
Promise.<AnnuaireResponse>
Annuaire.getVacataires(valeur) ⇒ Lister tous les vacataires d'une structure
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les vacataires attachés à la structure
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant de la structure (supannCodeEntite) |
Promise.<AnnuaireResponse>
Annuaire.getPersonnelsStructure(valeur) ⇒ Lister tous les personnels non vacataires d'une structure
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les personnels attachés à la structure
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant de la structure (supannCodeEntite) |
Promise.<AnnuaireResponse>
Annuaire.getPersonnelsStructuresFilles(valeur) ⇒ Lister tous les personnels non vacataires des structures filles d'une entité
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les personnels attachés aux structures filles d'une entité
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant de la structure (supannCodeEntite) |
Promise.<AnnuaireResponse>
Annuaire.getVacatairesStructuresFilles(valeur) ⇒ Lister tous les vacataires des structures filles d'une entité
Kind: static method of Annuaire
Returns: Promise.<AnnuaireResponse>
- Les vacataires attachés aux structures filles d'une entité
Param | Type | Description |
---|---|---|
valeur | string |
Identifiant de la structure (supannCodeEntite) |
Multi
Le mULti centralise plusieurs ressouces:
- Emploi du temps
- Taux d'occupation des BU
- Menu des Restos U'
- FactUeL
Kind: global class
- Multi
- instance
- .getTimetable(uid, from, to) ⇒
Timetable
- .getTimetable(uid, from, to) ⇒
- static
- .getAffluenceBU(buToken) ⇒
Promise.<AffluenceBU>
- .getCROUSmenu() ⇒
Promise.<MenuCROUS>
- .login(utilisateur) ⇒
Array.<string>
- .getAffluenceBU(buToken) ⇒
- instance
Timetable
multi.getTimetable(uid, from, to) ⇒ Emploi du temps d'une personne de l'Université de Lorraine
Kind: instance method of Multi
Returns: Timetable
- L'emploi du temps de l'utilisateur sur la période
Param | Type | Description |
---|---|---|
uid | string |
Identifiant CAS d'un utilisateur |
from | Date |
Date de début |
to | Date |
Date de fin |
Example
const { Utilisateur, Multi } = require('univ-lorraine-api')
Multi.login(new Utilisateur('identifiantUL', 'motdepasseUL')).then(async auth => {
const user = new Multi(auth)
const timetable = await user.getTimetable('identifiantUL', new Date('2023-03-01'), new Date('2023-03-31'))
for(const planning of timetable.plannings) {
console.log('Planning : ' + planning.label)
}
})
Promise.<AffluenceBU>
Multi.getAffluenceBU(buToken) ⇒ Affluence d'une BU (Bibliothèque Universitaire)
Kind: static method of Multi
Returns: Promise.<AffluenceBU>
- Les données brutes concernant l'occupation du lieu
Param | Type | Description |
---|---|---|
buToken | BU | string |
Identifiant de la bibliothèque universitaire |
Promise.<MenuCROUS>
Multi.getCROUSmenu() ⇒ Les menus de tous les restaurants universitaires
Kind: static method of Multi
Returns: Promise.<MenuCROUS>
- Les menus des Restos U' de Nancy
Array.<string>
Multi.login(utilisateur) ⇒ Récupérer deux jetons JWT permettant de s'authentifier auprès de l'API du Multi Le premier JWT est le jeton d'authentification. Le deuxième est un refresh token permettant de générer un nouveau token d'authentification.
Kind: static method of Multi
Returns: Array.<string>
- Les deux jetons JWT
Param | Description |
---|---|
utilisateur | Un utilisateur de l'UL |
string
| null
decryptData(s) ⇒ Fonction permettant de "décoder" certaines données de l'annuaire: adresse mail et numéro de téléphone
Kind: global function
Returns: string
| null
- Les données "décodées"
Param | Type | Description |
---|---|---|
s | string |
Les données à "décoder" |