forked from ScoDoc/DocScoDoc
Merge pull request 'enrichissement API scodoc9' (#4) from leonard.montalbano/DocScoDoc:master into master
Reviewed-on: https://scodoc.org/git/viennet/DocScoDoc/pulls/4 (penser à virer le gitignore)
This commit is contained in:
commit
3825e37fbb
194
.gitignore
vendored
194
.gitignore
vendored
@ -1,193 +1 @@
|
||||
# ---> 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/
|
||||
.idea
|
||||
|
@ -11,8 +11,8 @@ L'API fournit des données JSON, sauf exception (bulletins).
|
||||
|
||||
Les objets ScoDoc manipulables sont identifiés par des id:
|
||||
|
||||
* etudid: étudiant
|
||||
* formation_id: un programme de formation (page "programmes");
|
||||
* etud_id: étudiant
|
||||
* form_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.
|
||||
@ -32,14 +32,14 @@ disparaitront en juillet 2022.
|
||||
|
||||
Certaines ont plusieurs "routes" (URl), car ScoDoc 7 tolérait divers accès.
|
||||
|
||||
- `Absences/XMLgetBilletsEtud` (deviendra `api/absences/billets/etud/<etudid>`)
|
||||
- `Absences/XMLgetBilletsEtud` (deviendra `api/absences/billets/etud/<etud_id>`)
|
||||
- `Absences/AddBilletAbsence` (deviendra `api/absences/billet/add`)
|
||||
- `Absences/XMLgetAbsEtud` (deviendra `api/absences/<etudid>`, en json)
|
||||
- `Absences/XMLgetAbsEtud` (deviendra `api/absences/<etud_id>`, en json)
|
||||
- `Notes/evaluation_listenotes` (non existante en ScoDoc9, trop complexe)
|
||||
- `Notes/formsemestre_list` (deviendra `api/formsemestre`)
|
||||
- `Notes/form_sem` (deviendra `api/formsemestre`)
|
||||
- `Notes/formsemestre_bulletinetud` (deviendra `api/formsemestre_bulletinetud`)
|
||||
- `Notes/XMLgetFormsemestres` (non existante en ScoDoc9, redondant avec `api/formsemestre` ?)
|
||||
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/<etudid>`)
|
||||
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/<etud_id>`)
|
||||
- `groups_view`
|
||||
|
||||
les routes ci-dessus s'entendent à partir de l'URL de base de votre ScoDoc, c'est
|
||||
@ -61,44 +61,169 @@ Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonctio
|
||||
| Fonction | Méthode | Paramètres | Exemple | Exemple resultat | Commentaires |
|
||||
|:--------:|:-------:|:----------:|:-------:|:----------------|:------------:|
|
||||
|etud_dept |GET|code_nip|/api/etud_dept/123|[ {exist: true, dept: "GEII", id: 987, dept_id: 3} ]|liste des étudiants avec le code NIP donné triée par ordre d'inscription décroissant|
|
||||
|etud_info |GET|etud_id|/api/etud_info/987|{"nom": "Mutis","sexe": "M.","email": "alvaro.mutis@example.com","prenom": "ALVARO","nomprenom": "M. Alvaro MUTIS","insemestre": [{"etat": "I","formsemestre_id": "SEM12781","date_fin": "2010-07-30","date_debut": "2010-01-25"},{"etat": "I","formsemestre_id": "SEM8396","date_fin": "2009-01-16","date_debut": "2008-09-01"}],"etudid": "EID8768","domicile": "2 Rue Madame","villedomicile": "Paris","telephonemobile": ""}| |
|
||||
|etud_bul|GET|etud_id ou sem_id|/api/etud_bul **OU** /987/12| |cf formsemestre_bulletinetud de [l'ancienne API](https://scodoc.org/ScoDocAPI/)|
|
||||
|etud_info |GET|etud_id|/api/etud_info/987|{"nom": "Mutis","sexe": "M.","email": "alvaro.mutis@example.com","prenom": "ALVARO","nomprenom": "M. Alvaro MUTIS","insemestre": [{"etat": "I",form_sem_id": "SEM12781","date_fin": "2010-07-30","date_debut": "2010-01-25"},{"etat": "I",form_sem_id": "SEM8396","date_fin": "2009-01-16","date_debut": "2008-09-01"}],"etud_id": "EID8768","domicile": "2 Rue Madame","villedomicile": "Paris","telephonemobile": ""}| |
|
||||
|etud_bul|GET|etud_id, sem_id|/api/etud_bul/987/12| |cf formsemestre_bulletinetud de [l'ancienne API](https://scodoc.org/ScoDocAPI/)|
|
||||
|sem_info|GET|sem_id|/api/sem_info/12|[ {"titre": "DUT Génie Electrique et Informatique Industrielle","date_debut": "01/09/2021","date_fin": "02/02/2022","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"} ]| |
|
||||
|photo|GET|etud_id|/api/photo/123 **OU** /api/photo **OU** /123/smal| | |
|
||||
|formation_list|GET|dept (*facultatif*)|/api/formation_list **OU** /api/formation_list?dept=GEI| { "id": 1,"dept_id": 1,"acronyme": "BUT GEII", "titre": "BUT G\u00e9nie Electrique et Informatique Industrielle", "titre_officiel": "BUT G\u00e9nie Electrique et Informatique Industrielle","version": 1,"formation_code": "FCOD1","type_parcours": 600,"code_specialite": "","formation_id": 1 }| |
|
||||
|formsemestre_list|GET|formation_id|/api/formation_list/formation_id| | |
|
||||
|formsemestre_partition_list|GET|semestre_id|/api/formsemestre_partition_list/semestre_id| | |
|
||||
|photo|GET|etud_id|/api/photo/123 **OU** /api/photo/123/smal| | |
|
||||
|formations|GET|dept (*facultatif*)|/api/formations **OU** /api/formations?dept=GEI| { "id": 1,"dept_id": 1,"acronyme": "BUT GEII", "titre": "BUT G\u00e9nie Electrique et Informatique Industrielle", "titre_officiel": "BUT G\u00e9nie Electrique et Informatique Industrielle","version": 1,"formation_code": "FCOD1","type_parcours": 600,"code_specialite": "","form_id": 1 }| |
|
||||
|form_sem|GET|form_id|/api/formations/form_id| | |
|
||||
|form_sem_partition|GET|semestre_id|/api/form_sem_partition/semestre_id| | |
|
||||
|module_list|GET|semestre_id|/api/module_list/semestre_id| | |
|
||||
|eval_list|GET|module_id|/api/eval_list/module_id| | |
|
||||
|evaluation_listenotes|GET|evaluation_id|/api/evalutation_listenotes/evaluation_id| | |
|
||||
|evaluation_listenotes|GET|eval_id|/api/evalutation_listenotes/eval_id| | |
|
||||
|setGroups|POST|partition_id, groupsLists, groupsToDelete, groupsToCreate|/api/setGroups/???| | |
|
||||
|setNote|POST|evaluation_id, etudid, note|/api/setNote/???| |
|
||||
|setNote|POST|eval_id, etud_id, note|/api/setNote/???| |
|
||||
|
||||
|
||||
|
||||
# XXX à revoir XXX Fonctions d'accès aux données
|
||||
## Etudiants
|
||||
* **`etud_dept`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `code_nip`
|
||||
* Format URL: `/api/etud_dept/<int:code_nip>`
|
||||
* Exemple d'utilisation: `/api/etud_dept/123`
|
||||
* Résultat: Liste des étudiants avec le code NIP donné tirée par ordre d'inscription décroissant.
|
||||
* Exemple de résultat:
|
||||
```
|
||||
[
|
||||
{
|
||||
exist: true,
|
||||
dept: "GEII",
|
||||
id: 987,
|
||||
dept_id: 3
|
||||
}
|
||||
]
|
||||
```
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`etud_info`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `etud_id`
|
||||
* Format URL: `/api/etud_dept/<int:etud_id>`
|
||||
* Exemple d'utilisation: `/api/etud_info/987`
|
||||
* Résultat: Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres.
|
||||
* Exemple de résultat:
|
||||
```
|
||||
{
|
||||
"nom": "Mutis",
|
||||
"sexe": "M.",
|
||||
"email": "alvaro.mutis@example.com",
|
||||
"prenom": "ALVARO",
|
||||
"nomprenom": "M. Alvaro MUTIS",
|
||||
"insemestre": [
|
||||
{
|
||||
"etat": "I",
|
||||
form_sem_id": "SEM12781",
|
||||
"date_fin": "2010-07-30",
|
||||
"date_debut": "2010-01-25"
|
||||
},
|
||||
{
|
||||
"etat": "I",
|
||||
form_sem_id": "SEM8396",
|
||||
"date_fin": "2009-01-16",
|
||||
"date_debut": "2008-09-01"
|
||||
}
|
||||
],
|
||||
"etud_id": "EID8768",
|
||||
"domicile": "2 Rue Madame",
|
||||
"villedomicile": "Paris",
|
||||
"telephonemobile": ""
|
||||
}
|
||||
```
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`etud_bul`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `etud_id`, `sem_id`
|
||||
* Format URL: `/api/etud_bul/<int:etud_id>/<int:sem_id>`
|
||||
* Exemple d'utilisation: `/api/etud_bul/987/12`
|
||||
* Résultat:
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`etud_photo`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `etud_id`, `small`
|
||||
* Format URL: `/api/etud_photo/<int:etud_id>` **OU** `/api/etud_photo/<int:etud_id>/small` (_ajout du paramètre **small** pour la version small_)
|
||||
* Exemple d'utilisation: `/api/etud_photo/123` **OU** `/api/etud_photo/123/small` (_pour la version small_)
|
||||
* Résultat:
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
## Semestres
|
||||
* **`sem_info`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `sem_id`
|
||||
* Format URL: `/api/sem_id/<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": "01/09/2021",
|
||||
"date_fin": "02/02/2022",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
```
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
|
||||
## Départements
|
||||
* **`list_depts`**
|
||||
* **`departements`**
|
||||
* Méthode:
|
||||
* Paramètres: `viewable` (optionnel, si faux liste aussi les départements non accessible à l'utilisateur courant), `format` (json, xml)
|
||||
* Résultat: liste des id de départements.
|
||||
* Format URL:
|
||||
* Exemple d'utilisation:
|
||||
* Résultat: Liste des id de départements.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
## Programmes de formations
|
||||
* **`formation_list`**
|
||||
* Paramètres: `formation_id` (optionnel, si absent liste toutes les formations)
|
||||
* Résultat: liste de formations.
|
||||
* **`formations`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `form_id` (_optionnel, si absent liste toutes les formations_)
|
||||
* Format URL: `/api/formations` **ou** `/api/formations/<int:form_id>`
|
||||
* Exemple d'utilisation: `/api/formations` **ou** `̀/api/formations/1`
|
||||
* Résultat: Liste des formations.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
* **`formation_export`**
|
||||
* Paramètres: `formation_id`, `export_ids` (défaut "faux")
|
||||
|
||||
* **`form_export`**
|
||||
* Méthode:
|
||||
* Paramètres: `form_id`, `export_ids` (défaut "faux")
|
||||
* Format URL:
|
||||
* Exemple d'utilisation:
|
||||
* Résultat: la formation, avec UE, matières, modules (un arbre).
|
||||
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
## 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`.
|
||||
|
||||
* **`formsemestre_list`**
|
||||
* Paramètres (tous optionnels): `formsemestre_id`, `formation_id`, `etape_apo`, `etape_apo2`
|
||||
* Résultat: liste des semestres correspondant.
|
||||
* Exemple: `formsemestre_list?format=xml&etape_apo=V1RT`
|
||||
* **`form_sem`**
|
||||
* Méthode: GET
|
||||
* Paramètres (_tous optionnels_): `form_sem_id`, `form_id`, `etape_apo`, `etape_apo2`
|
||||
* Format URL: `/api/form_sem?form_id=1&etape_apo=V1RT`
|
||||
* Exemple d'utilisation: `/api/form_sem?format=xml&etape_apo=V1RT`
|
||||
* Résultat: Liste des semestres correspondant.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
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:
|
||||
|
||||
@ -116,72 +241,75 @@ Exemple: `INFO-DUT-FI-S1-2014` : semestre S1 d'un DUT informatique de 2014 en fo
|
||||
## 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.
|
||||
|
||||
* **`formsemestre_partition_list`**
|
||||
* Paramètres: `formsemestre_id`
|
||||
* **`form_sem_partition`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `form_sem_id`
|
||||
* Format URL: `/api/form_sem_partition/form_sem_id`
|
||||
* Exemple d'utilisation:
|
||||
* Résultat:
|
||||
* Exemple: ici au format JSON
|
||||
```
|
||||
[
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"partition_name": "TD"
|
||||
"group": [
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"group_name": "A",
|
||||
"group_id": "G23841",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"group_name": "B",
|
||||
"group_id": "G23843",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"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",
|
||||
"partition_name": null
|
||||
"group": [
|
||||
{
|
||||
"formsemestre_id": "SEM12781",
|
||||
"partition_id": "P22833",
|
||||
"group_name": null,
|
||||
"group_id": "G22834",
|
||||
"partition_name": null
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
```
|
||||
* Exemple de résultat: ici au format JSON
|
||||
```
|
||||
[
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"partition_name": "TD"
|
||||
"group": [
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"group_name": "A",
|
||||
"group_id": "G23841",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23840",
|
||||
"group_name": "B",
|
||||
"group_id": "G23843",
|
||||
"partition_name": "TD"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"partition_name": "TP"
|
||||
"group": [
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"group_name": "A1",
|
||||
"group_id": "G23942",
|
||||
"partition_name": "TP"
|
||||
},
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P23941",
|
||||
"group_name": "A2",
|
||||
"group_id": "G23943",
|
||||
"partition_name": "TP"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P22833",
|
||||
"partition_name": null
|
||||
"group": [
|
||||
{
|
||||
form_sem_id": "SEM12781",
|
||||
"partition_id": "P22833",
|
||||
"group_name": null,
|
||||
"group_id": "G22834",
|
||||
"partition_name": null
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
```
|
||||
* **`groups_view`**
|
||||
* Paramètres: `formsemestre_id `ou `group_ids` (peut être répété), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I`
|
||||
* Paramètres: form_sem_id `ou `group_ids` (peut être répété), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I`
|
||||
* Résultat: liste des étudiants dans un groupe.
|
||||
* Exemple: ici au format XML avec `with_codes=1`:
|
||||
```
|
||||
@ -192,7 +320,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"/>
|
||||
<etud_id value="EID9876"/>
|
||||
<code_nip value="987654"/>
|
||||
<code_ine value=""/>
|
||||
</etud>
|
||||
@ -202,7 +330,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"/>
|
||||
<etud_id value="EID12345"/>
|
||||
<code_nip value="12345678"/>
|
||||
<code_ine value=""/>
|
||||
</etud>
|
||||
@ -237,12 +365,21 @@ Et un autre exemple en format JSON:
|
||||
]
|
||||
```
|
||||
|
||||
* **`set_groups`**
|
||||
* Méthode: POST
|
||||
* Paramètres: `partition_id`, `groups`, `groups_to_delete`, `groups_to_create`
|
||||
* 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:
|
||||
* Résultat: Set les groups.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
## Etudiants
|
||||
* **`etud_info`**
|
||||
* Paramètres: `etudid` ou `code_nip` ou `code_ine`
|
||||
* Paramètres: `etud_id` ou `code_nip` ou `code_ine`
|
||||
* Résultat: informations sur cette étudiant et les semestres dans lesquels il est (ou a été) inscrit.
|
||||
* Exemple: `etud_info?format=json&etudid=12345`
|
||||
* Exemple: `etud_info?format=json&etud_id=12345`
|
||||
```
|
||||
{
|
||||
"nom": "Mutis",
|
||||
@ -253,19 +390,19 @@ Et un autre exemple en format JSON:
|
||||
"insemestre": [
|
||||
{
|
||||
"etat": "I",
|
||||
"formsemestre_id": "SEM12781",
|
||||
form_sem_id": "SEM12781",
|
||||
"date_fin": "2010-07-30",
|
||||
"date_debut": "2010-01-25"
|
||||
},
|
||||
{
|
||||
"etat": "I",
|
||||
"formsemestre_id": "SEM8396",
|
||||
form_sem_id": "SEM8396",
|
||||
"date_fin": "2009-01-16",
|
||||
"date_debut": "2008-09-01"
|
||||
}
|
||||
],
|
||||
"code_ine": "",
|
||||
"etudid": "EID8768",
|
||||
"etud_id": "EID8768",
|
||||
"code_nip": "10991002",
|
||||
"photo_url": "/ScoDoc/static/photos/F13/RT_EID8768.h90.jpg",
|
||||
|
||||
@ -289,8 +426,38 @@ Et un autre exemple en format JSON:
|
||||
|
||||
|
||||
## Bulletins de notes
|
||||
* **`evaluations`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `module_id`
|
||||
* Format URL: `/api/evaluations/<int:module_id>`
|
||||
* Exemple d'utilisation: `/api/evaluations/54`
|
||||
* Résultat: Liste des evaluations à partir de l'id d'un module.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`eval_notes`**
|
||||
* Méthode: GET
|
||||
* Paramètres: `eval_id`
|
||||
* Format URL: `/api/eval_notes/<int:eval_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:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`eval_set_notes`**
|
||||
* Méthode: POST
|
||||
* Paramètres: `eval_id`, `etud_id`, `note`
|
||||
* Format URL: `/api/eval_set_notes?eval_id=<int:eval_id>&etud_id=<int:etud_id>¬e=<int:note>`
|
||||
* Exemple d'utilisation: `/api/eval_set_notes?eval_id=6&etud_id=456¬e=15`
|
||||
* Résultat: Set les notes d'une évaluation pour un étudiant donné.
|
||||
* Exemple de résultat:
|
||||
* Codes HTTP:
|
||||
|
||||
|
||||
* **`Notes/formsemestre_bulletinetud`**
|
||||
* Paramètres: `formsemestre_id`, `etudid`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals`ou `long`)
|
||||
* Paramètres: `form_sem_id`, `etud_id`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals`ou `long`)
|
||||
* Résultat: bulletin de notes
|
||||
* Exemple: ici au format JSON, pour une version courte (`version=short`)
|
||||
```
|
||||
@ -307,7 +474,7 @@ Et un autre exemple en format JSON:
|
||||
"prenom": "Roberto",
|
||||
"sexe": "M.",
|
||||
"code_ine": "",
|
||||
"etudid": "EID9860",
|
||||
"etud_id": "EID9860",
|
||||
"code_nip": "123456789",
|
||||
"email": "roberto@santateresa.mx",
|
||||
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_EID29960.h90.jpg"
|
||||
@ -322,7 +489,7 @@ Et un autre exemple en format JSON:
|
||||
"decision": {
|
||||
"etat": "I",
|
||||
"code": "ADM",
|
||||
"compense_formsemestre_id" : "SEM12345" /* si ce semestre en compense un autre */
|
||||
"compenseform_sem_id" : "SEM12345" /* si ce semestre en compense un autre */
|
||||
},
|
||||
"note": {
|
||||
"max": "15.51",
|
||||
@ -330,7 +497,7 @@ Et un autre exemple en format JSON:
|
||||
"value": "15.51",
|
||||
"min": "07.29"
|
||||
},
|
||||
"etudid": "EID9860",
|
||||
"etud_id": "EID9860",
|
||||
"decision_ue": [
|
||||
{
|
||||
"acronyme": "UE11",
|
||||
@ -403,7 +570,7 @@ Et un autre exemple en format JSON:
|
||||
"group_name": ""
|
||||
}
|
||||
],
|
||||
"formsemestre_id": "SEM12345",
|
||||
form_sem_id": "SEM12345",
|
||||
"etape_apo": "V1RT",
|
||||
"ue": [
|
||||
{
|
||||
@ -924,18 +1091,18 @@ Et un autre exemple en format JSON:
|
||||
|
||||
## Absences
|
||||
* **`Absences/ListeAbsEtud`**
|
||||
* Paramètres: `etudid, absjust_only, format`. `absjust_only` spécifie si on veut les absences justifiées ou non.
|
||||
* Paramètres: `etud_id, absjust_only, format`. `absjust_only` spécifie si on veut les absences justifiées ou non.
|
||||
* Résultat: liste d'absences. Exemple:
|
||||
```{jour: "2021-02-10", ampm: "0", description: "M2202", }```
|
||||
(`ampm` vaut 1 le matin et 0 l'après-midi).
|
||||
|
||||
* **`Absences/doSignaleAbsence`**
|
||||
* Paramètres: ```datedebut, datefin, moduleimpl_id=None, demijournee=2, estjust=False,description, etudid```
|
||||
* Paramètres: ```datedebut, datefin, moduleimpl_id=None, demijournee=2, estjust=False,description, etud_id```
|
||||
* Résultat: *html*
|
||||
* Remarques: dates au format `dd/mm/yyyy`. Date de fin non incluse. `demijournee`: 2 si journée complète, 1 matin, 0 après-midi.
|
||||
|
||||
* **`Absences/doAnnuleAbsence`**
|
||||
* Paramètres: ```datedebut, datefin, demijournee, etudid```
|
||||
* Paramètres: ```datedebut, datefin, demijournee, etud_id```
|
||||
* Résultat: *html*
|
||||
|
||||
* **`Absences/doAnnuleJustif`**
|
||||
@ -953,7 +1120,7 @@ Et un autre exemple en format JSON:
|
||||
nbabsnonjust: "7",
|
||||
nbjustifs_noabs: "0",
|
||||
nomprenom: "Mme Poisson Dodouce",
|
||||
etudid: "EID12345"
|
||||
etud_id: "EID12345"
|
||||
},
|
||||
...
|
||||
]```
|
||||
@ -961,11 +1128,11 @@ Et un autre exemple en format JSON:
|
||||
|
||||
## Modules
|
||||
* **`Notes/do_moduleimpl_list`**
|
||||
* Paramètres: `[formsemestre_id, moduleimpl_id, module_id]`
|
||||
* Paramètres: `form_sem_id, moduleimpl_id, module_id]`
|
||||
* Résultat: liste de moduleimpl
|
||||
|
||||
* **`Notes/do_moduleimpl_withmodule_list`**
|
||||
* Paramètres: `[formsemestre_id, moduleimpl_id, module_id]`
|
||||
* Paramètres: `form_sem_id, moduleimpl_id, module_id]`
|
||||
* Résultat: liste triée de moduleimpl, avec l'attribut `module`
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user