complements (fichiers examples separes & maj carte

This commit is contained in:
Jean-Marie PLACE 2022-07-26 09:42:22 +02:00
parent 99cfc106b9
commit 3401b09701
15 changed files with 1693 additions and 1229 deletions

View File

@ -133,7 +133,7 @@ systèmes, voir plus haut pour la ême chose avec la commande `http`):
`SERVEUR` est l'adresse (IP ou nom) de votre serveur.
La réponse doit ressembler à ceci:
```
```json
{
"token": "LuXXxk+i74TXYZZl8MulgbiCGmVHXXX"
}
@ -163,22 +163,25 @@ par le serveur ScoDoc.
## Départements
#### **`departements_ids`**
#### **departements_ids**
* **Méthode:** GET
* **Routes:** `/departements_ids`
* **Résultat:** Liste des id départements (visibles ou non).
* **Exemple de résultat:**
```
```json
[ 1888, 999, 165 ]
```
#### **`departement`**
#### **departement**
* **Méthode:** GET
* **Routes:** `/departement/<dept_id>`
* **Routes:**
* `/departement/id/<int:dept_id>`
* `/departement/<string:dept>`
* **Résultat:** Un département
* **Exemple de résultat:**
```
```json
{
"id": 1,
"acronym": "TAPI",
@ -188,32 +191,34 @@ par le serveur ScoDoc.
},
```
#### **`departements`**
#### **departements**
* **Méthode:** GET
* **Routes:** `/departements`
* **Exemple d'utilisation:** `/api/departements`
* **Résultat:** Liste des tous les départements (visibles ou non).
* **Exemple de résultat:**
```
```json
[
{ un département }
...
]
```
chaque département est décrit selon [departement](ScoDoc9API.md#departement)
#### **Étudiants d'un département**
* **Méthode:** GET
* **Paramètres:** `dept`, `formsemestre_id`
* **Routes:** `/departement/<string:dept>/etudiants`
* **Paramètres:** `dept`, `dept_id`
* **Routes:**
* `/departement/id/<int:dept_id>/etudiants`
* `/departement/<string:dept>/etudiants`
* **Exemple d'utilisation:** `/api/departement/MMI/etudiants`
* **Résultat:** liste tous les étudiants d'un département, par défaut, ou d'un
formsemestre si renseigné. 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:**
```
```json
[
{
"civilite": "M", // M, F ou X
@ -230,101 +235,128 @@ par le serveur ScoDoc.
]
```
### Semestres
#### **Formsemestres d'un département**
* **Méthode:** GET
* **Paramètres:** `dept`
* **Routes:**
* `/departement/id/<int:dept_id>/formsemestres_ids`
* `/departement/<string:dept>/formsemestres_ids`
* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_ids`
* **Résultat:** Liste des id des formsemestres (passés ou présents) d'un département donné.
* **Exemple de résultat:**
```[ 28, 99, 3 ]```
#### **Formsemestres en cours d'un département**
* **Méthode:** GET
* **Paramètres:** `dept`
* **Routes:**
* `/departement/id/<int:dept_id>/formsemestres_courants`
* `/departement/<string:dept>/formsemestres_courants`
* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants`
* **Résultat:** Liste des formsemestres en cours d'un département donné.
* **Exemple de résultat:** [formsemestre-courants.json](samples/sample_formsemestres-courants.json.md)
### **Semestres**
#### **Formsemestre**
* **Méthode:** GET
* **Paramètres:** `formsemestre_id`
* **Route:** `/formsemestre/<int:formsemestre_id>`
* **Exemple d'utilisation:** `/api/formsemestre/1`
* **Résultat:** Données d'un formsemestre spécifié par son id.
* **Exemple de résultat:** [formsemestre.json](samples/sample_formsemestre.json.md)
#### **Formsemestres**
* **Méthode:** GET
* **Paramètres:** `dept`
* **Routes:** `/departement/<string:dept>/formsemestres_ids`
* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_ids`
* **Résultat:** Liste des id des formsemestres d'un département donné.
* **Exemple de résultat:**
```[ 28, 99, 3 ]```
* **Paramètres:** aucun
* ** Query string:** `etape_apo`, `annee_scolaire`, `dept_acronym`, `dept_id`
* **Route:** `/formsemestres/query
* **Exemple d'utilisation:** `/api/formsemestres/query?etape_apo=V7HU1&annee_scolaire=2021`
* **Résultat:** Données d'un formsemestre spécifié par son id.
* **Exemple de résultat:** [formsemestres.json](samples/sample_formsemestres.json.md)
#### **Formsemestres en cours**
#### **Bulletins d'un formsemestre**
* **Méthode:** GET
* **Paramètres:** `dept`
* **Routes:** `/departement/<string:dept>/formsemestres_courants`
* **Exemple d'utilisation:** `/api/departement/MMI/formsemestres_courants`
* **Résultat:** Liste des formsemestres en cours d'un département donné.
* **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"
},
...
]
```
* **Paramètres:** `formsemestre_id`
* **Route:** `/formsemestres/<int:formsemestre_id>/bulletins
* **Exemple d'utilisation:** `/api/formsemestre/1/bulletins`
* **Résultat:** Bulletins d'un formsemestre spécifié par son id.
* **Exemple de résultat:** [formsemestre-bulletins.json](samples/sample_formsemestre-bulletins.json.md)
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).
#### **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:** [formsemestre-programme.json](samples/sample_formsemestre-programme.json.md)
#### **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:** [formsemestre-etudiants.json](samples/sample_formsemestre-etudiants.json.md)
#### **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:** [formsemestre-etat-eval.json](samples/sample_formsemestre-etat-eval.json.md)
#### **Résultats d'un formsemestre**
* **Méthode:** GET
* **Paramètres:** `formsemestre_id`
* **Query string: `format`
* **Route:** `/formsemestres/resultats`
* **Exemple d'utilisation:** `/api/formsemestre/1/resultats`
* **Résultat:** [formsemestre-etat-eval.json](samples/sample_formsemestre-resultats.json.md)
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` ou `/etudiants/courant/long`
* **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"
}
]
```
* **Exemple de résultat:** [etudiants-courant.json](samples/sample_etudiants-courant.json.md)
#### **`etudiant`**
* **Méthode:** GET
* **Paramètres:** `etudid`, `nip`, `ine`
* **Routes:** `/etudiant/etudid/<int:etudid>` ou `/etudiant/nip/<string:nip>` ou `/etudiant/ine/<string:ine>`
* **Routes:**
* `/etudiant/etudid/<int:etudid>` ou
* `/etudiant/nip/<string:nip>` ou
* `/etudiant/ine/<string:ine>`
* **Exemple d'utilisation:** `/api/etudiant/nip/1`
* **Résultat:** Retourne les informations sur l'étudiant correspondant à
l'id passé en paramètres.
@ -410,49 +442,16 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
### Cursus
#### **`etudiant_formsemestres`**
#### **etudiant_formsemestres**
* **Méthode:** GET
* **Paramètres:** `etudid`, `nip`, `ine`
* **Routes:** : `/etudiant/etudid/<int:etudid>/formsemestres` ou `/etudiant/nip/<string:nip>/formsemestres` ou `/etudiant/ine/<string:ine>/formsemestres`
* **Routes:** :
* `/etudiant/etudid/<int:etudid>/formsemestres` ou
* `/etudiant/nip/<string:nip>/formsemestres` ou
* `/etudiant/ine/<string:ine>/formsemestres`
* **Exemple d'utilisation:** `/etudiant/ine/1/formsemestres`
* **Résultat:** Retourne la liste des semestres qu'un étudiant a suivis, triés par ordre chronologique. (json)
* **Exemple de résultat:**
```
[
{
"date_fin": "31/08/2022",
"resp_can_edit": false,
"dept_id": 1,
"etat": true,
"resp_can_change_ens": true,
"id": 1,
"modalite": "FI",
"ens_can_edit_eval": false,
"formation_id": 1,
"gestion_compensation": false,
"elt_sem_apo": null,
"semestre_id": 1,
"bul_hide_xml": false,
"elt_annee_apo": null,
"titre": "Semestre test",
"block_moyennes": false,
"scodoc7_id": null,
"date_debut": "01/09/2021",
"gestion_semestrielle": false,
"bul_bgcolor": "white",
"formsemestre_id": 1,
"titre_num": "Semestre test semestre 1",
"date_debut_iso": "2021-09-01",
"date_fin_iso": "2022-08-31",
"responsables": [
12,
42
],
"titre_court": "BUT MMI"
},
...
]
```
* **Exemple de résultat:** [etudiant-formsemestres.json](samples/sample_etudiant-formsemestres.json.md)
### Bulletin
@ -1113,7 +1112,7 @@ des informations suivantes:
* **Paramètres:** `formsemestre_id`
* **Routes:** `/formsemestre/<int:formsemestre_id>/etat_evals`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/etat_evals`
* **Résultat:** Retourne les informations sur l'état des évaluations d'un semestre donnée
* **Résultat:** Retourne les informations sur l'état des évaluations d'un semestre donné
* **Exemple de résultat:**
```
{

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 260 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 249 KiB

After

Width:  |  Height:  |  Size: 245 KiB

View File

@ -0,0 +1,40 @@
## etudiant-formsemestres
`/api/etudiant/etudid/9567/formsemestres`
```json
[
{
"id": 824,
"modalite": "FI",
"ens_can_edit_eval": true,
"formation_id": 301,
"gestion_compensation": true,
"elt_sem_apo": null,
"semestre_id": 1,
"bul_hide_xml": false,
"elt_annee_apo": null,
"titre": "DUT Informatique (PPN 2013)",
"block_moyennes": false,
"scodoc7_id": "SEM39860",
"date_debut": "31/08/2020",
"gestion_semestrielle": true,
"date_fin": "17/01/2021",
"bul_bgcolor": "white",
"etat": false,
"resp_can_edit": true,
"dept_id": 6,
"resp_can_change_ens": true,
"parcours": [],
"formsemestre_id": 824,
"titre_num": "DUT Informatique (PPN 2013) semestre 1",
"date_debut_iso": "2020-08-31",
"date_fin_iso": "2021-01-17",
"responsables": [
419
],
"titre_formation": "DUT Info."
},
...
]
```

View File

@ -0,0 +1,4 @@
### etudiants_courant
`/api/etudiants/9537`

View File

@ -0,0 +1,62 @@
### etudiants_courant
`/api/etudiants/courant`
```json
[
{
"id": 9537,
"nip": "42101034",
"ine": "999999999GC",
"nom": "DURAND",
"nom_usuel": null,
"prenom": "ANAIS",
"civilite": "F"
},
{
"id": 9585,
"nip": "11682976",
"ine": "0907044529E",
"nom": "DUPONT",
"nom_usuel": null,
"prenom": "LAURIANE",
"civilite": "F"
},...
]
```
ou
`/api/etudiants/courant`
```json
[
{
"civilite": "F",
"code_ine": "999999999GC",
"code_nip": "42101034",
"date_naissance": "29/09/2002",
"dept_id": 6,
"dept_acronym": "INFO",
"email": "anais.durand.etu@univ-lille.fr",
"emailperso": "anais.durand@laposte.net",
"etudid": 9537,
"nom": "DURAND",
"prenom": "ANAIS",
"nomprenom": "Mme Anais DURAND",
"lieu_naissance": "BESANCON",
"dept_naissance": "",
"nationalite": "FR",
"boursier": true,
"codepostaldomicile": "59251",
"paysdomicile": "FRANCE",
"telephonemobile": "0788498979",
"typeadresse": "domicile",
"id": 11911,
"domicile": "18b rue de scodoc",
"villedomicile": "ALLENNES LES MARAIS",
"telephone": "0720584624",
"fax": "",
"description": "(infos admission)"
},
...
```

View File

@ -0,0 +1,129 @@
### formsemestre-bulletins
`/api/formsemestre/1/bulletins`
```json
[
{
"type": "classic",
"version": "0",
"etudid": 9586,
"formsemestre_id": 829,
"date": "2022-07-25T14:44:03.305430",
"publie": true,
"etapes": [
"3RETAL"
],
"etape_apo": "3RETAL",
"etudiant": {
"etudid": 9586,
"code_nip": "42021436",
"code_ine": "081377224FD",
"nom": "WUILMART",
"prenom": "Jade",
"civilite": "Mme",
"photo_url": "/ScoDoc/INFO/Scolarite/get_photo_image?etudid=9586&amp;size=small",
"email": "jade.wuilmart.etu@univ-lille.fr",
"emailperso": "jeufir@gmail.com",
"sexe": "Mme"
},
"note": {
"value": "12.54",
"min": "01.55",
"max": "15.30",
"moy": "12.80"
},
"rang": {
"value": "9",
"ninscrits": 10
},
"rang_group": [
{
"group_type": "cgir",
"group_name": "alt",
"value": "",
"ninscrits": 0
}
],
"note_max": {
"value": 20
},
"bonus_sport_culture": {
"value": 0.0
},
"ue": [
{
"id": 1188,
"numero": "1",
"acronyme": "BCC1",
"titre": "Concevoir et maintenir une infrastructure réseau",
"note": {
"value": "11.65",
"min": "00.00",
"max": "16.10",
"moy": "12.52"
},
"rang": "8",
"effectif": 10,
"ects": " 6",
"code_apogee": "",
"module": [
{
"id": 13240,
"code": "rsxip",
"coefficient": 6.0,
"numero": 1,
"titre": "Technologies IP",
"abbrev": "None",
"note": {
"value": "11.65",
"moy": "12.52",
"max": "16.10",
"min": "00.00",
"nb_notes": 10,
"nb_missing": 0,
"nb_valid_evals": 4
},
"code_apogee": "",
"evaluation": [
{
"jour": "2021-11-09",
"heure_debut": "08:00:00",
"heure_fin": "08:00:00",
"coefficient": 1.5,
"evaluation_type": 0,
"evaluation_id": 24782,
"description": "DS Réseaux IP",
"note": "16.00"
},
...
]
}
]
},
...
],
"ue_capitalisee": [],
"situation": "Inscrit le 06/09/2021. UE acquises: BCC1, BCC2, BCC3, BCC 4, BCC 5, BCC 6, BCC8. Décision jury: Validé Diplôme obtenu.",
"decision": {
"code": "ADM",
"etat": "I",
"date": "2022-07-11",
"compense_formsemestre_id": null
},
"decision_ue": [
{
"ue_id": 1188,
"numero": 1,
"acronyme": "BCC1",
"titre": "Concevoir et maintenir une infrastructure réseau",
"code": "ADM",
"ects": 6.0
},
...
],
"autorisation_inscription": [],
"appreciation": []
},
]
```

View File

@ -0,0 +1,6 @@
### formsemestre-etat-eval
`/api/formsemestre/1/etat_evals`
TODO

View File

@ -0,0 +1,44 @@
### formsemestre-etudiants
`/api/formsemestre/1/etudiants`
```json
[
{
"id": 9586,
"nip": "42021436",
"ine": "081377224FD",
"nom": "WUILMART",
"nom_usuel": null,
"prenom": "JADE",
"civilite": "F",
"groups": [
{
"partition_id": 1731,
"id": 3770,
"formsemestre_id": 829,
"partition_name": null,
"numero": 401,
"bul_show_rank": false,
"show_in_lists": true,
"groups_editable": true,
"group_id": 3770,
"group_name": null
},
{
"partition_id": 1735,
"id": 3784,
"formsemestre_id": 829,
"partition_name": "cgir",
"numero": 405,
"bul_show_rank": false,
"show_in_lists": true,
"groups_editable": true,
"group_id": 3784,
"group_name": "alt"
}
]
},
...
]
```

View File

@ -0,0 +1,65 @@
### formsemestre-programme
`/api/formsemestre/1/programme`
```json
{
"ues": [
{
"formation_id": 328,
"ue_code": "UCOD74",
"id": 1188,
"ects": 6.0,
"acronyme": "BCC1",
"is_external": false,
"numero": 1,
"code_apogee": "",
"titre": "Concevoir et maintenir une infrastructure réseau",
"coefficient": 0.0,
"semestre_idx": null,
"coef_rcue": 1.0,
"type": 0,
"color": null,
"niveau_competence_id": null,
"ue_id": 1188,
"module_ue_coefs": []
},
...
],
"ressources": [],
"saes": [],
"modules": [
{
"id": 13240,
"formsemestre_id": 829,
"computation_expr": null,
"module_id": 7591,
"responsable_id": 397,
"module": {
"id": 7591,
"ects": null,
"module_type": 0,
"titre": "Technologies IP",
"ue_id": 1188,
"abbrev": null,
"formation_id": 328,
"code": "rsxip",
"matiere_id": 3499,
"heures_cours": 0.0,
"semestre_id": 1,
"heures_td": 0.0,
"numero": 1,
"heures_tp": 0.0,
"code_apogee": "",
"coefficient": 6.0,
"parcours": [],
"app_critiques": [],
"module_id": 7591
},
"moduleimpl_id": 13240,
"ens": []
},
...
]
}
```

View File

@ -0,0 +1,45 @@
### formsemestre-resultats
`/api/formsemestre/1/resultats`
```json
[
{
"etudid": 11607,
"code_nip": "41804612",
"rang": "1",
"civilite_str": "M.",
"nom_disp": "ANONYMOUS",
"prenom": "SIMON",
"nom_short": "DESMARETS Si.",
"moy_gen": 15.301055555555555,
"moy_ue_1188": 15.160000000000002,
"moy_mod_13240_1188": 15.16,
"moy_ue_1189": 18.25,
"moy_mod_13243_1189": 18.25,
"moy_ue_1190": 15.425925925925927,
"moy_mod_13163_1190": 16.5,
"moy_mod_13165_1190": 14.083333333333334,
"moy_ue_1191": 15.003333333333332,
"moy_mod_13166_1191": 15.003333333333332,
"moy_ue_1192": 13.0,
"moy_mod_13167_1192": 13.0,
"moy_ue_1193": 16.0,
"moy_mod_13168_1193": 16.0,
"moy_ue_1196": 14.666666666666666,
"moy_mod_13169_1196": 14.666666666666666,
"ues_validables": "7/7",
"part_1735": "alt",
"bac": "STI2D MENTION BIEN",
"specialite": "SYSTEME INFORMATIQUE ET NUMERIQUE",
"type_admission": "Inconnue",
"classement": "",
"partitions": {
"1731": 3770,
"1735": 3784
}
},
...
]
```

View File

@ -0,0 +1,38 @@
### formsemestre
`/api/formsemestre/1`
```json
{
"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"
}
```

View File

@ -0,0 +1,41 @@
### formsemestres-courants
`/api/departement/MMI/formsemestres_courants`
```json
[
{
"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"
},
...
]
```

View File

@ -0,0 +1,39 @@
### formsemestres
`/api/formsemestres/query?etape_apo=V7HU1&annee_scolaire=2021`
```json
{
"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).