API: formsemestre/bulletins au format long_mat.

This commit is contained in:
Emmanuel Viennet 2022-11-28 19:13:07 +01:00
parent 6799937445
commit 2bad43593e
2 changed files with 23 additions and 15 deletions

View File

@ -27,6 +27,7 @@ En général, vous préférez développer sur la machine hôte pour disposer de
éditeur préféré, mais exécutez ScoDoc dans la VM. éditeur préféré, mais exécutez ScoDoc dans la VM.
### Éditeur de texte / IDE ### Éditeur de texte / IDE
Si vous êtes expérimenté, vous avez vos outils préférés. Mais si vous débutez, Si vous êtes expérimenté, vous avez vos outils préférés. Mais si vous débutez,
surtout pour un environnement de développement distant (le code développé tourne surtout pour un environnement de développement distant (le code développé tourne
dans une machine virtuelle ou réelle séparée de votre machine de bureau), nous dans une machine virtuelle ou réelle séparée de votre machine de bureau), nous

View File

@ -648,8 +648,8 @@ informatique de 2014 en formation initiale (FI).
* **Permission: `ScoView`** * **Permission: `ScoView`**
* **Paramètres:** `dept_id` * **Paramètres:** `dept_id`
* **Routes:** * **Routes:**
* `/departement/id/<int:dept_id>/formsemestres_courants` * `/departement/id/<int:dept_id>/formsemestres_courants`
* `/departement/<string:dept>/formsemestres_courants` * `/departement/<string:dept>/formsemestres_courants`
* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants` * **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants`
* **Résultat:** Liste des formsemestres en cours d'un département donné. * **Résultat:** Liste des formsemestres en cours d'un département donné.
* **Exemple de résultat:** [departement-formsemestres-courants.json](samples/sample_departement-formsemestres-courants.json.md) * **Exemple de résultat:** [departement-formsemestres-courants.json](samples/sample_departement-formsemestres-courants.json.md)
@ -660,9 +660,9 @@ informatique de 2014 en formation initiale (FI).
* **Permission: `ScoView`** * **Permission: `ScoView`**
* **Paramètres:** aucun * **Paramètres:** aucun
* **Query string:** `annee_scolaire`, `dept_acronym`, `dept_id`, `etape_apo`, `ine`, `nip` * **Query string:** `annee_scolaire`, `dept_acronym`, `dept_id`, `etape_apo`, `ine`, `nip`
* **Route:** `/formsemestres/query * **Route:** `/formsemestres/query`
* **Exemple d'utilisation:** `/api/formsemestres/query?etape_apo=V7HU1&annee_scolaire=2021` * **Exemple d'utilisation:** `/api/formsemestres/query?etape_apo=V7HU1&annee_scolaire=2021`
* **Résultat:** Description de formsemestresg. Si plusieurs * **Résultat:** Description de formsemestres. Si plusieurs
paramètres sont donnés, c'est la conjonction (ET) des critères qui est paramètres sont donnés, c'est la conjonction (ET) des critères qui est
recherchée. Si aucun formsemestre ne satisfait la requête, une liste vide est recherchée. Si aucun formsemestre ne satisfait la requête, une liste vide est
retournée. Si `ine`ou `nip`sont spécifiés, cherche les formsemestres dans retournée. Si `ine`ou `nip`sont spécifiés, cherche les formsemestres dans
@ -674,7 +674,7 @@ informatique de 2014 en formation initiale (FI).
* **Méthode:** GET * **Méthode:** GET
* **Permission: `ScoView`** * **Permission: `ScoView`**
* **Paramètres:** `etudid`, `nip`, `ine` * **Paramètres:** `etudid`, `nip`, `ine`
* **Routes:** : * **Routes:**
* `/etudiant/etudid/<int:etudid>/formsemestres` ou * `/etudiant/etudid/<int:etudid>/formsemestres` ou
* `/etudiant/nip/<string:nip>/formsemestres` ou * `/etudiant/nip/<string:nip>/formsemestres` ou
* `/etudiant/ine/<string:ine>/formsemestres` * `/etudiant/ine/<string:ine>/formsemestres`
@ -1119,23 +1119,29 @@ d'un autre).
logiciel. Voir [ConfigPermissions](ConfigPermissions.md). logiciel. Voir [ConfigPermissions](ConfigPermissions.md).
* **Exemple de résultat:** [permissions.json](samples/sample_permissions.json.md) * **Exemple de résultat:** [permissions.json](samples/sample_permissions.json.md)
### ** API Bulletin, Evaluations, Notes** ### ** API Bulletin, Évaluations, Notes**
#### **formsemestre-bulletins** #### **formsemestre-bulletins**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `ScoView`** * **Permission: `ScoView`**
* **Paramètres:** `formsemestre_id` * **Paramètres:** `formsemestre_id`
* **Route:** `/formsemestre/<int:formsemestre_id>/bulletins * **Route:** `/formsemestre/<int:formsemestre_id>/bulletins[/<string:version>]`
* **Exemple d'utilisation:** `/api/formsemestre/1/bulletins` * **Exemple d'utilisation:** `/api/formsemestre/1/bulletins`
* **Résultat:** Bulletins d'un formsemestre spécifié par son id. * **Résultat:** Bulletins d'un formsemestre spécifié par son id.
* **Exemple de résultat:** [formsemestre-bulletins.json](samples/sample_formsemestre-bulletins.json.md) * **Exemple de résultat:** [formsemestre-bulletins.json](samples/sample_formsemestre-bulletins.json.md)
Pour les formations classiques (toutes sauf BUT), les bulletins JSON peut ou non
indiquer les matières. Par défaut (version `long`), il est structuré en `UEs / modules`. Si la
version est `short_mat`ou `long_mat`, il sera structuré en
`UEs / matieres / modules`.
#### **etudiant-formsemestre-bulletin** #### **etudiant-formsemestre-bulletin**
Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules
pour un formsemestre spécifié par son id. 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 Par défaut les valeurs numériques sont formatées en chaînes. Si format=raw, valeurs numériques
mais pas JSON compliant à cause des `NaN`. mais pas JSON compliant à cause des `NaN`.
* **Méthode:** GET * **Méthode:** GET
@ -1143,20 +1149,21 @@ mais pas JSON compliant à cause des `NaN`.
* **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine` * **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine`
* **Query string:** `format` * **Query string:** `format`
* **Routes:** * **Routes:**
`/etudiant/etudid/<int:etudid>/formsemestre/<int:formsemestre_id>/bulletin[/short][/pdf]` `/etudiant/etudid/<int:etudid>/formsemestre/<int:formsemestre_id>/bulletin[/<string:version>][/pdf]`
ou `/etudiant/nip/<string:nip>/formsemestre/<int:formsemestre_id>/bulletin[/short][/pdf]` ou `/etudiant/nip/<string:nip>/formsemestre/<int:formsemestre_id>/bulletin[/<string:version>][/pdf]`
ou `/etudiant/ine/<string:ine>/formsemestre/<int:formsemestre_id>/bulletin[/short][/pdf]` ou `/etudiant/ine/<string:ine>/formsemestre/<int:formsemestre_id>/bulletin[/<string:version>][/pdf]`
* **Exemple d'utilisation:** `/etudiant/nip/1/formsemestre/1/bulletin` * **Exemple d'utilisation:** `/etudiant/nip/1/formsemestre/1/bulletin`
* **Résultat:** Bulletin de l'étudiant dans le formsemestre. * **Résultat:** Bulletin de l'étudiant dans le formsemestre.
Deux variantes possibles: Deux variantes possibles:
* versions `long` et `short` (`long`par défaut, ajoutez `/short` pour la version plus courte). * versions `long` et `short` (`long` par défaut, ajoutez `/short` pour la version plus courte).
* version `json` et `pdf` (`json` par défaut, ajoutez `/pdf` pour la version * version `json` et `pdf` (`json` par défaut, ajoutez `/pdf` pour la version
pdf) pdf)
Pour les formations classiques (toutes sauf BUT), les bulletins JSON peut ou Pour les formations classiques (toutes sauf BUT), les bulletins JSON peut ou
non indiquer les matières. Par défaut, il est structuré en `UEs / modules`. Si non indiquer les matières. Par défaut (version `long`), il est structuré en
la version est `short_mat`ou `long_mat`, il sera structuré en `UEs / modules`.
Si la version est `short_mat`ou `long_mat`, il sera structuré en
`UEs / matieres / modules`. `UEs / matieres / modules`.
Les notes moyennes de matières ne sont calculées que si l'option Les notes moyennes de matières ne sont calculées que si l'option
"*Afficher les matières sur les bulletins*" est activée pour le formsemestre "*Afficher les matières sur les bulletins*" est activée pour le formsemestre