From 2a4cf59f0233bd8653fdaa0e026f8b28eeb9bfd0 Mon Sep 17 00:00:00 2001 From: Jean-Marie PLACE Date: Mon, 25 Jul 2022 13:39:44 +0200 Subject: [PATCH] next --- docs/ScoDoc9API.md | 270 ++++++++++++++++++++++++++++----------------- 1 file changed, 169 insertions(+), 101 deletions(-) diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index d9b6f80ab..7155631c2 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -163,15 +163,6 @@ par le serveur ScoDoc. ## Départements -#### **`departements_ids`** - - * **Méthode:** GET - * **Routes:** `/departements_ids` - * **Résultat:** Liste des id départements (visibles ou non). - * **Exemple de résultat:** - ``` - [ 1888, 999, 165 ] - ``` #### **`departements`** * **Méthode:** GET @@ -186,6 +177,16 @@ par le serveur ScoDoc. ] ``` +#### **`departements_ids`** + + * **Méthode:** GET + * **Routes:** `/departements_ids` + * **Résultat:** Liste des id départements (visibles ou non). + * **Exemple de résultat:** + ``` + [ 1888, 999, 165 ] + ``` + #### **`departement`** * **Méthode:** GET @@ -207,13 +208,13 @@ par le serveur ScoDoc. #### **Étudiants d'un département** * **Méthode:** GET - * **Paramètres:** `dept`, `formsemestre_id` + * **Paramètres:** `dept`, `dept_id` * **Routes:** * `/departement/id//etudiants` * `/departement//etudiants` * **Exemple d'utilisation:** `/api/departement/MMI/etudiants` - * **Résultat:** liste tous les étudiants d'un département. On peut spécifier l'acronyme du département - ("MMI") ou son id (un entier). + * **Résultat:** liste tous les étudiants (passés ou présents) d'un département. + On peut spécifier l'acronyme du département ("MMI") ou son id (un entier). Attention, la liste peut être longue: requête coûteuse à éviter. * **Exemple de résultat:** ``` @@ -240,11 +241,11 @@ par le serveur ScoDoc. * `/departement/id//formsemestres_ids` * `/departement//formsemestres_ids` * **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_ids` -* **Résultat:** Liste des id des formsemestres d'un département donné. +* **Résultat:** Liste des id des formsemestres (passés ou présents) d'un département donné. * **Exemple de résultat:** ```[ 28, 99, 3 ]``` -#### **Formsemestre courants d'un département** +#### **Formsemestre en cours d'un département** * **Méthode:** GET * **Paramètres:** `dept` @@ -254,7 +255,42 @@ par le serveur ScoDoc. * **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants` * **Résultat:** Liste des id des formsemestres en cours d'un département donné. * **Exemple de résultat:** - ```[ 28, 99 ]``` + ``` + [ + { + "block_moyennes": false, + "bul_bgcolor": "white", + "bul_hide_xml": false, + "date_debut_iso": "2021-09-01", + "date_debut": "01/09/2021", + "date_fin_iso": "2022-08-31", + "date_fin": "31/08/2022", + "dept_id": 1, + "elt_annee_apo": "V7HU", + "elt_sem_apo": null, + "ens_can_edit_eval": false, + "etat": true, + "formation_id": 1, + "formsemestre_id": 1, + "gestion_compensation": false, + "gestion_semestrielle": false, + "id": 1, + "modalite": "FI", + "resp_can_change_ens": true, + "resp_can_edit": false, + "responsables": [ + 12, + 42 + ], + "scodoc7_id": null, + "semestre_id": 1, + "titre_num": "BUT MMI semestre 1", + "titre": "BUT MMI", + "titre_formation": "BUT MMI" + }, + ... + ] + ``` ### Semestres @@ -262,9 +298,8 @@ par le serveur ScoDoc. #### **Formsemestre** * **Méthode:** GET -* **Paramètres:** `dept` -* **Routes:** - * `/formsemestre/` +* **Paramètres:** `formsemestre_id` +* **Route:** `/formsemestre/` * **Exemple d'utilisation:** `/api/formsemestre/1` * **Résultat:** Données d'un formsemestre spécifié par son id. * **Exemple de résultat:** @@ -304,95 +339,130 @@ par le serveur ScoDoc. #### **Formsemestres** * **Méthode:** GET -* **Paramètres:** `dept` -* **Routes:** - * `/departement/id//formsemestres_ids` - * `/departement//formsemestres_ids` -* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_ids` -* **Résultat:** Liste des id des formsemestres d'un département donné. +* **Paramètres:** aucun +* ** Query string:** `etape_apo`, `annee_scolaire`, `dept_acronym`, `dept_id` +* **Route:** `/formsemestres/query +* **Exemple d'utilisation:** `/api/formsemestres/query?etapeapo=V7HU1&annee_scolaire=2021` +* **Résultat:** Données d'un formsemestre spécifié par son id. * **Exemple de résultat:** - -#### **Formsemestres en cours** - - * **Méthode:** GET - * **Paramètres:** `dept` - * **Routes:** - * `/departement/id//formsemestres_courants` - * `/departement//formsemestres_courants` - * **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants` - * **Résultat:** Liste des formsemestres en cours d'un département donné (date du jour dans la période couverte par le formsemestre,tous départements, dans tous les départements où l'utilisateur à le rôle APIView ou ScoView) - * **Exemple de résultat:** - ``` - [ - { - "block_moyennes": false, - "bul_bgcolor": "white", - "bul_hide_xml": false, - "date_debut_iso": "2021-09-01", - "date_debut": "01/09/2021", - "date_fin_iso": "2022-08-31", - "date_fin": "31/08/2022", - "dept_id": 1, - "elt_annee_apo": "V7HU", - "elt_sem_apo": null, - "ens_can_edit_eval": false, - "etat": true, - "formation_id": 1, - "formsemestre_id": 1, - "gestion_compensation": false, - "gestion_semestrielle": false, - "id": 1, - "modalite": "FI", - "resp_can_change_ens": true, - "resp_can_edit": false, - "responsables": [ - 12, - 42 - ], - "scodoc7_id": null, - "semestre_id": 1, - "titre_num": "BUT MMI semestre 1", - "titre": "BUT MMI", - "titre_formation": "BUT MMI" - }, - ... - ] - ``` - +```{ + "block_moyennes": false, + "bul_bgcolor": "white", + "bul_hide_xml": false, + "date_debut_iso": "2021-09-01", + "date_debut": "01/09/2021", + "date_fin_iso": "2022-08-31", + "date_fin": "31/08/2022", + "dept_id": 1, + "elt_annee_apo": "V7HU", + "elt_sem_apo": null, + "ens_can_edit_eval": false, + "etat": true, + "formation_id": 1, + "formsemestre_id": 1, + "gestion_compensation": false, + "gestion_semestrielle": false, + "id": 1, + "modalite": "FI", + "resp_can_change_ens": true, + "resp_can_edit": false, + "responsables": [ + 12, + 42 + ], + "scodoc7_id": null, + "semestre_id": 1, + "titre_num": "BUT MMI semestre 1", + "titre": "BUT MMI", + "titre_formation": "BUT MMI" + } +``` Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le `titre_formation` est l'acronyme de la formation (défini dans son programme pédagogique). +#### **Bulletins d'un formsemestre** + +* **Méthode:** GET +* **Paramètres:** `formsemestre_id` +* **Route:** `/formsemestres/bulletins +* **Exemple d'utilisation:** `/api/formsemestre/1/bulletins` +* **Résultat:** Bulletins d'un formsemestre spécifié par son id. +* **Exemple de résultat:** + +#### **Programme d'un formsemestre** + +* **Méthode:** GET +* **Paramètres:** `formsemestre_id` +* **Route:** `/formsemestres/programme +* **Exemple d'utilisation:** `/api/formsemestre/1/programme` +* **Résultat:** Liste des UEs, ressources et SAE d'un formsemestre spécifié par son id. +* **Exemple de résultat:** + +#### **Etudiants d'un formsemestre** + +* **Méthode:** GET +* **Paramètres:** `formsemestre_id` +* **Route:** + * `/formsemestres/etudiants` + * `/formsemestres/etudiants/demissionnaires` + * `/formsemestres/etudiants/defaillants` +* **Exemple d'utilisation:** `/api/formsemestre/1/etudiants` +* **Résultat:** Etudiants d'un formsemestre spécifié par son id. Liste est restreinte aux étudiants démissionnaires/défaillants si l'option correspondante est ajoutée au chemin +* **Exemple de résultat:** + +#### **Etat des évaluations d'un formsemestre** + +* **Méthode:** GET +* **Paramètres:** `formsemestre_id` +* **Route:** `/formsemestres/etat_evals` +* **Exemple d'utilisation:** `/api/formsemestre/1/etat_evals` +* **Résultat:** informations sur les évaluations d'un formsemestre spécifié par son id. +* **Exemple de résultat:** + +#### **Résultats d'un formsemestre** + +* **Méthode:** GET +* **Paramètres:** `formsemestre_id` +* **Query string: `format` +* **Route:** `/formsemestres/resultats` +* **Exemple d'utilisation:** `/api/formsemestre/1/etat_evals` +* **Résultat:** Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules +pour un formsemestre spécifié par son id. +Par défaut les valeurs numériques sont formattées en chaînes. Si format=raw, valeurs numériques +mais pas JSON compliant à cause des _NaN_. +* **Exemple de résultat:** + ## Étudiants #### **`etudiants_courant`** - * **Méthode:** GET - * **Routes:** - * `/etudiants/courant` - * `/etudiants/courant/long` - * **Exemple d'utilisation:** `/api/etudiants/courant` - * **Résultat:** Liste des étudiants inscrits dans un formsemestre - actuellement en cours. Avec `/long`, donne tous les attributs de - l'étudiants (plus lent). - * **Exemple de résultat:** - ``` - [ - { - "id": 1, - "nip": 1, - "nom": "MOREL", - "prenom": "JACQUES", - "civilite": "X" - }, - { - "id": 2, - "nip": 2, - "nom": "GILLES", - "prenom": "MAXIME", - "civilite": "X" - } - ] - ``` +* **Méthode:** GET +* **Routes:** + * `/etudiants/courant` + * `/etudiants/courant/long` +* **Exemple d'utilisation:** `/api/etudiants/courant` +* **Résultat:** Liste des étudiants inscrits dans un formsemestre + actuellement en cours. Avec `/long`, donne tous les attributs de + l'étudiants (plus lent). +* **Exemple de résultat:** + ``` + [ + { + "id": 1, + "nip": 1, + "nom": "MOREL", + "prenom": "JACQUES", + "civilite": "X" + }, + { + "id": 2, + "nip": 2, + "nom": "GILLES", + "prenom": "MAXIME", + "civilite": "X" + } + ] + ``` #### **`etudiant`** @@ -755,8 +825,6 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le ] ``` - - ## Programmes de formations #### **`formation`**