Merge pull request 'ajouts exemples' (#30) from jmplace/DocScoDoc:complements_4.docs into master

Reviewed-on: https://scodoc.org/git/viennet/DocScoDoc/pulls/30
This commit is contained in:
Emmanuel Viennet 2022-08-03 07:35:06 +02:00
commit 0d6a5b758a
16 changed files with 763 additions and 527 deletions

View File

@ -161,6 +161,20 @@ par le serveur ScoDoc.
* [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500) : Erreur
inconnue côté serveur.
[test](img/API_Chart.svg)
## Règles générales
* une route s'écrit comme une suite de noms et d'identifiants
* les noms token, departement, formation, formsemestre, groupe, etudiant, bulletin, absence, logo, programme, évaluation, resultat, decision désigne des types d'objets.
* les noms (verbes ou groupes verbaux): set_etudiant, remove_etudiant, query, create, delete, edit, order sont des actions
* les noms restants (ids, courant, long, ...) sont des options
Les autre noms sont des options ou des actions
* le dernier nom apparaissant sur une route donne le type d'objet renvoyé. ce nom peut apparaître au singulier ou au pluriel
* Au singulier un seul objet est renvoyé, si aucun objet n'est trouvé, retourne un 404
* Au pluriel une collection d'objets est renvoyée, si aucun obket n'est trouvé, retourne une collection vide
* un type d'objet au singulier est généralement suivi immédiatement de son identifiant (unique). Exception: pour un étudiant, on peut également utiliser le NIP ou l'INE (qui ne sont pas uniques)
## Départements
#### **departements_ids**
@ -256,7 +270,7 @@ par le serveur ScoDoc.
* `/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)
* **Exemple de résultat:** [departement-formsemestres-courants.json](samples/sample_departement-formsemestres_courants.json.md)
### **Semestres**
@ -273,7 +287,7 @@ par le serveur ScoDoc.
* **Méthode:** GET
* **Paramètres:** aucun
* ** Query string:** `etape_apo`, `annee_scolaire`, `dept_acronym`, `dept_id`
* **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. Si plusieurs 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 retournée
@ -316,7 +330,7 @@ par le serveur ScoDoc.
* **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)
* **Exemple de résultat:** [formsemestre-etat-eval.json](samples/sample_formsemestre-etat_evals.json.md)
#### **Résultats d'un formsemestre**
@ -325,7 +339,7 @@ par le serveur ScoDoc.
* **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ésultat:** [formsemestre-resultats.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.
@ -336,17 +350,17 @@ mais pas JSON compliant à cause des _NaN_.
## Étudiants
#### **`etudiants_courant`**
#### **`etudiants_courants`**
* **Méthode:** GET
* **Routes:**
* `/etudiants/courant`
* `/etudiants/courant/long`
* **Exemple d'utilisation:** `/api/etudiants/courant`
* `/etudiants/courants`
* `/etudiants/courants/long`
* **Exemple d'utilisation:** `/api/etudiants/courants`
* **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:** [etudiants-courant.json](samples/sample_etudiants-courant.json.md)
* **Exemple de résultat:** [etudiants-courants.json](samples/sample_etudiants-courants.json.md)
#### **`etudiant`**
@ -469,7 +483,7 @@ mais pas JSON compliant à cause des _NaN_.
* **Exemple d'utilisation:** `/ScoDoc/api/formations`
* **Résultat:** Retourne la liste de toutes les formations (tous
départements)
* **Exemple de résultat:** [formations.json](samples/sample_formations.json.md)
### Export programme
#### **`formation export`**
@ -481,9 +495,7 @@ mais pas JSON compliant à cause des _NaN_.
* `/formation/export/<int:formation_id>/with_ids`
* **Exemple d'utilisation:** `/ScoDoc/api/formation/formation_export/1`
* **Résultat:** Retourne la formation, avec UE, matières, modules
* **Exemple de résultat:**
#### Référentiel de compétences [formation-export.json](samples/sample_formation-export.json.md)
* **Exemple de résultat:** [formation-export.json](samples/sample_formation-export.json.md)
#### **`referentiel_competences`**
@ -492,7 +504,8 @@ mais pas JSON compliant à cause des _NaN_.
* **Routes:** `/formation/<int:formation_id>/referentiel_competences`
* **Exemple d'utilisation:** `api/formation/1/referentiel_competences`
* **Résultat:** Le référentiel de compétences d'une formation donnée (json). (_pas toujours présent_)
* **Exemple de résultat:** [formation-referentiel_competences.json](samples/sample_formation-referentiel_competences.json.md)
*
XXX obtenir la liste des référentiels ?
## Formsemestres
@ -591,179 +604,7 @@ des informations suivantes:
* **Routes:** `/formsemestre/<int:formsemestre_id>/bulletins`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/bulletins`
* **Résultat:** tous les bulletins d'un formsemestre.
* **Exemple de résultat:**
```
[
{
"version": "0",
"type": "BUT",
"date": "2022-04-27T07:18:16.450634Z",
"publie": true,
"etudiant": {
"civilite": "X",
"code_ine": "1",
"code_nip": "1",
"date_naissance": "",
"email": "SACHA.COSTA@example.com",
"emailperso": "",
"etudid": 1,
"nom": "COSTA",
"prenom": "SACHA",
"nomprenom": "Sacha COSTA",
"lieu_naissance": "",
"dept_naissance": "",
"nationalite": "",
"boursier": "",
"fiche_url": "/ScoDoc/TAPI/Scolarite/ficheEtud?etudid=1",
"photo_url": "/ScoDoc/TAPI/Scolarite/get_photo_image?etudid=1&size=small",
"id": 1,
"codepostaldomicile": "",
"paysdomicile": "",
"telephonemobile": "",
"typeadresse": "domicile",
"domicile": "",
"villedomicile": "",
"telephone": "",
"fax": "",
"description": ""
},
"formation": {
"id": 1,
"acronyme": "BUT R&amp;T",
"titre_officiel": "Bachelor technologique réseaux et télécommunications",
"titre": "BUT R&amp;T"
},
"formsemestre_id": 1,
"etat_inscription": "I",
"options": {
"show_abs": true,
"show_abs_modules": false,
"show_ects": true,
"show_codemodules": false,
"show_matieres": false,
"show_rangs": true,
"show_ue_rangs": true,
"show_mod_rangs": true,
"show_moypromo": false,
"show_minmax": false,
"show_minmax_mod": false,
"show_minmax_eval": false,
"show_coef": true,
"show_ue_cap_details": false,
"show_ue_cap_current": true,
"show_temporary": true,
"temporary_txt": "Provisoire",
"show_uevalid": true,
"show_date_inscr": true
},
"ressources": {
"R101": {
"id": 1,
"titre": "Initiation aux réseaux informatiques",
"code_apogee": null,
"url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=1",
"moyenne": {},
"evaluations": [
{
"id": 1,
"description": "eval1",
"date": "2022-04-20",
"heure_debut": "08:00",
"heure_fin": "09:00",
"coef": "01.00",
"poids": {
"RT1.1": 1
},
"note": {
"value": "12.00",
"min": "00.00",
"max": "18.00",
"moy": "10.88"
},
"url": "/ScoDoc/TAPI/Scolarite/Notes/evaluation_listenotes?evaluation_id=1"
}
]
}
},
"saes": {
"SAE11": {
"id": 2,
"titre": "Se sensibiliser à l&apos;hygiène informatique et à la cybersécurité",
"code_apogee": null,
"url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=2",
"moyenne": {},
"evaluations": []
}
},
"ues": {
"RT1.1": {
"id": 1,
"titre": "Administrer les réseaux et lInternet",
"numero": 1,
"type": 0,
"color": "#B80004",
"competence": null,
"moyenne": {
"value": "08.50",
"min": "06.00",
"max": "16.50",
"moy": "11.31",
"rang": "12",
"total": 16
},
"bonus": "00.00",
"malus": "00.00",
"capitalise": null,
"ressources": {
"R101": {
"id": 1,
"coef": 12,
"moyenne": "12.00"
}
},
"saes": {
"SAE11": {
"id": 2,
"coef": 16,
"moyenne": "~"
}
},
"ECTS": {
"acquis": 0,
"total": 12
}
},
"semestre": {
"etapes": [],
"date_debut": "2021-09-01",
"date_fin": "2022-08-31",
"annee_universitaire": "2021 - 2022",
"numero": 1,
"inscription": "",
"groupes": [],
"absences": {
"injustifie": 1,
"total": 2
},
"ECTS": {
"acquis": 0,
"total": 30
},
"notes": {
"value": "10.60",
"min": "02.40",
"moy": "11.05",
"max": "17.40"
},
"rang": {
"value": "10",
"total": 16
}
}
}
}
]
```
* **[Exemple de résultat](samples/sample_formsemestre-bulletins.json.md)**
#### **etat_evals d'un formsemestre**
@ -772,55 +613,7 @@ des informations suivantes:
* **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é
* **Exemple de résultat:**
```
{
"RT1.1": [
{
"id": 1,
"titre": "Initiation aux réseaux informatiques",
"evaluations": [
{
"id": 1,
"description": null,
"datetime_epreuve": null,
"heure_fin": "09:00:00",
"comptee": "oui",
"inscrits": 16,
"manquantes": 0,
"ABS": 0,
"ATT": 0,
"EXC": 0,
"saisie_notes": {
"datetime_debut": "2021-09-11T00:00:00+02:00",
"datetime_fin": "2022-08-25T00:00:00+02:00",
"datetime_mediane": "2022-03-19T00:00:00+01:00"
}
},
{
"id": 22,
"description": null,
"datetime_epreuve": "2021-08-11T00:00:00+02:00",
"heure_fin": "08:00:00",
"comptee": "oui",
"inscrits": 16,
"manquantes": 0,
"ABS": 0,
"ATT": 0,
"EXC": 0,
"saisie_notes": {
"datetime_debut": "2021-09-11T00:00:00+02:00",
"datetime_fin": "2022-08-25T00:00:00+02:00",
"datetime_mediane": "2022-03-19T00:00:00+01:00"
}
},
]
},
]
}
```
* **Exemple de résultat:** [formsemestre-etat_evals.json](samples/sample_formsemestre-etat_evals.json.md)
#### **`jury`** (**non implémentée**)
@ -843,66 +636,7 @@ des informations suivantes:
* **Routes:** `/formsemestre/<int:formsemestre_id>/programme`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/programme`
* **Résultat:** Retourne la liste des UEs, modules, ressources et SAE d'un semestre.
* **Exemple de résultat:**
```
{
"ues": [
{
"type": 0,
"formation_id": 1,
"ue_code": "UCOD11",
"id": 1,
"ects": 12.0,
"acronyme": "RT1.1",
"is_external": false,
"numero": 1,
"code_apogee": "",
"titre": "Administrer les r\u00e9seaux et l\u2019Internet",
"coefficient": 0.0,
"semestre_idx": 1,
"color": "#B80004",
"ue_id": 1
},
...
],
"ressources": [
{
"ens": [ 10, 18 ],
"formsemestre_id": 1,
"id": 15,
"module": {
"abbrev": "Programmer",
"code": "SAE15",
"code_apogee": "V7GOP",
"coefficient": 1.0,
"formation_id": 1,
"heures_cours": 0.0,
"heures_td": 0.0,
"heures_tp": 0.0,
"id": 15,
"matiere_id": 3,
"module_id": 15,
"module_type": 3,
"numero": 50,
"semestre_id": 1,
"titre": "Programmer en Python",
"ue_id": 3
},
"module_id": 15,
"moduleimpl_id": 15,
"responsable_id": 2
},
...
],
"saes": [
{
...
},
...
],
"modules" : [ ... les modules qui ne sont ni des SAEs ni des ressources ... ]
}
```
* **Exemple de résultat:** [formsemestre-programme.json](samples/sample_formsemestre-programme.json.md)
#### Module d'un formsemestre
@ -914,40 +648,10 @@ responsable et ses enseignants).
* **Méthode:** GET
* **Paramètres:** `moduleimpl_id`
* **Routes:** `/formation/moduleimpl/<int:moduleimpl_id>`
* **Routes:** `/moduleimpl/<int:moduleimpl_id>`
* **Exemple d'utilisation:** `/ScoDoc/api/formation/moduleimpl/1`
* **Résultat:** Retourne la liste des moduleimpl
* **Exemple de résultat:**
```
{
"id": 1,
"formsemestre_id": 1,
"computation_expr": null,
"module_id": 1,
"responsable_id": 2,
"moduleimpl_id": 1,
"ens": [],
"module": {
"heures_tp": 0,
"code_apogee": "",
"titre": "Initiation aux réseaux informatiques",
"coefficient": 1,
"module_type": 2,
"id": 1,
"ects": null,
"abbrev": "Init aux réseaux informatiques",
"ue_id": 1,
"code": "R101",
"formation_id": 1,
"heures_cours": 0,
"matiere_id": 1,
"heures_td": 0,
"semestre_id": 1,
"numero": 10,
"module_id": 1
}
}
```
* **Exemple de résultat:** [moduleimpl.json](samples/sample_moduleimpl.json.md)
### Groupes et partitions
@ -955,87 +659,159 @@ 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.
#### **`partitions`**
* **Méthode: GET**
* **Paramètres:** `formsemestre_id`
* **Routes:** `/formsemestre/<int:formsemestre_id>/partitions`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/911/partitions`
* **Résultat:** La liste de toutes les partitions d'un formsemestre.
* **Exemple de résultat:** [formsemestre-partitions.json](samples/sample_formsemestre-partitions.json.md)
#### **`partition`**
* **Méthode: GET**
* **Paramètres:** `formsemestre_id`
* **Routes:** `/partitions/<int:formsemestre_id>`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/48`
* **Résultat:** La liste de toutes les partitions d'un formsemestre.
* **Exemple de résultat:**
```
[
{
"partition_id": 2,
"id": 2,
"formsemestre_id": 1,
"partition_name": "TD",
"numero": 1,
"bul_show_rank": false,
"show_in_lists": true
},
{
"partition_id": 1,
"id": 1,
"formsemestre_id": 1,
"partition_name": null,
"numero": 0,
"bul_show_rank": false,
"show_in_lists": true
}
]
```
* **Méthode: GET**
* **Paramètres:** `partition_id`
* **Routes:** `/partition/<int:partition_id>`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/1963`
* **Résultat:** La description d'une partition (y compris la liste de ses groupes).
* **Exemple de résultat:** [partition.json](samples/sample_partition.json.md)
#### **`groups`**
#### **`partition-edit`**
* **Méthode: GET**
* **Paramètres:** `group_id`, `etat`
* **Routes:** `/partitions/groups/<int:group_id>` ou `/partitions/groups/<int:group_id>/etat/<string:etat>`
* **Exemple d'utilisation:** `/ScoDoc/api/partitions/groups/1`
* **Résultat:** Retourne la liste des étudiants dans un groupe.
* **Exemple de résultat:**
```
[
{
"etudid": 10,
"id": 10,
"dept_id": 1,
"nom": "BOUTET",
"prenom": "Marguerite",
"nom_usuel": "",
"civilite": "F",
"date_naissance": null,
"lieu_naissance": null,
"dept_naissance": null,
"nationalite": null,
"statut": null,
"boursier": null,
"photo_filename": null,
"code_nip": "10",
"code_ine": "10",
"scodoc7_id": null,
"email": "MARGUERITE.BOUTET@example.com",
"emailperso": null,
"domicile": null,
"codepostaldomicile": null,
"villedomicile": null,
"paysdomicile": null,
"telephone": null,
"telephonemobile": null,
"fax": null,
"typeadresse": "domicile",
"description": null,
"group_id": 1,
"etat": "I",
"civilite_str": "Mme",
"nom_disp": "BOUTET",
"nomprenom": "Mme Marguerite BOUTET",
"ne": "e",
"email_default": "MARGUERITE.BOUTET@example.com"
}
]
```
* **Méthode: POST**
* **Paramètres:** `partition_id`
* **Data:** `{ partition_name : <string> }`
* **Routes:** `/partition/<int:partition_id>/edit`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/2047/edit`
>`{ "partition_name" : "PART4" }`
* **Résultat:** Renomme une partition
* **[Exemple de résultat](samples/sample_partition-edit.json.md)
#### **`partition-delete`**
* **Méthode: POST**
* **Paramètres:** `partition_id`
* **Routes:** `/partition/<int:partition_id>/delete`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/2047/delete`
* **Résultat:** Supprime une partition.
* **[Exemple de résultat](samples/sample_partition-delete.json.md)
#### **`formsemestre-partition-create`**
* **Méthode: POST**
* **Paramètres:** `formsemestre_id`
* **Data:** `{ "partition_name" : <string> }`
* **Routes:** `/formsemestre/<int:formsemestre_id>/partition/create`
>`{ "partition_name" : "PART" }`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/944/partition/create`
* **Résultat:** Crée une nouvelle partition dans un formsemestre.
* **[Exemple de résultat:](samples/sample_formsemestre-partition-create.json.md)**
#### **`formsemestre-partition-order`**
* **Méthode: POST**
* **Paramètres:** `formsemestre_id`
* **Data:** `[ <int:partition_id1>, <int:partition_id2>, ... ]`
* **Routes:** `/formsemestre/<int:formsemestre_id>/partition/order`
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/944/partition/order`
>`[ 2048, 2054 ]`
* **Résultat:** Spécifie l'ordre des partitions d'un formsemestre.
* **[Exemple de résultat:](samples/sample_formsemestre-partition-order.json.md)**
#### **`partition-groups-order`**
* **Méthode: POST**
* **Paramètres:** `partition_id`
* **Data:** `[ <int:group_id1>, <int:group_id2>, ... ]`
* **Routes:** `/partition/<int:partition_id>/groups/order`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/1962/groups/order`
>`[ 4383, 4379, 4380, 4381, 4382, 4384 ]`
* **Résultat:** Spécifie l'ordre des groupes d'une partition.
* **[Exemple de résultat:](samples/sample_partition-groups-order.json.md)**
#### **`group-etudiants`**
* **Méthode: GET**
* **Paramètres:** `group_id`
* **Routes:** `/group/<int:group_id>/etudiants`
* **Exemple d'utilisation:** `/ScoDoc/api/group/1/etudiants`
* **Résultat:** Retourne la liste des étudiants dans un groupe.
* **Exemple de résultat:** [group-etudiants.json](samples/sample_group-etudiants.json.md)
#### **`groups-etudiants-query`**
* **Méthode: GET**
* **Paramètres:** `group_id`
* **Query string:** `etat` ('I', 'D' ou 'DEF')
* **Routes:** `/group/<int:group_id>/etudiants/query`
* **Exemple d'utilisation:** `/ScoDoc/api/group/1/etudiants/query?etat=I`
* **Résultat:** Retourne la liste des étudiants dans un groupe.
* **Exemple de résultat:** [group-etudiants-query.json](samples/sample_group-etudiants-query.json.md)
#### **`groups-set_etudiant`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `group_id`, `etudid`
* **Routes:** `/group/<int:group_id>/set_etudiant/<int:etudid>`
* **Exemple d'utilisation:** `/ScoDoc/api/group/4085/set_etudiant/12108`
* **Résultat:** Affecte un étudiant dans un groupe.
* **[Exemple de résultat](samples/sample_group-set_etudiant.json.md)**
#### **`groups-remove_etudiant`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `group_id`, `etudid`
* **Routes:** `/group/<int:group_id>/remove_etudiant/<int:etudid>`
* **Exemple d'utilisation:** `/ScoDoc/api/group/4085/remove_etudiant/12108`
* **Résultat:** Retire un étudiant d'un groupe.
* **[Exemple de résultat](samples/sample_group-remove_etudiant.json.md)**
#### **`partition-group-create`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `partition_id`
* **Data:** `{ group_name : <string> }`
* **Routes:** `/partition/<int:partition_id>/create`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/1962/create`
>`{ "group_name" : "A" }`
* **Résultat:** Crée un groupe dans une partition.
* **[Exemple de résultat](samples/sample_formsemestre-partition-create.json.md)**
#### **`partition-group-delete`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `group_id`
* **Routes:** `/group/<int:group_id>/delete`
* **Exemple d'utilisation:** `/ScoDoc/api/group/4581/delete`
* **Résultat:** Supprime un groupe.
* **[Exemple de résultat](samples/sample_group-delete.json.md)**
#### **`partition-remove_etudiant`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `partition_id`
* **Routes:** `/partition/<int:partition_id>/remove_etudiant/<int:etudid>`
* **Exemple d'utilisation:** `/ScoDoc/api/partition/1962/remove_etudiant/12107`
* **Résultat:** Reture un étudiant des groupes de la partition.
* **[Exemple de résultat](samples/sample_partition-remove_etudiant.json.md)**
#### **`group-edit`**
* **Méthode: POST**
* **Permission: `ScoEtudChangeGroups`***
* **Paramètres:** `group_id`
* **Data:** `{ group_name : <string> }`
* **Routes:** `/group/<int:group_id>/edit`
* **Exemple d'utilisation:** `/ScoDoc/api/group/4581/edit`
>`{ "group_name" : "nouveau" }`
* **Résultat:** Renomme un groupe.
* **[Exemple de résultat](samples/sample_group-edit.json.md)**
### Évaluations

Binary file not shown.

View File

@ -1,129 +1,230 @@
### formsemestre-bulletins
`/api/formsemestre/1/bulletins`
`/api/formsemestre/911/bulletins`
```json
[
[
{
"type": "classic",
"version": "0",
"etudid": 9586,
"formsemestre_id": 829,
"date": "2022-07-25T14:44:03.305430",
"type": "BUT",
"date": "2022-08-02T10:25:37.411626Z",
"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"
"civilite": "M",
"code_ine": "0910036777K",
"code_nip": "21701024",
"date_naissance": "05/10/1999",
"dept_id": 6,
"dept_acronym": "INFO",
"email": "quentin.albert.etu@univ-lille.fr",
"emailperso": "quentin.nether@gmail.com",
"etudid": 11958,
"nom": "ALBERT",
"prenom": "QUENTIN",
"nomprenom": "M. Quentin ALBERT",
"lieu_naissance": "ROUBAIX",
"dept_naissance": "",
"nationalite": "",
"boursier": "",
"fiche_url": "/ScoDoc/INFO/Scolarite/ficheEtud?etudid=11958",
"photo_url": "/ScoDoc/INFO/Scolarite/get_photo_image?etudid=11958&size=small",
"id": 11958,
"domicile": "25 Allée de la marbrerie",
"villedomicile": "TOURCOING",
"telephone": "0664126512",
"fax": "",
"description": "(infos admission)",
"codepostaldomicile": "59200",
"paysdomicile": "",
"telephonemobile": "0621096401",
"typeadresse": "domicile"
},
"note": {
"value": "12.54",
"min": "01.55",
"max": "15.30",
"moy": "12.80"
"formation": {
"id": 374,
"acronyme": "BUT Informatique",
"titre_officiel": "Licence professionnelle",
"titre": "BUT Informatique"
},
"formsemestre_id": 944,
"etat_inscription": "I",
"options": {
"show_abs": false,
"show_abs_modules": false,
"show_ects": false,
"show_codemodules": false,
"show_matieres": false,
"show_rangs": true,
"show_ue_rangs": false,
"show_mod_rangs": false,
"show_moypromo": false,
"show_minmax": false,
"show_minmax_mod": false,
"show_minmax_eval": false,
"show_coef": true,
"show_ue_cap_details": false,
"show_ue_cap_current": true,
"show_temporary": false,
"temporary_txt": "PROVISOIRE",
"show_uevalid": true,
"show_date_inscr": false
},
"ressources": {
"R1.01": {
"id": 15278,
"titre": "Initiation au dév.",
"code_apogee": null,
"url": "/ScoDoc/INFO/Scolarite/Notes/moduleimpl_status?moduleimpl_id=15278",
"moyenne": {},
"evaluations": []
},
"R1.02": {
"id": 15275,
"titre": "Dev. interfaces web",
"code_apogee": null,
"url": "/ScoDoc/INFO/Scolarite/Notes/moduleimpl_status?moduleimpl_id=15275",
"moyenne": {},
"evaluations": []
},
...
},
"saes": {
"SAE1.01": {
"id": 15279,
"titre": "SAE1.01",
"code_apogee": null,
"url": "/ScoDoc/INFO/Scolarite/Notes/moduleimpl_status?moduleimpl_id=15279",
"moyenne": {},
"evaluations": []
},
"SAE1.02": {
"id": 15263,
"titre": "SAE1.02",
"code_apogee": null,
"url": "/ScoDoc/INFO/Scolarite/Notes/moduleimpl_status?moduleimpl_id=15263",
"moyenne": {},
"evaluations": []
},
...
},
"ues": {
"UE 1.1": {
"id": 2074,
"titre": "Réaliser un développement d&apos;application",
"numero": 1,
"type": 0,
"color": "#B80004",
"competence": null,
"moyenne": {
"value": "~",
"min": "~",
"max": "~",
"moy": "~",
"rang": "",
"total": 0,
"groupes": {}
},
"bonus": "00.00",
"malus": "00.00",
"capitalise": null,
"ressources": {
"R1.01": {
"id": 15278,
"coef": 0.42,
"moyenne": "~"
},
"R1.02": {
"id": 15275,
"coef": 0.12,
"moyenne": "~"
},
"R1.10": {
"id": 15266,
"coef": 0.06,
"moyenne": "~"
}
},
"saes": {
"SAE1.01": {
"id": 15279,
"coef": 0.4,
"moyenne": "~"
}
}
},
"UE 1.2": {
"id": 2081,
"titre": "Optimiser des applications informatiques",
"numero": 200,
"type": 0,
"color": "#F97B3D",
"competence": null,
"moyenne": {
"value": "~",
"min": "~",
"max": "~",
"moy": "~",
"rang": "",
"total": 0,
"groupes": {}
},
"bonus": "00.00",
"malus": "00.00",
"capitalise": null,
"ressources": {
"R1.01": {
"id": 15278,
"coef": 0.24,
"moyenne": "~"
},
"R1.03": {
"id": 15270,
"coef": 0.06,
"moyenne": "~"
},
"R1.06": {
"id": 15262,
"coef": 0.15,
"moyenne": "~"
},
"R1.07": {
"id": 15268,
"coef": 0.15,
"moyenne": "~"
}
},
"saes": {
"SAE1.02": {
"id": 15263,
"coef": 0.4,
"moyenne": "~"
}
}
},
...
},
"semestre": {
"etapes": [
"1BFQQU"
],
"date_debut": "2022-09-01",
"date_fin": "2022-12-31",
"annee_universitaire": "2022 - 2023",
"numero": 1,
"inscription": "",
"groupes": [],
"notes": {
"value": "00.00",
"min": "00.00",
"moy": "11.24",
"max": "14.06"
},
"rang": {
"value": "9",
"ninscrits": 10
},
"rang_group": [
{
"group_type": "cgir",
"group_name": "alt",
"value": "",
"ninscrits": 0
"value": "10",
"total": 10,
"groupes": {}
}
],
"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,88 @@
### formsemestre-etat-eval
`/api/formsemestre/911/etat_evals`
```json
[
{
"id": 14530,
"responsable_id": 667,
"computation_expr": null,
"module_id": 8194,
"formsemestre_id": 911,
"moduleimpl_id": 14530,
"ens": [],
"module": {
"abbrev": "DEv. objets",
"formation_id": 333,
"code": "R 2.01",
"matiere_id": 3861,
"heures_cours": 0.0,
"semestre_id": 2,
"heures_td": 0.0,
"numero": 216,
"heures_tp": 0.0,
"code_apogee": "",
"titre": "Développement orienté objets",
"coefficient": 0.0,
"module_type": 2,
"id": 8194,
"ects": null,
"ue_id": 1772,
"parcours": [],
"app_critiques": [],
"module_id": 8194
},
"evaluations": [
{
"jour": "02/06/2022",
"heure_fin": "15h00",
"description": "DS (UE2.1)",
"coefficient": 3.0,
"publish_incomplete": true,
"numero": 2,
"moduleimpl_id": 14530,
"id": 25902,
"heure_debut": "13h30",
"note_max": 20.0,
"visibulletin": true,
"evaluation_type": 0,
"evaluation_id": 25902,
"date_debut": "2022-06-02T13:30:00",
"date_fin": "2022-06-02T15:00:00",
"poids": {
"1772": 1.0,
"1773": 0.0,
"1774": 0.0,
"1775": 0.0,
"1776": 0.0,
"1777": 0.0
},
"jouriso": "2022-06-02",
"duree": "1h30",
"descrheure": " de 13h30 à 15h00",
"matin": 0,
"apresmidi": 1,
"etat": {
"evaluation_id": 25902,
"nb_attente": 0,
"is_complete": true
},
"nb_inscrits": 117,
"nb_notes_manquantes": 0,
"nb_notes_abs": 16,
"nb_notes_att": 0,
"nb_notes_exc": 0,
"saisie_notes": {
"datetime_debut": "2022-06-14T16:11:16+02:00",
"datetime_fin": "2022-06-17T16:21:17+02:00",
"datetime_mediane": "2022-06-14T16:11:16+02:00"
}
},
...
]
},
...
]
```

View File

@ -0,0 +1,20 @@
### formsemestre-partition-create
`/api/formsemestre/944/partition/create`
> `Content-Type: application/json`
>
> `{ "group_name": "PART" }`
```json
{
"numero": 0,
"formsemestre_id": 944,
"show_in_lists": false,
"id": 2060,
"groups_editable": true,
"bul_show_rank": false,
"partition_name": "PART2",
"groups": {}
}
```

View File

@ -0,0 +1,40 @@
### formsemestre-partition-order
`/api/formsemestre/944/partition/create`
> `Content-Type: application/json`
>
> `[ 2059, 2047, 2060 ]`
```json
[
{
"formsemestre_id": 944,
"numero": 0,
"show_in_lists": false,
"id": 2059,
"partition_name": "PART",
"bul_show_rank": false,
"groups_editable": true
},
{
"formsemestre_id": 944,
"numero": 1,
"show_in_lists": true,
"id": 2047,
"partition_name": "PART4",
"bul_show_rank": false,
"groups_editable": true
},
{
"formsemestre_id": 944,
"numero": 2,
"show_in_lists": false,
"id": 2060,
"partition_name": "PART2",
"bul_show_rank": false,
"groups_editable": true
}
]
```

View File

@ -0,0 +1,11 @@
### partition-group-create
`/api/group/4581/delete`
```json
{
"OK": true
}
```

View File

@ -0,0 +1,25 @@
### partition-group-create
`/api/group/4581/edit`
> `Content-Type: application/json`
>
> `{ "group_name": "nouveau" }`
```json
{
"group_name": "a",
"partition_id": 1962,
"id": 4384,
"numero": null,
"partition": {
"formsemestre_id": 911,
"numero": 1960,
"show_in_lists": true,
"id": 1962,
"partition_name": "TD",
"bul_show_rank": false,
"groups_editable": true
}
}
```

View File

@ -0,0 +1,19 @@
### group-etudiants
`/api/group/4085/set_etudiants?etat=D`
```json
[
{
"id": 12071,
"code_nip": "24123901",
"code_ine": "081818679FE",
"dept_id": 6,
"nom": "HAMMO",
"nom_usuel": null,
"prenom": "NATHAN",
"civilite": "M"
}
]
```

View File

@ -0,0 +1,30 @@
### group-etudiants
`/api/group/4085/etudiants`
```json
[
{
"id": 9589,
"code_nip": "42435003",
"code_ine": "081574305FJ",
"dept_id": 6,
"nom": "AVENU",
"nom_usuel": null,
"prenom": "FLORINE",
"civilite": "F"
},
{
"id": 12019,
"code_nip": "21782690",
"code_ine": "0CPZUI046Q4",
"dept_id": 6,
"nom": "BOULVAR",
"nom_usuel": null,
"prenom": "ALEXANDRE",
"civilite": "M"
},
...
]
```

View File

@ -0,0 +1,11 @@
### group-remove_etudiant
`/api/group/4085/remove_etudiant/12107`
```json
{
"group_id": 4385,
"etudid": 12107
}
```

View File

@ -0,0 +1,11 @@
### group-set_etudiants
`/api/group/4085/set_etudiants/12107`
```json
{
"group_id": 4385,
"etudid": 12107
}
```

View File

@ -0,0 +1,9 @@
### partition-delete
`/api/partition/2047/delete`
```json
{
"OK": true
}
```

View File

@ -0,0 +1,20 @@
### partition-edit
`/api/partition/2047/edit`
> `Content-Type: application/json`
>
> `{ "partition_name": "PART4" }`
```json
{
"numero": 1,
"formsemestre_id": 944,
"show_in_lists": true,
"id": 2047,
"groups_editable": true,
"bul_show_rank": false,
"partition_name": "PART4",
"groups": {}
}
```

View File

@ -0,0 +1,64 @@
### partition-groups-order
`/api/partition/1962/groups/order`
> `Content-Type: application/json`
>
> `[ 4383, 4379, 4380, 4381, 4382, 4384 ]`
```json
{
"formsemestre_id": 911,
"numero": 1960,
"show_in_lists": true,
"partition_name": "TD",
"bul_show_rank": false,
"groups_editable": true,
"id": 1962,
"groups": {
"4383": {
"group_name": "E",
"partition_id": 1962,
"id": 4383,
"numero": 0,
"name": "E"
},
"4379": {
"group_name": "A",
"partition_id": 1962,
"id": 4379,
"numero": 1,
"name": "A"
},
"4380": {
"group_name": "B",
"partition_id": 1962,
"id": 4380,
"numero": 2,
"name": "B"
},
"4381": {
"group_name": "C",
"partition_id": 1962,
"id": 4381,
"numero": 3,
"name": "C"
},
"4382": {
"group_name": "D",
"partition_id": 1962,
"id": 4382,
"numero": 4,
"name": "D"
},
"4384": {
"group_name": "a",
"partition_id": 1962,
"id": 4384,
"numero": 5,
"name": "a"
}
}
}
```

View File

@ -0,0 +1,11 @@
### group-remove_etudiant
`/api/partition/1962/remove_etudiant/12107`
```json
{
"partition_id": 1962,
"etudid": 12107
}
```