forked from ScoDoc/DocScoDoc
API: modif structure
This commit is contained in:
parent
337e35e48a
commit
e32f7479fa
@ -95,7 +95,11 @@ Ajoute ou retire une permission.
|
||||
|
||||
flask user-role username [-d departement] [-a RoleAAjouter] [-r RoleARetirer]
|
||||
|
||||
Exemple:
|
||||
Exemples:
|
||||
|
||||
flask user-role dupont
|
||||
|
||||
affiche les rôles de l'utilisateur `dupont`.
|
||||
|
||||
flask user-role dupont -d MMI -a Observateur
|
||||
|
||||
@ -146,6 +150,7 @@ Commands:
|
||||
delete-dept Delete existing departement
|
||||
delete-role Delete a role
|
||||
dumphelp
|
||||
list-roles List roles
|
||||
edit-role Add [-a] and/or remove [-r] a permission...
|
||||
import-scodoc7-dept Import département ScoDoc 7: dept:...
|
||||
import-scodoc7-users Import users defined in ScoDoc7...
|
||||
@ -161,7 +166,7 @@ Commands:
|
||||
user-db-clear Erase all users and roles from the...
|
||||
user-delete Try to delete this user.
|
||||
user-password Set (or change) user’s password
|
||||
user-role Add or remove a role to the given user...
|
||||
user-role Display roles, or add or remove a role to the given user...
|
||||
|
||||
Usage: app sco-db-init [OPTIONS]
|
||||
|
||||
|
@ -163,7 +163,8 @@ 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).
|
||||
@ -171,7 +172,8 @@ par le serveur ScoDoc.
|
||||
```
|
||||
[ 1888, 999, 165 ]
|
||||
```
|
||||
* **`departement`**
|
||||
#### **`departement`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Routes:** `/departement/<dept_id>`
|
||||
* **Résultat:** Un département
|
||||
@ -186,7 +188,8 @@ par le serveur ScoDoc.
|
||||
},
|
||||
```
|
||||
|
||||
* **`departements`**
|
||||
#### **`departements`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Routes:** `/departements`
|
||||
* **Exemple d'utilisation:** `/api/departements`
|
||||
@ -199,8 +202,8 @@ par le serveur ScoDoc.
|
||||
]
|
||||
```
|
||||
|
||||
#### **Étudiants d'un département**
|
||||
|
||||
* **Étudiants d'un département**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `dept`, `formsemestre_id`
|
||||
* **Routes:** `/departement/<string:dept>/etudiants`
|
||||
@ -227,8 +230,10 @@ par le serveur ScoDoc.
|
||||
]
|
||||
```
|
||||
|
||||
#### Semestres
|
||||
* **Formsemestres**
|
||||
### Semestres
|
||||
|
||||
#### **Formsemestres**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `dept`
|
||||
* **Routes:** `/departement/<string:dept>/formsemestres_ids`
|
||||
@ -237,7 +242,8 @@ par le serveur ScoDoc.
|
||||
* **Exemple de résultat:**
|
||||
```[ 28, 99, 3 ]```
|
||||
|
||||
* **Formsemestres en cours**
|
||||
#### **Formsemestres en cours**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `dept`
|
||||
* **Routes:** `/departement/<string:dept>/formsemestres_courants`
|
||||
@ -286,7 +292,8 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
|
||||
## Étudiants
|
||||
|
||||
* **`etudiants_courant`**
|
||||
#### **`etudiants_courant`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Routes:** `/etudiants/courant` ou `/etudiants/courant/long`
|
||||
* **Exemple d'utilisation:** `/api/etudiants/courant`
|
||||
@ -313,7 +320,8 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
]
|
||||
```
|
||||
|
||||
* **`etudiant`**
|
||||
#### **`etudiant`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`, `nip`, `ine`
|
||||
* **Routes:** `/etudiant/etudid/<int:etudid>` ou `/etudiant/nip/<string:nip>` ou `/etudiant/ine/<string:ine>`
|
||||
@ -353,7 +361,9 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
"description": ""
|
||||
}
|
||||
```
|
||||
* **`etudiants`**
|
||||
|
||||
#### **`etudiants`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`, `nip`, `ine`
|
||||
* **Routes:** `/etudiants/etudid/<int:etudid>` ou `/etudiants/nip/<string:nip>` ou `/etudiants/ine/<string:ine>`
|
||||
@ -364,7 +374,6 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
Dans 99% des cas, la liste contient un seul étudiant, mais si l'étudiant a
|
||||
été inscrit dans plusieurs départements, on a plusieurs objets (1 par
|
||||
dept.).
|
||||
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
[
|
||||
@ -399,8 +408,9 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
]
|
||||
```
|
||||
|
||||
#### Cursus
|
||||
* **`etudiant_formsemestres`**
|
||||
### Cursus
|
||||
|
||||
#### **`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`
|
||||
@ -444,8 +454,10 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
]
|
||||
```
|
||||
|
||||
#### Bulletin
|
||||
* **`etudiant_bulletin_semestre`**
|
||||
### Bulletin
|
||||
|
||||
#### **`etudiant_bulletin_semestre`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine`
|
||||
* **Routes:**
|
||||
@ -633,7 +645,8 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
```
|
||||
|
||||
|
||||
* **`etudiant_groups`**
|
||||
#### **`etudiant_groups`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine`
|
||||
* **Routes:** `/etudiant/etudid/<int:etudid>/semestre/<int:formsemestre_id>/groups` ou `/etudiant/nip/<string:nip>/semestre/<int:formsemestre_id>/groups` ou `/etudiant/ine/<string:ine>/semestre/<int:formsemestre_id>/groups`
|
||||
@ -672,7 +685,8 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
|
||||
## Programmes de formations
|
||||
|
||||
* **`formation`**
|
||||
#### **`formation`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formation_id`
|
||||
* **Routes:** `/formation/<int:formation_id>`
|
||||
@ -695,22 +709,26 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
}
|
||||
```
|
||||
|
||||
* **`formations_ids`**
|
||||
#### **`formations_ids`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Routes:** `/formations_ids`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/formations_ids`
|
||||
* **Résultat:** Retourne la liste des ids de toutes les formations (tous départements)
|
||||
* **Exemple de résultat:** `[17, 99, 32]`
|
||||
|
||||
* **`formations`**
|
||||
#### **`formations`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Routes:** `/formations`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/formations`
|
||||
* **Résultat:** Retourne la liste de toutes les formations (tous
|
||||
départements)
|
||||
|
||||
#### Export programme
|
||||
* **`formation_export`**
|
||||
### Export programme
|
||||
|
||||
#### **`formation_export`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formation_id`, `export_ids` (False par défaut. Ajouter `/with_ids` pour le passer à True)
|
||||
* **Routes:** `/formation/formation_export/<int:formation_id>`
|
||||
@ -807,20 +825,23 @@ Le `titre`est celui donné par l'utilisateur dans le formsemestre, tandis que le
|
||||
|
||||
#### Référentiel de compétences
|
||||
|
||||
* **`referentiel_competences`**
|
||||
#### **`referentiel_competences`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formation_id`
|
||||
* **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_)
|
||||
* XXX obtenir la liste des référentiels
|
||||
|
||||
XXX obtenir la liste des référentiels ?
|
||||
|
||||
|
||||
## Formsemestres
|
||||
|
||||
Les sessions de formation (qu'elles durent une année ou un mois) sont représentées par les `formsemestre`.
|
||||
|
||||
* **`formsemestre`**
|
||||
#### **`formsemestre`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>`
|
||||
@ -862,7 +883,9 @@ Les sessions de formation (qu'elles durent une année ou un mois) sont représen
|
||||
"session_id": "MMI-BUT-FI-S1-2021",
|
||||
}
|
||||
```
|
||||
* **`formsemestre_apo`**
|
||||
|
||||
#### **`formsemestre_apo`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etape_apo`
|
||||
* **Routes:** `/formsemestre/apo/<string:etape_apo>`
|
||||
@ -874,7 +897,7 @@ Les sessions de formation (qu'elles durent une année ou un mois) sont représen
|
||||
```
|
||||
|
||||
|
||||
#### Note sur les identifiants de formsemestre
|
||||
### Note sur les identifiants de formsemestre
|
||||
Le `session_id` peut être utilisé pour identifier de façon prévisible et
|
||||
(presque) unique un formsemestre) dans un établissement, ce qui est utile
|
||||
notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion
|
||||
@ -894,8 +917,8 @@ des informations suivantes:
|
||||
|
||||
**Exemple:** `INFO-DUT-FI-S1-2014` équivaut à un semestre S1 d'un DUT informatique de 2014 en formation initiale (FI)
|
||||
|
||||
#### Étudiants inscrits
|
||||
* **etudiants**
|
||||
### Étudiants inscrits et bulletins
|
||||
#### **etudiants**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`, `etat` (par défaut égal à "I" pour les étudiants inscrits)
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/etudiants` XXX voir si
|
||||
@ -903,8 +926,8 @@ des informations suivantes:
|
||||
* **Résultat:** les étudiants inscrits à ce semestres XXX préciser état
|
||||
(DEM, DEF))
|
||||
|
||||
#### Bulletins
|
||||
* **`bulletins`**
|
||||
#### * **`bulletins`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/bulletins`
|
||||
@ -1083,7 +1106,9 @@ des informations suivantes:
|
||||
}
|
||||
]
|
||||
```
|
||||
* **etat_evals**
|
||||
|
||||
#### **etat_evals**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/etat_evals`
|
||||
@ -1139,7 +1164,8 @@ des informations suivantes:
|
||||
|
||||
|
||||
|
||||
* **`jury`** (**non implémentée**)
|
||||
#### **`jury`** (**non implémentée**)
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/jury`
|
||||
@ -1150,8 +1176,10 @@ des informations suivantes:
|
||||
XXX A COMPLETER
|
||||
```
|
||||
|
||||
#### Programme d'un formsemestre
|
||||
* **UE et modules**
|
||||
### Programme d'un formsemestre
|
||||
|
||||
#### **UE et modules**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `dept`, `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/programme`
|
||||
@ -1224,7 +1252,8 @@ des informations suivantes:
|
||||
Le moduleimpl est la mise en place d'un module dans un formsemestre (avec son
|
||||
responsable et ses enseignants).
|
||||
|
||||
* **`moduleimpl`**
|
||||
#### **`moduleimpl`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `moduleimpl_id`
|
||||
* **Routes:** `/formation/moduleimpl/<int:moduleimpl_id>`
|
||||
@ -1268,7 +1297,8 @@ 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.
|
||||
|
||||
* **`partition`**
|
||||
#### **`partition`**
|
||||
|
||||
* **Méthode: GET**
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/partitions/<int:formsemestre_id>`
|
||||
@ -1298,7 +1328,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
]
|
||||
```
|
||||
|
||||
* **`groups`**
|
||||
#### **`groups`**
|
||||
|
||||
* **Méthode: GET**
|
||||
* **Paramètres:** `group_id`, `etat`
|
||||
* **Routes:** `/partitions/groups/<int:group_id>` ou `/partitions/groups/<int:group_id>/etat/<string:etat>`
|
||||
@ -1349,7 +1380,9 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
|
||||
|
||||
### Évaluations
|
||||
* **`evaluations`**
|
||||
|
||||
#### **`evaluations`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `moduleimpl_id`
|
||||
* **Routes:** `/evaluations/<int:moduleimpl_id>`
|
||||
@ -1381,7 +1414,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
```
|
||||
|
||||
|
||||
* **`evaluations/notes`**
|
||||
#### **`evaluations/notes`**
|
||||
|
||||
* **Méthode**: GET
|
||||
* **Paramètres**: `evaluation_id`
|
||||
* **Routes:** `/evaluations/eval_notes/<int:evaluation_id>`
|
||||
@ -1395,7 +1429,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
**Remarques**, les dates sont au format iso `yyyy-mm-dd`. Les dates de fin ne sont pas incluses. Et `demi_journee`= 2 si journée complète, =1 si uniquement le matin, =0 si uniquement l'après-midi.
|
||||
|
||||
|
||||
* **`absences`**
|
||||
#### **`absences`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`, `nip`, `ine`
|
||||
* **Routes:** `/absences/etudid/<int:etudid>`
|
||||
@ -1419,7 +1454,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
]
|
||||
```
|
||||
|
||||
* **`absences/just`**
|
||||
#### **`absences/just`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `etudid`
|
||||
* **Routes:** `/absences/etudid/<int:etudid>/just`
|
||||
@ -1444,7 +1480,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
```
|
||||
|
||||
|
||||
* **`abs_groupe_etat`**
|
||||
#### **`abs_groupe_etat`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `group_ids`, `date_debut`, `date_fin`,
|
||||
* **Routes:** `/absences/abs_group_etat/<int:group_id>` ou `/absences/abs_group_etat/group_id/<in:group_id>/date_debut/<date:date_debut>/date_fin/<date:date_fin>`
|
||||
@ -1460,7 +1497,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
|
||||
### Jury
|
||||
|
||||
* **`jury_preparation`**
|
||||
#### **`jury_preparation`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/jury/formsemestre/<int:formsemestre_id>/preparation_jury`
|
||||
@ -1471,7 +1509,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
XXX A COMPLETER
|
||||
```
|
||||
|
||||
* **`jury_decisions`**
|
||||
#### **`jury_decisions`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/jury/formsemestre/<int:formsemestre_id>/decisions_jury`
|
||||
@ -1484,7 +1523,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
|
||||
### Logos
|
||||
|
||||
* **`liste des logos globaux`**
|
||||
#### **`liste des logos globaux`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `format` (json, xml), json par défaut
|
||||
* **Route :** `/ScoDoc/api/logos`
|
||||
@ -1494,7 +1534,7 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
|
||||
XXX vérifier si on supporte XML et pour qui ?
|
||||
|
||||
* **`récupération d'un logo global`**
|
||||
#### **`récupération d'un logo global`**
|
||||
* **Méthode:** GET
|
||||
* **Paramètres :** Aucun
|
||||
* **Route:** `/logos/<string:nom>`
|
||||
@ -1502,7 +1542,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
* **Résultat :** l'image (format png ou jpg)
|
||||
|
||||
|
||||
* **`logo d'un département`**
|
||||
#### **`logo d'un département`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `format` (json, xml)
|
||||
* **Route :** `/departements/<string:dept>/logos`
|
||||
@ -1511,7 +1552,8 @@ d'un nombre quelconque de groupes d'étudiants.
|
||||
* **Exemple de résultat:** `['footer', 'signature', 'universite']`
|
||||
|
||||
|
||||
* **`récupération d'un logo global`**
|
||||
#### **`récupération d'un logo global`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Paramètres :** Aucun
|
||||
* **Route:** `/departements/<string:dept>/logos/<string:nom>`
|
||||
|
Loading…
Reference in New Issue
Block a user