forked from ScoDoc/DocScoDoc
amélioration suite au retour du pdf
This commit is contained in:
parent
de3ee056ab
commit
b000106868
@ -11,7 +11,7 @@ L'API fournit des données JSON, sauf exception (bulletins).
|
|||||||
|
|
||||||
Les objets ScoDoc manipulables sont identifiés par des id:
|
Les objets ScoDoc manipulables sont identifiés par des id:
|
||||||
|
|
||||||
* etud_id: étudiant
|
* etudid: étudiant
|
||||||
* form_id: un programme de formation (page "programmes");
|
* form_id: un programme de formation (page "programmes");
|
||||||
* ue_id: une UE dans un programme;
|
* ue_id: une UE dans un programme;
|
||||||
* matiere_id: une matière dans un programme;
|
* matiere_id: une matière dans un programme;
|
||||||
@ -32,14 +32,14 @@ disparaitront en juillet 2022.
|
|||||||
|
|
||||||
Certaines ont plusieurs "routes" (URl), car ScoDoc 7 tolérait divers accès.
|
Certaines ont plusieurs "routes" (URl), car ScoDoc 7 tolérait divers accès.
|
||||||
|
|
||||||
- `Absences/XMLgetBilletsEtud` (deviendra `api/absences/billets/etud/<etud_id>`)
|
- `Absences/XMLgetBilletsEtud` (deviendra `api/absences/billets/etud/ etudid>`)
|
||||||
- `Absences/AddBilletAbsence` (deviendra `api/absences/billet/add`)
|
- `Absences/AddBilletAbsence` (deviendra `api/absences/billet/add`)
|
||||||
- `Absences/XMLgetAbsEtud` (deviendra `api/absences/<etud_id>`, en json)
|
- `Absences/XMLgetAbsEtud` (deviendra `api/absences/ etudid>`, en json)
|
||||||
- `Notes/evaluation_listenotes` (non existante en ScoDoc9, trop complexe)
|
- `Notes/evaluation_listenotes` (non existante en ScoDoc9, trop complexe)
|
||||||
- `Notes/form_sem` (deviendra `api/formsemestre`)
|
- `Notes/form_sem` (deviendra `api/formsemestre`)
|
||||||
- `Notes/formsemestre_bulletinetud` (deviendra `api/formsemestre_bulletinetud`)
|
- `Notes/formsemestre_bulletinetud` (deviendra `api/formsemestre_bulletinetud`)
|
||||||
- `Notes/XMLgetFormsemestres` (non existante en ScoDoc9, redondant avec `api/formsemestre` ?)
|
- `Notes/XMLgetFormsemestres` (non existante en ScoDoc9, redondant avec `api/formsemestre` ?)
|
||||||
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/<etud_id>`)
|
- `etud_info` ou `XMLgetEtudInfos` ou `Absences/XMLgetEtudInfos` ou `Notes/XMLgetEtudInfos` (deviendra `/api/etud/ etudid>`)
|
||||||
- `groups_view`
|
- `groups_view`
|
||||||
|
|
||||||
Les routes ci-dessus s'entendent à partir de l'URL de base de votre ScoDoc, c'est
|
Les routes ci-dessus s'entendent à partir de l'URL de base de votre ScoDoc, c'est
|
||||||
@ -58,34 +58,42 @@ Basé sur le ticket [#149](https://scodoc.org/git/viennet/ScoDoc/issues/149)
|
|||||||
|
|
||||||
Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonction
|
Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonction
|
||||||
|
|
||||||
| Fonction | Méthode | Paramètres | Exemple | Exemple resultat | Commentaires |
|
# 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.
|
||||||
|setGroups|POST|partition_id, groupsLists, groupsToDelete, groupsToCreate|/api/setGroups/???| | |
|
|
||||||
|setNote|POST|eval_id, etud_id, note|/api/setNote/???| |
|
Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succès par nos serveurs.
|
||||||
|
|
||||||
|
* [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200) : OK.
|
||||||
|
* [400](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/401) : Paramètre manquant, ou valeur incorrecte.
|
||||||
|
* [401](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/401) : Authentification nécessaire. (jeton non précisé ou invalide)
|
||||||
|
* [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403) : Action non autorisée. (crédits épuisés, URL non autorisée, etc)
|
||||||
|
* [404](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/404) : Page inaccessible. (URL inconnue / impossible d'accéder à l'adresse)
|
||||||
|
* [406](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/406) : Le JSON indiqué en données POST n'est pas valide.
|
||||||
|
* [408](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/408) : Dépassement du temps maximal autorisé pour l’audit.
|
||||||
|
* [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500) : Erreur inconnue, contactez-nous.
|
||||||
|
* [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
|
||||||
# XXX à revoir XXX Fonctions d'accès aux données
|
|
||||||
|
|
||||||
## Départements
|
## Départements
|
||||||
* **`departements`**
|
* **`departements`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `viewable` (optionnel, si faux liste aussi les départements non accessible à l'utilisateur courant), `format` (json, xml)
|
* **Paramètres:** `viewable` (optionnel, si faux liste aussi les départements non accessible à l'utilisateur courant), `format` (json, xml)
|
||||||
* Format URL:
|
* **Format URL:** `/api/departements`
|
||||||
* Exemple d'utilisation:
|
* **Exemple d'utilisation:** `/api/departements`
|
||||||
* Résultat: Liste des id de départements.
|
* **Résultat:** Liste des id de départements.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:** `[id_1, id_2, id_3, ...]`
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
## Etudiants
|
## Etudiants
|
||||||
* **`etud_dept`**
|
* **`etud_dept`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `code_nip`
|
* **Paramètres:** `code_nip`
|
||||||
* Format URL: `/api/etud_dept/<int:code_nip>`
|
* **Format URL:** `/api/etud_dept/<int:code_nip>`
|
||||||
* Exemple d'utilisation: `/api/etud_dept/123`
|
* **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.
|
* **Résultat:** Liste des étudiants avec le code NIP donné tirée par ordre d'inscription décroissant.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:**
|
||||||
```
|
```
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -96,16 +104,15 @@ Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonctio
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
* **`etud_info`**
|
* **`etud_info`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `etud_id`
|
* **Paramètres:** etudid
|
||||||
* Format URL: `/api/etud_info/<int:etud_id>`
|
* **Format URL:** `/api/etud_info/<int etudid>`
|
||||||
* Exemple d'utilisation: `/api/etud_info/987`
|
* **Exemple d'utilisation:** `/api/etud_info/987`
|
||||||
* Résultat: Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres.
|
* **Résultat:** Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:**
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"nom": "Mutis",
|
"nom": "Mutis",
|
||||||
@ -116,54 +123,52 @@ Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonctio
|
|||||||
"insemestre": [
|
"insemestre": [
|
||||||
{
|
{
|
||||||
"etat": "I",
|
"etat": "I",
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"date_fin": "30-07-2010",
|
"date_fin": "30-07-2010",
|
||||||
"date_debut": "25-01-2010"
|
"date_debut": "25-01-2010"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"etat": "I",
|
"etat": "I",
|
||||||
form_sem_id": "SEM8396",
|
"form_sem_id": "SEM8396",
|
||||||
"date_fin": "16-01-2009",
|
"date_fin": "16-01-2009",
|
||||||
"date_debut": "01-09-2008"
|
"date_debut": "01-09-2008"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"etud_id": "EID8768",
|
"etudid": "EID8768",
|
||||||
"domicile": "2 Rue Madame",
|
"domicile": "2 Rue Madame",
|
||||||
"villedomicile": "Paris",
|
"villedomicile": "Paris",
|
||||||
"telephonemobile": ""
|
"telephonemobile": ""
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
* **`etud_bul`**
|
* **`etud_bul`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `etud_id`, `sem_id`
|
* **Paramètres:** `etudid`, `sem_id`
|
||||||
* Format URL: `/api/etud_bul/<int:etud_id>/<int:sem_id>`
|
* **Format URL:** `/api/etud_bul/<int etudid>/<int:sem_id>`
|
||||||
* Exemple d'utilisation: `/api/etud_bul/987/12`
|
* **Exemple d'utilisation:** `/api/etud_bul/987/12`
|
||||||
* Résultat: Le bulletin d'un étudiant en fonction de son id et d'un semestre donné.
|
* **Résultat:** Le bulletin d'un étudiant en fonction de son id et d'un semestre donné.
|
||||||
* Exemple de résultat: [Bulletins par défaut](https://scodoc.org/ParametrageBulletins/#exemple-1-bulletins-par-defaut)
|
* **Exemple de résultat:** [Bulletins par défaut](https://scodoc.org/ParametrageBulletins/#exemple-1-bulletins-par-defaut)
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
* **`etud_photo`**
|
* **`etud_photo`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `etud_id`, `small`
|
* **Paramètres:** `etudid`, `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_)
|
* **Format URL:** `/api/etud_photo/<int etudid>` **OU** `/api/etud_photo/<int etudid>/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_)
|
* **Exemple d'utilisation:** `/api/etud_photo/123` **OU** `/api/etud_photo/123/small` (_pour la version small_)
|
||||||
* Résultat: Image en JPEG ou PNG.
|
* **Résultat:** Image en JPEG ou PNG.
|
||||||
* Exemple de résultat:
|
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
## Semestres
|
## Semestres
|
||||||
* **`sem_info`**
|
* **`sem_info`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `sem_id`
|
* **Paramètres:** `sem_id`
|
||||||
* Format URL: `/api/sem_id/<int:sem_id>`
|
* **Format URL:** `/api/sem_id/<int:sem_id>`
|
||||||
* Exemple d'utilisation: `/api/sem_info/12`
|
* **Exemple d'utilisation:** `/api/sem_info/12`
|
||||||
* Résultat: Une liste avec les informations du semestre correspondant à l'id passé en paramètres.
|
* **Résultat:** Une liste avec les informations du semestre correspondant à l'id passé en paramètres.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:**
|
||||||
```
|
```
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -179,62 +184,82 @@ Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonctio
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
* Codes HTTP: [200](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/200), [403](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/403), [500](https://developer.mozilla.org/fr/docs/Web/HTTP/Status/500)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Programmes de formations
|
## Programmes de formations
|
||||||
* **`formations`**
|
* **`formations`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `form_id` (_optionnel, si absent liste toutes les formations_)
|
* **Paramètres:** `form_id` (_optionnel, si absent liste toutes les formations_)
|
||||||
* Format URL: `/api/formations` **ou** `/api/formations/<int:form_id>`
|
* **Format URL:** `/api/formations` **ou** `/api/formations/<int:form_id>`
|
||||||
* Exemple d'utilisation: `/api/formations` **ou** `̀/api/formations/1`
|
* **Exemple d'utilisation:** `/api/formations` **ou** `̀/api/formations/1`
|
||||||
* Résultat: Liste des formations.
|
* **Résultat:** Liste des formations.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:** `[form_1, form_2, form_3, ...]`
|
||||||
* Codes HTTP:
|
|
||||||
|
|
||||||
|
|
||||||
* **`form_export`**
|
* **`form_export`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `form_id`, `export_ids` (défaut "faux")
|
* **Paramètres:** `form_id`, `export_ids` (_par défaut "faux"_)
|
||||||
* Format URL:
|
* **Format URL:** `/api/form_export/<int:form_id>`
|
||||||
* Exemple d'utilisation:
|
* **Exemple d'utilisation:** `/api/form_export/596`
|
||||||
* Résultat: la formation, avec UE, matières, modules (un arbre).
|
* **Résultat:** La formation, avec UE, matières, modules (_un arbre_).
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:**
|
||||||
* Codes HTTP:
|
```
|
||||||
|
{
|
||||||
|
"nom": "formation",
|
||||||
|
"UE": "ue",
|
||||||
|
"matieres": [
|
||||||
|
"matiere_1": "maths",
|
||||||
|
"matiere_2": "anglais",
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"modules": "module"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Semestres de formation
|
## 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`.
|
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 `form_sem`.
|
||||||
|
|
||||||
* **`form_sem`**
|
* **`form_sem`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres (_tous optionnels_): `form_sem_id`, `form_id`, `etape_apo`, `etape_apo2`
|
* **Paramètres (_tous optionnels_):** `form_sem_id`, `form_id`, `etape_apo`, `etape_apo2`
|
||||||
* Format URL: `/api/form_sem?form_id=1&etape_apo=V1RT`
|
* **Format URL:** `/api/form_sem?form_id=1&etape_apo=V1RT`
|
||||||
* Exemple d'utilisation: `/api/form_sem?format=xml&etape_apo=V1RT`
|
* **Exemple d'utilisation:** `/api/form_sem?format=xml&etape_apo=V1RT`
|
||||||
* Résultat: Liste des semestres correspondant.
|
* **Résultat:** Liste des semestres correspondant.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:** `[sem_1, sem_2, sem_3, ...]`
|
||||||
* Codes HTTP:
|
|
||||||
|
|
||||||
|
|
||||||
|
## UE
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
|
## '################################################################################'
|
||||||
## Modules de formation
|
## Modules de formation
|
||||||
* **`Notes/do_moduleimpl_list`**
|
* **`Notes/do_moduleimpl_list`**
|
||||||
* Paramètres: `form_sem_id, moduleimpl_id, module_id]`
|
* **Paramètres**: `form_sem_id, moduleimpl_id, module_id]`
|
||||||
* Résultat: liste de moduleimpl
|
* **Résultat:** liste de moduleimpl
|
||||||
|
|
||||||
|
|
||||||
* **`Notes/do_moduleimpl_withmodule_list`**
|
* **`Notes/do_moduleimpl_withmodule_list`**
|
||||||
* Paramètres: `form_sem_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`
|
* **Résultat:** liste triée de moduleimpl, avec l'attribut `module`
|
||||||
|
|
||||||
|
## '#################################################################################'
|
||||||
|
|
||||||
## Note sur les identifiants de sessions
|
## 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:
|
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:
|
||||||
|
|
||||||
* Département (RT, GEII, INFO...) (= paramètre `DeptName`, en majuscules)
|
* **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:** DUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)
|
||||||
* Modalité: FI, FC, FA
|
* **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).
|
* **"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).
|
* **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).
|
||||||
|
|
||||||
Exemple: `INFO-DUT-FI-S1-2014` : semestre S1 d'un DUT informatique de 2014 en formation initiale (FI)
|
|
||||||
|
**Exemple:** `INFO-DUT-FI-S1-2014` équivaut à un semestre S1 d'un DUT informatique de 2014 en formation initiale (FI)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -243,28 +268,28 @@ Exemple: `INFO-DUT-FI-S1-2014` : semestre S1 d'un DUT informatique de 2014 en fo
|
|||||||
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.
|
||||||
|
|
||||||
* **`form_sem_partition`**
|
* **`form_sem_partition`**
|
||||||
* Méthode: GET
|
* **Méthode: GET**
|
||||||
* Paramètres: `form_sem_id`
|
* **Paramètres:** `form_sem_id`
|
||||||
* Format URL: `/api/form_sem_partition/form_sem_id`
|
* **Format URL:** `/api/form_sem_partition/<int:form_sem_id>`
|
||||||
* Exemple d'utilisation:
|
* **Exemple d'utilisation:** `/api/form_sem_partition/48`
|
||||||
* Résultat:
|
* **Résultat:** La liste de toutes les partitions celon un `form_sem_id` donné.
|
||||||
* Exemple de résultat: ici au format JSON
|
* **Exemple de résultat:** ici au format JSON
|
||||||
```
|
```
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23840",
|
"partition_id": "P23840",
|
||||||
"partition_name": "TD"
|
"partition_name": "TD"
|
||||||
"group": [
|
"group": [
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23840",
|
"partition_id": "P23840",
|
||||||
"group_name": "A",
|
"group_name": "A",
|
||||||
"group_id": "G23841",
|
"group_id": "G23841",
|
||||||
"partition_name": "TD"
|
"partition_name": "TD"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23840",
|
"partition_id": "P23840",
|
||||||
"group_name": "B",
|
"group_name": "B",
|
||||||
"group_id": "G23843",
|
"group_id": "G23843",
|
||||||
@ -273,19 +298,19 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23941",
|
"partition_id": "P23941",
|
||||||
"partition_name": "TP"
|
"partition_name": "TP"
|
||||||
"group": [
|
"group": [
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23941",
|
"partition_id": "P23941",
|
||||||
"group_name": "A1",
|
"group_name": "A1",
|
||||||
"group_id": "G23942",
|
"group_id": "G23942",
|
||||||
"partition_name": "TP"
|
"partition_name": "TP"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P23941",
|
"partition_id": "P23941",
|
||||||
"group_name": "A2",
|
"group_name": "A2",
|
||||||
"group_id": "G23943",
|
"group_id": "G23943",
|
||||||
@ -294,12 +319,12 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P22833",
|
"partition_id": "P22833",
|
||||||
"partition_name": null
|
"partition_name": null
|
||||||
"group": [
|
"group": [
|
||||||
{
|
{
|
||||||
form_sem_id": "SEM12781",
|
"form_sem_id": "SEM12781",
|
||||||
"partition_id": "P22833",
|
"partition_id": "P22833",
|
||||||
"group_name": null,
|
"group_name": null,
|
||||||
"group_id": "G22834",
|
"group_id": "G22834",
|
||||||
@ -309,10 +334,15 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
* **`groups_view`**
|
* **`groups_view`**
|
||||||
* Paramètres: form_sem_id `ou `group_ids` (peut être répété), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I`
|
* **Méthode:** GET
|
||||||
* Résultat: liste des étudiants dans un groupe.
|
* **Paramètres:** `form_sem_id` ou `group_ids` (_peut être répété_), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I`
|
||||||
* Exemple: ici au format XML avec `with_codes=1`:
|
* **Format URL:**
|
||||||
|
* **Exemple d'utilisation:**
|
||||||
|
* **Résultat:** Liste des étudiants dans un groupe.
|
||||||
|
* **Exemple de résultat au format XML:** (_avec `with_codes=1`_)
|
||||||
```
|
```
|
||||||
<group_list origin="" caption="soit 21 étudiants inscrits et 2 démissionaires." id="gt_711068">
|
<group_list origin="" caption="soit 21 étudiants inscrits et 2 démissionaires." id="gt_711068">
|
||||||
|
|
||||||
@ -321,7 +351,7 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
|||||||
<prenom value="Marc"/>
|
<prenom value="Marc"/>
|
||||||
<etat value="I"/>
|
<etat value="I"/>
|
||||||
<email value="toto@example.com"/>
|
<email value="toto@example.com"/>
|
||||||
<etud_id value="EID9876"/>
|
<etudid value="EID9876"/>
|
||||||
<code_nip value="987654"/>
|
<code_nip value="987654"/>
|
||||||
<code_ine value=""/>
|
<code_ine value=""/>
|
||||||
</etud>
|
</etud>
|
||||||
@ -331,13 +361,13 @@ L'ensemble des étudiants d'un semestre peut être réparti selon une ou plusieu
|
|||||||
<prenom value="NATHALIE"/>
|
<prenom value="NATHALIE"/>
|
||||||
<etat value="I"/>
|
<etat value="I"/>
|
||||||
<email value="xxx@example.com"/>
|
<email value="xxx@example.com"/>
|
||||||
<etud_id value="EID12345"/>
|
<etudid value="EID12345"/>
|
||||||
<code_nip value="12345678"/>
|
<code_nip value="12345678"/>
|
||||||
<code_ine value=""/>
|
<code_ine value=""/>
|
||||||
</etud>
|
</etud>
|
||||||
</group_list>
|
</group_list>
|
||||||
```
|
```
|
||||||
Et un autre exemple en format JSON:
|
* **Exemple de résultat au format JSON:**
|
||||||
```
|
```
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -367,50 +397,57 @@ Et un autre exemple en format JSON:
|
|||||||
```
|
```
|
||||||
|
|
||||||
* **`set_groups`**
|
* **`set_groups`**
|
||||||
* Méthode: POST
|
* **Méthode:** POST
|
||||||
* Paramètres: `partition_id`, `groups`, `groups_to_delete`, `groups_to_create`
|
* **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>`
|
* **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:
|
* **Exemple d'utilisation:** `/api/set_groups?partition_id=65&groups=77&groups_to_delete=8&groups_to_create=4`
|
||||||
* Résultat: Set les groups.
|
* **Résultat:** Set les groups.
|
||||||
* Exemple de résultat:
|
|
||||||
* Codes HTTP:
|
|
||||||
|
|
||||||
|
|
||||||
## Bulletins de notes
|
## Bulletins de notes
|
||||||
* **`evaluations`**
|
* **`evaluations`**
|
||||||
* Méthode: GET
|
* **Méthode:** GET
|
||||||
* Paramètres: `module_id`
|
* **Paramètres:** `module_id`
|
||||||
* Format URL: `/api/evaluations/<int:module_id>`
|
* **Format URL:** `/api/evaluations/<int:module_id>`
|
||||||
* Exemple d'utilisation: `/api/evaluations/54`
|
* **Exemple d'utilisation:** `/api/evaluations/54`
|
||||||
* Résultat: Liste des evaluations à partir de l'id d'un module.
|
* **Résultat:** Liste des evaluations à partir de l'id d'un module.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:** `[eval_1, eval_2, eval_3, ...]`
|
||||||
* Codes HTTP:
|
|
||||||
|
|
||||||
|
|
||||||
* **`eval_notes`**
|
* **`eval_notes`**
|
||||||
* Méthode: GET
|
* **Méthode**: GET
|
||||||
* Paramètres: `eval_id`
|
* **Paramètres**: `eval_id`
|
||||||
* Format URL: `/api/eval_notes/<int:eval_id>`
|
* **Format URL:** `/api/eval_notes/<int:eval_id>`
|
||||||
* Exemple d'utilisation: `/api/eval_notes/24`
|
* **Exemple d'utilisation:** `/api/eval_notes/24`
|
||||||
* Résultat: Liste des notes à partir de l'id d'une évaluation donnée.
|
* **Résultat:** Liste des notes à partir de l'id d'une évaluation donnée.
|
||||||
* Exemple de résultat:
|
* **Exemple de résultat:**
|
||||||
* Codes HTTP:
|
```
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"84": "13",
|
||||||
|
"85": "15",
|
||||||
|
"86": "9",
|
||||||
|
...
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
* **`eval_set_notes`**
|
* **`eval_set_notes`**
|
||||||
* Méthode: POST
|
* **Méthode:** POST
|
||||||
* Paramètres: `eval_id`, `etud_id`, `note`
|
* **Paramètres:** `eval_id`, `etudid`, `note`
|
||||||
* Format URL: `/api/eval_set_notes?eval_id=<int:eval_id>&etud_id=<int:etud_id>¬e=<int: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&etud_id=456¬e=15`
|
* **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é.
|
* **Résultat:** Set les notes d'une évaluation pour un étudiant donné.
|
||||||
* Exemple de résultat:
|
|
||||||
* Codes HTTP:
|
|
||||||
|
|
||||||
|
|
||||||
* **`Notes/formsemestre_bulletinetud`**
|
* **`Notes/formsemestre_bulletinetud`**
|
||||||
* Paramètres: `form_sem_id`, `etud_id`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals`ou `long`)
|
* **Méthode:** GET
|
||||||
* Résultat: bulletin de notes
|
* **Paramètres:** `form_sem_id`, `etudid`, `format` (`xml`ou `json`), `version` (`short`, `selectedevals` ou `long`)
|
||||||
* Exemple: ici au format JSON, pour une version courte (`version=short`)
|
* **Format URL:**
|
||||||
|
* **Exemple d'utilisation:**
|
||||||
|
* **Résultat:** Un bulletin de notes.
|
||||||
|
* **Exemple de résultat:** ici au format JSON, pour une version courte (`version=short`)
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"rang": {
|
"rang": {
|
||||||
@ -425,7 +462,7 @@ Et un autre exemple en format JSON:
|
|||||||
"prenom": "Roberto",
|
"prenom": "Roberto",
|
||||||
"sexe": "M.",
|
"sexe": "M.",
|
||||||
"code_ine": "",
|
"code_ine": "",
|
||||||
"etud_id": "EID9860",
|
etudid": "EID9860",
|
||||||
"code_nip": "123456789",
|
"code_nip": "123456789",
|
||||||
"email": "roberto@santateresa.mx",
|
"email": "roberto@santateresa.mx",
|
||||||
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_EID29960.h90.jpg"
|
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_EID29960.h90.jpg"
|
||||||
@ -448,7 +485,7 @@ Et un autre exemple en format JSON:
|
|||||||
"value": "15.51",
|
"value": "15.51",
|
||||||
"min": "07.29"
|
"min": "07.29"
|
||||||
},
|
},
|
||||||
"etud_id": "EID9860",
|
etudid": "EID9860",
|
||||||
"decision_ue": [
|
"decision_ue": [
|
||||||
{
|
{
|
||||||
"acronyme": "UE11",
|
"acronyme": "UE11",
|
||||||
@ -1041,41 +1078,71 @@ Et un autre exemple en format JSON:
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Absences
|
## Absences
|
||||||
* **`Absences/ListeAbsEtud`**
|
**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.
|
||||||
* 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, 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`**
|
* **`absences`**
|
||||||
* Paramètres: ```datedebut, datefin, demijournee, etud_id```
|
* **Méthode:** GET
|
||||||
* Résultat: *html*
|
* **Paramètres:** `etudid`, `abs_just_only, format`, `abs_just_only` (_spécifie si on veut les absences justifiées ou non_).
|
||||||
|
* **Format URL:** `/api/absences/<int:etudid>`
|
||||||
|
* **Exemple d'utilisation:** `/api/absences/54`
|
||||||
|
* **Résultat:** Liste des absences d'un étudiant donné.
|
||||||
|
* **Exemple de résultat:**
|
||||||
|
```{jour: "2021-02-10", ampm: "0", description: "M2202", }``` (_**ampm** vaut 1 le matin et 0 l'après-midi_).
|
||||||
|
|
||||||
* **`Absences/doAnnuleJustif`**
|
|
||||||
* Paramètres: ```context, datedebut0, datefin0, demijournee```
|
|
||||||
* Résultat: *html*
|
|
||||||
|
|
||||||
* **`Absences/EtatAbsencesGr`**
|
|
||||||
* Liste les absences d'un ou plusieurs groupes entre deux dates.
|
* **`abs_signale`**
|
||||||
* Paramètres: ```group_ids, debut, fin, with_boursier=True, format=html```
|
* **Méthode:** POST
|
||||||
* Résultat: liste des absences. Si `format="json"`, cela donne par exemple:
|
* **Paramètres:** `date_debut`, `date_fin`, `module_impl_id=None`, `demi_journee=2`, `estjust=False`, `description`, `etudid`
|
||||||
```[ {
|
* **Format URL:** `/api/abs_signale/?date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee&description=description&etudid=<int:etudid>`
|
||||||
boursier: "N",
|
* **Exemple d'utilisation:** `/api/abs_signale/?date_debut=2015/02/01&date_fin=2015/02/03&demi_journee=4&description=""&etudid=874`
|
||||||
nbabs: "9",
|
* **Résultat:** *html*
|
||||||
nbabsjust: "2",
|
* **Remarques:** Dates au format iso `yyyy/mm/dd`. Date de fin non incluse. `demi_journee`: 2 si journée complète, 1 matin, 0 après-midi.
|
||||||
nbabsnonjust: "7",
|
|
||||||
nbjustifs_noabs: "0",
|
|
||||||
nomprenom: "Mme Poisson Dodouce",
|
|
||||||
etud_id: "EID12345"
|
* **`abs_annule`**
|
||||||
|
* **Méthode:** POST
|
||||||
|
* **Paramètres:** `date_debut`, `date_fin`, `demi_journee`, `etudid`
|
||||||
|
* **Format URL:** `/api/abs_annule/?date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee&etudid=<int:etudid>`
|
||||||
|
* **Exemple d'utilisation:** `/api/abs_annule/?date_debut=2004/05/03&date_fin=2004/06/07&demi_journee=2&etudid=451`
|
||||||
|
* **Résultat:** *html*
|
||||||
|
* **Remarques:** Dates au format iso `yyyy/mm/dd`. Date de fin non incluse. `demi_journee`: 2 si journée complète, 1 matin, 0 après-midi.
|
||||||
|
|
||||||
|
|
||||||
|
* **`abs_annule_justif`**
|
||||||
|
* **Méthode:** POST
|
||||||
|
* **Paramètres:** `context`, `date_debut`, `date_fin`, `demi_journee`
|
||||||
|
* **Format URL:** `/api/abs_annule_justif/?context=context&date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee`
|
||||||
|
* **Exemple d'utilisation:** `/api/abs_annule_justif/?context=malade&date_debut=2020/01/05&date_fin=2020/01/06&demi_journee=1`
|
||||||
|
* **Résultat:** *html*
|
||||||
|
* **Remarques:** Dates au format iso `yyyy/mm/dd`. Date de fin non incluse. `demi_journee`: 2 si journée complète, 1 matin, 0 après-midi.
|
||||||
|
|
||||||
|
|
||||||
|
* **`abs_groupe_etat`**
|
||||||
|
* **Méthode:** GET
|
||||||
|
* **Paramètres:** `group_ids`, `date_debut`, `date_fin`, `with_boursier=True`, `format=html`
|
||||||
|
* **Format URL:** `/api/abs_group_etat/?group_ids=group_ids&date_debut=date_debut&date_fin=date_fin`
|
||||||
|
* **Exemple d'utilisation:** `/api/abs_group_etat/?group_ids=45&date_debut=2019/01/30&date_fin=2019/02/30`
|
||||||
|
* **Résultat:** Liste des absences d'un ou plusieurs groupes entre deux dates.
|
||||||
|
* **Exemple de résultat:** si `format="json"` cela donne:
|
||||||
|
```
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"boursier": "N",
|
||||||
|
"nbabs": "9",
|
||||||
|
"nbabsjust": "2",
|
||||||
|
"nbabsnonjust": "7",
|
||||||
|
"nbjustifs_noabs": "0",
|
||||||
|
"nomprenom": "Mme Poisson Dodouce",
|
||||||
|
"etudid": "EID12345"
|
||||||
},
|
},
|
||||||
...
|
...
|
||||||
]```
|
]
|
||||||
* Remarque: on peut spécifier plusieurs groupes.
|
```
|
||||||
|
|
||||||
|
* **Remarques:** Dates au format iso `yyyy/mm/dd`. Date de fin non incluse. `demi_journee`: 2 si journée complète, 1 matin, 0 après-midi.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user