Documention future API REST
This commit is contained in:
parent
8be16fa32e
commit
fe583938e0
194
.gitignore
vendored
194
.gitignore
vendored
@ -1 +1,193 @@
|
||||
.idea
|
||||
# ---> Emacs
|
||||
# -*- mode: gitignore; -*-
|
||||
*~
|
||||
\#*\#
|
||||
/.emacs.desktop
|
||||
/.emacs.desktop.lock
|
||||
*.elc
|
||||
auto-save-list
|
||||
tramp
|
||||
.\#*
|
||||
|
||||
# Org-mode
|
||||
.org-id-locations
|
||||
*_archive
|
||||
|
||||
# flymake-mode
|
||||
*_flymake.*
|
||||
|
||||
# eshell files
|
||||
/eshell/history
|
||||
/eshell/lastdir
|
||||
|
||||
# elpa packages
|
||||
/elpa/
|
||||
|
||||
# reftex files
|
||||
*.rel
|
||||
|
||||
# AUCTeX auto folder
|
||||
/auto/
|
||||
|
||||
# cask packages
|
||||
.cask/
|
||||
dist/
|
||||
|
||||
# Flycheck
|
||||
flycheck_*.el
|
||||
|
||||
|
||||
|
||||
|
||||
# ---> Python
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
# For a library or package, you might want to ignore these files since the code is
|
||||
# intended to run in multiple environments; otherwise, check them in:
|
||||
# .python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# Mac OSX OS generated files
|
||||
.DS_Store?
|
||||
Thumbs.db
|
||||
*.DS_Store
|
||||
|
||||
# Other source repository archive directories (protects when importing)
|
||||
.hg
|
||||
.svn
|
||||
CVS
|
||||
|
||||
# MkDocs ScoDoc
|
||||
site/
|
||||
|
@ -12,14 +12,14 @@ L'API fournit des données JSON, sauf exception (bulletins).
|
||||
Les objets ScoDoc manipulables sont identifiés par des id:
|
||||
|
||||
* etudid: étudiant
|
||||
* form_id: un programme de formation (page "programmes");
|
||||
* formation_id: un programme de formation (page "programmes");
|
||||
* ue_id: une UE dans un programme;
|
||||
* matiere_id: une matière dans un programme;
|
||||
* module_id: un module dans un programme.
|
||||
* formsmestre_id: un "semestre" de formation.
|
||||
* formsemestre_id: un "semestre" de formation.
|
||||
|
||||
|
||||
L'URL complète est de la forme: `https://scodoc.example.com/ScoDoc/api/fonction
|
||||
L'URL complète est de la forme: `https://scodoc.example.com/ScoDoc/api/fonction`.
|
||||
|
||||
# Fonctions de l'API ScoDoc 7 portées en ScoDoc 9
|
||||
|
||||
@ -37,10 +37,10 @@ Certaines ont plusieurs "routes" (URl), car ScoDoc 7 tolérait divers accès.
|
||||
- `Absences/XMLgetAbsEtud` (deviendra `api/absences/ etudid>`, en json)
|
||||
- `Notes/evaluation_listenotes` (non existante en ScoDoc9, trop complexe)
|
||||
- `Notes/formsemestre_id` (deviendra `api/formsemestre`)
|
||||
- `Notes/formsemestre_bulletinetud` (deviendra `api/formsemestre_bulletinetud`)
|
||||
- `Notes/formsemestre_bulletinetud` (deviendra `api/etud/<etudid>/bul/<formsemestre_id>`)
|
||||
- `Notes/XMLgetFormsemestres` (non existante en ScoDoc9, redondant avec `api/formsemestre` ?)
|
||||
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/ etudid>`)
|
||||
- `groups_view`
|
||||
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/<etudid>`)
|
||||
- `groups_view` (deviendra `groups`)
|
||||
|
||||
Les routes ci-dessus s'entendent à partir de l'URL de base de votre ScoDoc, c'est
|
||||
à dire `https://votre.site.fr/ScoDoc/<dept>/Scolarite/`, et répondent en GET et
|
||||
@ -49,16 +49,20 @@ en POST.
|
||||
Note:
|
||||
- `Absences/listeBillets` est un formulaire et ne fait pas partie de l'API.
|
||||
|
||||
# Résumé des fonctions d'API ScoDoc 9 (work in progress)
|
||||
# Fonctions d'API ScoDoc 9 (work in progress)
|
||||
|
||||
Basé sur le ticket [#149](https://scodoc.org/git/viennet/ScoDoc/issues/149)
|
||||
## Définition des points d'accès à l'API REST (jwt):
|
||||
|
||||
**Note: à reformatter: le tableau n'est pas lisible et exploitable**
|
||||
La documentation ci-dessous concerne la **future** version De ScoDoc.
|
||||
|
||||
## Accès à l'API REST
|
||||
|
||||
Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonction
|
||||
|
||||
# Codes HTTP
|
||||
### Authentification
|
||||
TODO décrire procédure d'authentification et tokens jwt.
|
||||
|
||||
### Codes HTTP
|
||||
Chaque appel à l'API donne lieu à une réponse retournant un code spécifique en fonction du résultat obtenu. L'analyse de ce code vous permet de vous assurer que la requête a été traitée avec succès.
|
||||
|
||||
Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succès par nos serveurs.
|
||||
@ -74,8 +78,6 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
* [503](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/503) : L'API est momentanément indisponible, réessayez dans quelques minutes.
|
||||
|
||||
|
||||
# Description d'accès aux données
|
||||
|
||||
## Départements
|
||||
* **`departement`**
|
||||
* **Méthode:** GET
|
||||
@ -134,7 +136,7 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
"date_debut": "2008-09-01"
|
||||
}
|
||||
],
|
||||
"etudid": "EID8768",
|
||||
"etudid": "8768",
|
||||
"domicile": "2 Rue Madame",
|
||||
"villedomicile": "Paris",
|
||||
"telephonemobile": ""
|
||||
@ -142,7 +144,7 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
```
|
||||
|
||||
|
||||
* **`etud_bul`**
|
||||
* **`etud//bul`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`, `sem_id`
|
||||
* **Format URL:** `/api/etud/<int:etudid>/bul/<int:sem_id>`
|
||||
@ -152,7 +154,7 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
|
||||
|
||||
|
||||
* **`etud_photo`**
|
||||
* **`etud//photo`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`, `small`
|
||||
* **Format URL:** `/api/etud/<int:etudid>/photo` **OU** `/api/etud/<int:etudid>/photo/small` (_ajout du paramètre **small** pour la version small_)
|
||||
@ -160,49 +162,23 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
* **Résultat:** Image en JPEG ou PNG.
|
||||
|
||||
|
||||
|
||||
## Semestres
|
||||
* **`sem_info`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `sem_id`
|
||||
* **Format URL:** `/api/sem_info/<int:sem_id>`
|
||||
* **Exemple d'utilisation:** `/api/sem_info/12`
|
||||
* **Résultat:** Une liste avec les informations du semestre correspondant à l'id passé en paramètres.
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
[
|
||||
{
|
||||
"titre": "DUT Génie Electrique et Informatique Industrielle",
|
||||
"date_debut": "2021-09-01",
|
||||
"date_fin": "2022-02-02",
|
||||
"modalite": "FI",
|
||||
"sem_id_txt": "S3",
|
||||
"titre_num": "DUT Génie Electrique et Informatique Industrielle semestre 3",
|
||||
"anneescolaire": "2021 - 2022",
|
||||
"periode": 1,
|
||||
"titreannee": "DUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Programmes de formations
|
||||
* **`formation`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `form_id` (_optionnel, si absent liste toutes les formations_)
|
||||
* **Format URL:** `/api/formation` **ou** `/api/formation/<int:form_id>`
|
||||
* **Exemple d'utilisation:** `/api/formation` **ou** `̀/api/formation/1`
|
||||
* **Paramètres:** `formation_id` (_optionnel, si absent liste toutes les formations_)
|
||||
* **Format URL:** `/api/formation` **ou** `/api/formation/<int:formation_id>`
|
||||
* **Exemple d'utilisation:** `/api/formation` **ou** `/api/formation/1`
|
||||
* **Résultat:** Liste des formations.
|
||||
* **Exemple de résultat:** `[formation_1, formation_2, formation_3, ...]`
|
||||
* TODO: détailler le contenu publié
|
||||
|
||||
|
||||
|
||||
* **`formation_export`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `form_id`, `export_ids` (_par défaut "faux"_)
|
||||
* **Format URL:** `/api/formation_export/<int:form_id>`
|
||||
* **Exemple d'utilisation:** `/api/formation_export/596`
|
||||
* **Paramètres:** `formation_id`, `export_ids` (_par défaut "faux"_)
|
||||
* **Format URL:** `/api/formation_export/<int:formation_id>`
|
||||
* **Exemple d'utilisation:** `/api/formation_export/596` **ou** `/api/formation_export/596?format=xml&export_ids=1`
|
||||
* **Résultat:** La formation, avec UE, matières, modules (_un arbre_).
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
@ -214,119 +190,135 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ
|
||||
"matiere_2": "anglais",
|
||||
...
|
||||
],
|
||||
"modules": "module"
|
||||
"modules": ...
|
||||
}
|
||||
```
|
||||
|
||||
## UE
|
||||
|
||||
...
|
||||
... TODO
|
||||
|
||||
|
||||
## Modules de formation
|
||||
* **`Notes/do_moduleimpl_list`**
|
||||
* **Paramètres**: `formsemestre_id, moduleimpl_id, module_id]`
|
||||
* **Résultat:** liste de moduleimpl
|
||||
|
||||
|
||||
* **`Notes/do_moduleimpl_withmodule_list`**
|
||||
* **Paramètres**: `formsemestre_id, moduleimpl_id, module_id]`
|
||||
* **Résultat:** liste triée de moduleimpl, avec l'attribut `module`
|
||||
|
||||
|
||||
## 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_id`.
|
||||
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_id`**
|
||||
* **`formsemestre`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres (_tous optionnels_):** `formsemestre_id`, `form_id`, `etape_apo`, `etape_apo2`
|
||||
* **Format URL:** `/api/formsemestre_id?form_id=1&etape_apo=V1RT`
|
||||
* **Exemple d'utilisation:** `/api/formsemestre_id?format=xml&etape_apo=V1RT`
|
||||
* **Résultat:** Liste des semestres correspondant.
|
||||
* **Exemple de résultat:** `[sem_1, sem_2, sem_3, ...]`
|
||||
* **Paramètres:** `formsemestre_id` ou `etape_apo`, `format`(json ou xml)
|
||||
* **Format URL:** `/api/formsemestre/<int:formsemestre_id>`, `/api/formsemestre/apo/<etape_apo>`
|
||||
* **Exemple d'utilisation:** `/api/formsemestre/12`
|
||||
* **Résultat:** Informations sur le(s) formsemestre(s).
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
[
|
||||
{
|
||||
"annee_scolaire": "2022 - 2023",
|
||||
"date_debut": "2022-09-01",
|
||||
"date_fin": "2023-02-02",
|
||||
"modalite": "FI",
|
||||
"periode": 1,
|
||||
"semestre_idx_txt": "S3",
|
||||
"semestre_idx" : 3,
|
||||
"session_id" : "GEII-BUT-FI-S3-2022",
|
||||
"titre_annee": "BUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022"
|
||||
"titre_num": "BUT Génie Electrique et Informatique Industrielle semestre 3",
|
||||
"titre": "BUT Génie Electrique et Informatique Industrielle",
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Note sur les identifiants de sessions
|
||||
Le `session_id` peut être utilisé pour identifier de façon prévisible et (presque) unique une session dans un établissement, ce qui est utile notamment pour interfacer ScoDoc à d'autres logiciels (eg gestion d'emplois du temps ou de services d'enseignement). Cet identifiant est constitué des informations suivantes:
|
||||
### Note sur les identifiants de sessions
|
||||
Le `session_id` peut être utilisé pour identifier de façon prévisible et
|
||||
(presque) unique une session dans un établissement, ce qui est utile
|
||||
notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion d'emplois
|
||||
du temps ou de services d'enseignement). Cet identifiant est constitué des
|
||||
informations suivantes:
|
||||
|
||||
* **Département** (RT, GEII, INFO...) (= paramètre `DeptName`, en majuscules)
|
||||
* **Nom parcours:** DUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)
|
||||
* **Nom parcours:** BUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)
|
||||
* **Modalité:** FI, FC, FA
|
||||
* **"Spécialité":** S1 (ou S1D pour les sem. décalés), ou le `code_specialite` si pas de semestres. Le code spécialité est un champ (libre) nouveau dans la "formation" (programme pédagogique).
|
||||
* **Année:** année de début de l'année scolaire correspondante (eg 2014 pour une session appartenant à l'année scolaire 2014-2015, même si elle commence en mars 2015).
|
||||
* **"Spécialité":** S1 (ou S1D pour les semestres décalés), ou le
|
||||
`code_specialite` si pas de semestres. Le code spécialité est un champ
|
||||
(libre) nouveau dans la "formation" (programme pédagogique).
|
||||
* **Année:** année de début de l'année scolaire correspondante (2014 pour
|
||||
une session appartenant à l'année scolaire 2014-2015, même si elle
|
||||
commence en mars 2015).
|
||||
|
||||
|
||||
**Exemple:** `INFO-DUT-FI-S1-2014` équivaut à un semestre S1 d'un DUT informatique de 2014 en formation initiale (FI)
|
||||
|
||||
|
||||
## Modules de formation
|
||||
Les moduleimpl sont les modules d'un semestre, ou les ressources, ou les SAÉs.
|
||||
On peut récupérer soit un module par son id, soit la listes des modules d'un semestre.
|
||||
* **`moduleimpl`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres**: `formsemestre_id` ou `moduleimpl_id`
|
||||
* **Format URL:** `/api/moduleimpl/<int:moduleimpl_id>`, `/api/<int:moduleimpl_id>/formsemestre/<int:formsemestre_id>`
|
||||
* **Résultat:** liste de moduleimpl
|
||||
* **Exemple de résultat:**
|
||||
TODO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 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.
|
||||
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_id_partition`**
|
||||
* **`partition`**
|
||||
* **Méthode: GET**
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Format URL:** `/api/formsemestre_id_partition/<int:formsemestre_id>`
|
||||
* **Exemple d'utilisation:** `/api/formsemestre_id_partition/48`
|
||||
* **Résultat:** La liste de toutes les partitions selon un `formsemestre_id` donné.
|
||||
* **Exemple de résultat:** ici au format JSON
|
||||
* **Format URL:** `/api/partition/<int:formsemestre_id>`
|
||||
* **Exemple d'utilisation:** `/api/partition/48`
|
||||
* **Résultat:** La liste de toutes les partitions d'un formsemestre.
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
[
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "23840",
|
||||
"partition_name": "TD"
|
||||
"group": [
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "23840",
|
||||
"group_name": "A",
|
||||
"group_id": "G23841",
|
||||
"group_id": "23841",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "23840",
|
||||
"group_name": "B",
|
||||
"group_id": "G23843",
|
||||
"group_id": "23843",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "23941",
|
||||
"partition_name": "TP"
|
||||
"group": [
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"group_name": "A1",
|
||||
"group_id": "G23942",
|
||||
"partition_name": "TP"
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"group_name": "A2",
|
||||
"group_id": "G23943",
|
||||
"partition_name": "TP"
|
||||
...
|
||||
},
|
||||
...
|
||||
],
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P22833",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "22833",
|
||||
"partition_name": null
|
||||
"group": [
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P22833",
|
||||
"formsemestre_id": "12781",
|
||||
"partition_id": "22833",
|
||||
"group_name": null,
|
||||
"group_id": "G22834",
|
||||
"partition_name": null
|
||||
@ -337,7 +329,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
```
|
||||
|
||||
|
||||
* **`groups_view`**
|
||||
* **`groups`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id` ou `group_ids` (_peut être répété_), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I`
|
||||
* **Format URL:**
|
||||
@ -352,7 +344,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
<prenom value="Marc"/>
|
||||
<etat value="I"/>
|
||||
<email value="toto@example.com"/>
|
||||
<etudid value="EID9876"/>
|
||||
<etudid value="9876"/>
|
||||
<code_nip value="987654"/>
|
||||
<code_ine value=""/>
|
||||
</etud>
|
||||
@ -362,7 +354,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
<prenom value="NATHALIE"/>
|
||||
<etat value="I"/>
|
||||
<email value="xxx@example.com"/>
|
||||
<etudid value="EID12345"/>
|
||||
<etudid value="12345"/>
|
||||
<code_nip value="12345678"/>
|
||||
<code_ine value=""/>
|
||||
</etud>
|
||||
@ -377,10 +369,10 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"prenom":"Dalil",
|
||||
"nom_disp":"CLINTO",
|
||||
"email":"xxx@example.com",
|
||||
"P62029":"A",
|
||||
"P62032":null,
|
||||
"P62031":"G1",
|
||||
"P62030":"A1"
|
||||
"62029":"A",
|
||||
"62032":null,
|
||||
"62031":"G1",
|
||||
"62030":"A1"
|
||||
},
|
||||
{
|
||||
"etat":"I",
|
||||
@ -388,10 +380,10 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"prenom":"Georges",
|
||||
"nom_disp":"BUSH",
|
||||
"email":"bush@example.com",
|
||||
"P62029":"A",
|
||||
"P62032":null,
|
||||
"P62031":"G1",
|
||||
"P62030":"A1"
|
||||
"62029":"A",
|
||||
"62032":null,
|
||||
"62031":"G1",
|
||||
"62030":"A1"
|
||||
},
|
||||
...
|
||||
]
|
||||
@ -403,22 +395,23 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
* **Format URL:** `/api/set_groups?partition_id=<int:partition_id>&groups=<int:groups>&groups_to_delete=<int:groups_to_delete>&groups_to_create=<int:groups_to_create>`
|
||||
* **Exemple d'utilisation:** `/api/set_groups?partition_id=65&groups=77&groups_to_delete=8&groups_to_create=4`
|
||||
* **Résultat:** Set les groups.
|
||||
TODO: à changer, passer les paramètres dans le corps de la requete
|
||||
|
||||
|
||||
## Bulletins de notes
|
||||
* **`evaluations`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `module_id`
|
||||
* **Format URL:** `/api/evaluations/<int:module_id>`
|
||||
* **Paramètres:** `moduleimpl_id`
|
||||
* **Format URL:** `/api/evaluations/<int:moduleimpl_id>`
|
||||
* **Exemple d'utilisation:** `/api/evaluations/54`
|
||||
* **Résultat:** Liste des evaluations à partir de l'id d'un module.
|
||||
* **Résultat:** Liste des évaluations à partir de l'id d'un moduleimpl.
|
||||
* **Exemple de résultat:** `[eval_1, eval_2, eval_3, ...]`
|
||||
|
||||
|
||||
* **`eval_notes`**
|
||||
* **`evaluation_notes`**
|
||||
* **Méthode**: GET
|
||||
* **Paramètres**: `eval_id`
|
||||
* **Format URL:** `/api/eval_notes/<int:eval_id>`
|
||||
* **Paramètres**: `evaluation_id`
|
||||
* **Format URL:** `/api/eval_notes/<int:evaluation_id>`
|
||||
* **Exemple d'utilisation:** `/api/eval_notes/24`
|
||||
* **Résultat:** Liste des notes à partir de l'id d'une évaluation donnée.
|
||||
* **Exemple de résultat:**
|
||||
@ -434,15 +427,16 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
```
|
||||
|
||||
|
||||
* **`eval_set_notes`**
|
||||
* **`evaluation_set_notes`**
|
||||
* **Méthode:** POST
|
||||
* **Paramètres:** `eval_id`, `etudid`, `note`
|
||||
* **Format URL:** `/api/eval_set_notes?eval_id=<int:eval_id> etudid=<int etudid>¬e=<int:note>`
|
||||
* **Exemple d'utilisation:** `/api/eval_set_notes?eval_id=6 etudid=456¬e=15`
|
||||
* **Résultat:** Set les notes d'une évaluation pour un étudiant donné.
|
||||
TODO vérifier et passer les valeurs dans le corps.
|
||||
|
||||
|
||||
* **`Notes/formsemestre_bulletinetud`**
|
||||
* **`etud//bul`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`, `etudid`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals` ou `long`)
|
||||
* **Format URL:**
|
||||
@ -463,10 +457,10 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"prenom": "Roberto",
|
||||
"sexe": "M.",
|
||||
"code_ine": "",
|
||||
etudid": "EID9860",
|
||||
etudid": "9860",
|
||||
"code_nip": "123456789",
|
||||
"email": "roberto@santateresa.mx",
|
||||
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_EID29960.h90.jpg"
|
||||
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_29960.h90.jpg"
|
||||
},
|
||||
"bonus_sport_culture": {
|
||||
"value": 0
|
||||
@ -486,7 +480,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"value": "15.51",
|
||||
"min": "07.29"
|
||||
},
|
||||
etudid": "EID9860",
|
||||
etudid": "9860",
|
||||
"decision_ue": [
|
||||
{
|
||||
"acronyme": "UE11",
|
||||
@ -599,7 +593,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27427"
|
||||
"id": "27427"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -626,7 +620,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27437"
|
||||
"id": "27437"
|
||||
},
|
||||
{
|
||||
"coefficient": 1.5,
|
||||
@ -653,7 +647,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27451"
|
||||
"id": "27451"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -680,7 +674,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27431"
|
||||
"id": "27431"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -707,7 +701,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27433"
|
||||
"id": "27433"
|
||||
},
|
||||
{
|
||||
"coefficient": 1.5,
|
||||
@ -734,7 +728,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27449"
|
||||
"id": "27449"
|
||||
},
|
||||
{
|
||||
"coefficient": 1.5,
|
||||
@ -761,7 +755,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27440"
|
||||
"id": "27440"
|
||||
},
|
||||
{
|
||||
"coefficient": 1.5,
|
||||
@ -788,14 +782,14 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27453"
|
||||
"id": "27453"
|
||||
},
|
||||
{
|
||||
"coefficient": 1,
|
||||
"rang": {
|
||||
"value": "4 ex"
|
||||
},
|
||||
"code": "M1109",
|
||||
"code": "1109",
|
||||
"code_apogee": "VRT1109",
|
||||
"numero": 1109,
|
||||
"note": {
|
||||
@ -815,7 +809,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27444"
|
||||
"id": "27444"
|
||||
}
|
||||
],
|
||||
"effectif": "51",
|
||||
@ -859,7 +853,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27430"
|
||||
"id": "27430"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -886,7 +880,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27439"
|
||||
"id": "27439"
|
||||
},
|
||||
{
|
||||
"coefficient": 1,
|
||||
@ -913,7 +907,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27436"
|
||||
"id": "27436"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -940,7 +934,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27454"
|
||||
"id": "27454"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -967,7 +961,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27432"
|
||||
"id": "27432"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -994,7 +988,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27435"
|
||||
"id": "27435"
|
||||
},
|
||||
{
|
||||
"coefficient": 2,
|
||||
@ -1021,7 +1015,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27445"
|
||||
"id": "27445"
|
||||
},
|
||||
{
|
||||
"coefficient": 1,
|
||||
@ -1048,7 +1042,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"evaluation": [
|
||||
|
||||
],
|
||||
"id": "MIP27434"
|
||||
"id": "27434"
|
||||
}
|
||||
],
|
||||
"effectif": "51",
|
||||
@ -1135,7 +1129,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
||||
"nbabsnonjust": "7",
|
||||
"nbjustifs_noabs": "0",
|
||||
"nomprenom": "Mme Poisson Dodouce",
|
||||
"etudid": "EID12345"
|
||||
"etudid": "12345"
|
||||
},
|
||||
...
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user