From 0bb3d3eeb22b5bba4c810b90f57b1bf51ea291a2 Mon Sep 17 00:00:00 2001 From: viennet Date: Sat, 1 May 2021 18:21:58 +0200 Subject: [PATCH] Documentation API absences --- docs/ScoDocAPI.md | 53 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/docs/ScoDocAPI.md b/docs/ScoDocAPI.md index 3613f2e..a73a3e7 100644 --- a/docs/ScoDocAPI.md +++ b/docs/ScoDocAPI.md @@ -20,13 +20,13 @@ L'URL complète est de la forme: `https://scodoc.example.com/ScoDoc/DEPT/Scolari Un exemple d'utilisation de l'API en PHP pour publier les bulletins de notes sur un site externe pour les étudiants est disponible ici: source:/trunk/misc/PublicationBulletins/ExemplePHP -## Fonctions d'accès aux données -### Départements +# Fonctions d'accès aux données +## Départements * **`list_depts`** * Paramètres: `viewable` (optionnel, si faux liste aussi les départements non accessible à l'utilisateur courant), `format` (json, xml) * Résultat: liste des id de départements. -### Programmes de formations +## Programmes de formations * **`formation_list`** * Paramètres: `formation_id` (optionnel, si absent liste toutes les formations) * Résultat: liste de formations. @@ -36,7 +36,7 @@ Un exemple d'utilisation de l'API en PHP pour publier les bulletins de notes sur * Résultat: la formation, avec UE, matières, modules (un arbre). -### Semestres de formation +## Semestres de formation Les sessions de formation (dénommées "semestres" même si elles durent une année ou un mois) sont représentées par les `formsemestre`. * **`formsemestre_list`** @@ -57,7 +57,7 @@ Exemple: `INFO-DUT-FI-S1-2014` : semestre S1 d'un DUT informatique de 2014 en fo -### Groupes et partitions +## Groupes et partitions L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieurs partitions (types de groupes). Chaque partition est constituée d'un nombre quelconque de groupes d'étudiants. * **`formsemestre_partition_list`** @@ -182,7 +182,7 @@ Et un autre exemple en format JSON: ``` -### Etudiants +## Etudiants * **`etud_info`** * Paramètres: `etudid` ou `code_nip` ou `code_ine` * Résultat: informations sur cette étudiant et les semestres dans lesquels il est (ou a été) inscrit. @@ -232,7 +232,7 @@ Et un autre exemple en format JSON: -### Bulletins de notes +## Bulletins de notes * **`Notes/formsemestre_bulletinetud`** * Paramètres: `formsemestre_id`, `etudid`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals`ou `long`) * Résultat: bulletin de notes @@ -866,9 +866,44 @@ Et un autre exemple en format JSON: } ``` +## Absences + * **`Absences/ListeAbsEtud`** + * Paramètres: `etudid, abs_just_only, format`. `abs_just_only` spécifie si on veut les absences justifiées ou non. + * Résultat: liste d'absences. Exemple: + ```{jour: "2021-02-10", ampm: "0", description: "M2202", }``` + (`ampm` vaut 1 le matin et 0 l'après-midi). + * **`Absences/doSignaleAbsence`** + * Paramètres: ```datedebut, datefin, moduleimpl_id=None, demijournee=2, estjust=False,description, etudid``` + * Résultat: *html* + * Remarques: dates au format `dd/mm/yyyy`. Date de fin non incluse. `demijournee`: 2 si journée complète, 1 matin, 0 après-midi. -### Modules + * **`Absences/doAnnuleAbsence`** + * Paramètres: ```datedebut, datefin, demijournee, etudid``` + * Résultat: *html* + + * **`Absences/doAnnuleJustif`** + * Paramètres: ```context, datedebut0, datefin0, demijournee``` + * Résultat: *html* + + * **`Absences/EtatAbsencesGr`** + * Liste les absences d'un ou plusieurs groupes entre deux dates. + * Paramètres: ```group_ids, debut, fin, with_boursier=True, format=html``` + * Résultat: liste des absences. Si `format="json"`, cela donne par exemple: + ```[ { + boursier: "N", + nbabs: "9", + nbabsjust: "2", + nbabsnonjust: "7", + nbjustifs_noabs: "0", + nomprenom: "Mme Poisson Dodouce", + etudid: "EID12345" + }, + ... + ]``` + * Remarque: on peut spécifier plusieurs groupes. + +## Modules * **`Notes/do_moduleimpl_list`** * Paramètres: `[formsemestre_id, moduleimpl_id, module_id]` * Résultat: liste de moduleimpl @@ -878,7 +913,7 @@ Et un autre exemple en format JSON: * Résultat: liste triée de moduleimpl, avec l'attribut `module` -### En savoir plus +## En savoir plus Voir l'exemple complet d'utilisation de l'API JSON en Python, dans `misc/example-api-1.py`