forked from ScoDoc/DocScoDoc
API évaluations
This commit is contained in:
parent
0fb62b79bf
commit
bf68f0b1a7
@ -8,7 +8,7 @@ Lannion financé par l'Association ScoDoc.
|
||||
|
||||
**Ce module est disponible à partir de ScoDoc version 9.6**.
|
||||
|
||||
[Vidéo de présentation du module d'assiduités ](#) TODO EV à publier sur la chaîne YT
|
||||
[Vidéo de présentation du module d'assiduités ](https://youtu.be/p7xips26W54)
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
|
@ -19,13 +19,13 @@ L'API fournit des données JSON, sauf exception (bulletins PDF par exemple).
|
||||
|
||||
Les objets ScoDoc manipulables sont identifiés par des id numériques.
|
||||
|
||||
- `etudid` : étudiant
|
||||
- `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;
|
||||
- `moduleimpl_id` : un module réalisé dans un semestre;
|
||||
- `formsemestre_id` : un "semestre" de formation.
|
||||
* `etudid` : étudiant
|
||||
* `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;
|
||||
* `moduleimpl_id` : un module réalisé dans un semestre;
|
||||
* `formsemestre_id` : un "semestre" de formation.
|
||||
|
||||
(pour plus de précisions, voir le [guide développeurs](GuideDeveloppeurs.md))
|
||||
|
||||
@ -77,17 +77,17 @@ flask user-password lecteur_api
|
||||
|
||||
Si vous êtes intéressé par le développement, voir
|
||||
|
||||
- [la section sur les tests unitaires de l'API](TestsScoDoc.md#tests-de-lapi-scodoc9);
|
||||
- [la documentation développeurs](GuideDeveloppeurs.md) et sur les [vues de l'API](DevInternals.md#vues-de-lapi-et-permissions).
|
||||
* [la section sur les tests unitaires de l'API](TestsScoDoc.md#tests-de-lapi-scodoc9);
|
||||
* [la documentation développeurs](GuideDeveloppeurs.md) et sur les [vues de l'API](DevInternals.md#vues-de-lapi-et-permissions).
|
||||
|
||||
!!! note
|
||||
|
||||
- Si vous utilisez le CAS, pensez à laisser les comptes utilisateurs API se
|
||||
* Si vous utilisez le CAS, pensez à laisser les comptes utilisateurs API se
|
||||
connecter via ScoDoc sans CAS. Pour cela, cocher l'option
|
||||
*Autorise connexion via CAS si CAS est activé*
|
||||
dans leur formulaire de configuration.
|
||||
|
||||
- Si l'utilisateur est associé à un département (cas des comptes créés via l'interface Web),
|
||||
* Si l'utilisateur est associé à un département (cas des comptes créés via l'interface Web),
|
||||
il ne pourra accéder à l'API que via une *route départementale*, c'est à dire une route comprenant
|
||||
l'acronyme de son département, de la forme `https://...//ScoDoc/DEPARTEMENT/api/...`.
|
||||
|
||||
@ -249,29 +249,32 @@ Ce tableau est trié selon le type des informations renvoyées:
|
||||
|
||||
| Retour | Remarque | Méthode | Navigation | Permission |
|
||||
|:------------------------|:----------------------------------------|---------|---------------------------------------------------------------------------|---------------------|
|
||||
| assiduite | une assiduité | GET | [assiduité](#assiduite) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un étudiant | GET | [assiduités](#assiduites) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un formsemestre | GET | [assiduités-formsemestre](#assiduites-formsemestre) | ScoView |
|
||||
| assiduite**`#`** | liste d'id d'assiduités justifiées par un justificatif | GET | [justificatif-justifies](#justificatif-justifies) | ScoView |
|
||||
| assiduite:CREATE | création d'assiduité | POST | [assiduite-create](#assiduite-create) | ScoAssiduiteChange |
|
||||
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | ScoAssiduiteChange |
|
||||
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | ScoAssiduiteChange |
|
||||
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
|
||||
| justificatif**`*`** | liste de justificatif d'un étudiant | GET | [justificatifs](#justificatifs) | ScoView |
|
||||
| justificatif:CREATE | création de justificatif | POST | [justificatif-create](#justificatif-create) | ScoJustifChange |
|
||||
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | ScoJustifChange |
|
||||
| justificatif:DELETE | suppression de justificatif | POST | [justificatif-delete](#justificatif-delete) | ScoJustifChange |
|
||||
| justificatif:IMPORT | importation de fichier justificatif | POST | [justificatif-import](#justificatif-import) | ScoJustifChange |
|
||||
| justificatif:EXPORT | exportation de fichier justificatif | POST | [justificatif-export](#justificatif-export) | ScoJustifChange |
|
||||
| justificatif:REMOVE | suppression de fichier justificatif | POST | [justificatif-remove](#justificatif-remove) | ScoJustifChange |
|
||||
| assiduite | une assiduité | GET | [assiduité](#assiduite) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un étudiant | GET | [assiduités](#assiduites) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un formsemestre | GET | [assiduités-formsemestre](#assiduites-formsemestre) | ScoView |
|
||||
| assiduite**`#`** | liste d'id d'assiduités justifiées | GET | [justificatif-justifies](#justificatif-justifies) | ScoView |
|
||||
| assiduite:CREATE | création d'assiduité | POST | [assiduite-create](#assiduite-create) | ScoAssiduiteChange |
|
||||
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | ScoAssiduiteChange |
|
||||
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | ScoAssiduiteChange |
|
||||
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
|
||||
| justificatif**`*`** | liste de justificatif d'un étudiant | GET | [justificatifs](#justificatifs) | ScoView |
|
||||
| justificatif:CREATE | création de justificatif | POST | [justificatif-create](#justificatif-create) | ScoJustifChange |
|
||||
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | ScoJustifChange |
|
||||
| justificatif:DELETE | suppression de justificatif | POST | [justificatif-delete](#justificatif-delete) | ScoJustifChange |
|
||||
| justificatif:IMPORT | importation de fichier justificatif | POST | [justificatif-import](#justificatif-import) | ScoJustifChange |
|
||||
| justificatif:EXPORT | exportation de fichier justificatif | POST | [justificatif-export](#justificatif-export) | ScoJustifChange |
|
||||
| justificatif:REMOVE | suppression de fichier justificatif | POST | [justificatif-remove](#justificatif-remove) | ScoJustifChange |
|
||||
| departement**`*`** | tous les depts | GET | [departements](#departements) | |
|
||||
| departement**`#`** | tous les ids des depts | GET | [departements-ids](#departements-ids) | ScoView |
|
||||
| departement | recherche par id | GET | [departement](#departement) | ScoView |
|
||||
| departement | recherche par acronyme | GET | [departement](#departement) | ScoView |
|
||||
| departement:CREATE | création d'un département | POST | [departement-create](#departement-create) | ScoSuperAdmin |
|
||||
| departement:EDIT | modification d'un département | POST | [departement-edit](#departement-edit) | ScoSuperAdmin |
|
||||
| departement:DELETE | suppression d'un département | POST | [departement-delete](#departement-delete) | ScoSuperAdmin |
|
||||
| formation**`*`** | toutes les formations accessibles | GET | [formations](#formations) | ScoView |
|
||||
| departement:DELETE | suppression d'un département | POST | [departement-delete](#departement-delete) | ScoSuperAdmin |
|
||||
| evaluation | une évaluation | GET | [evaluation](#evaluation) | ScoView |
|
||||
| evaluation:CREATE | création d'une évaluation | POST | [evaluation-create](#evaluation-create) | - |
|
||||
| evaluation:DELETE | suppression d'une évaluation | POST | [evaluation-delete](#evaluation-delete) | - |
|
||||
| formation**`*`** | toutes les formations accessibles | GET | [formations](#formations) | ScoView |
|
||||
| formation**`#`** | ids des formations accessibles | GET | [formations-ids](#formations-ids) | ScoView |
|
||||
| formation | une formation | GET | [formation](#formation) | ScoView |
|
||||
| export | | GET | [formation-export](#formation-export) | ScoView |
|
||||
@ -592,6 +595,66 @@ Pour uniformiser les résultats des exemples, ceux sont soumis à quelques post-
|
||||
* Pour obtenir tous les étudiants répondant au critère, utiliser [etudiant-clefs](#etudiants-clef)
|
||||
* **Exemple de résultat:** [etudiant.json](samples/sample_etudiant.json.md)
|
||||
|
||||
### **API Evaluation**
|
||||
|
||||
#### Structure évaluation
|
||||
|
||||
| attribut | type | commentaire |
|
||||
|:----------------------------|:-----------------------------------------------|:--------------------------------------------------|
|
||||
| coefficient | float | coefficient pour moyenne (1.) |
|
||||
| date_debut | datetime (iso) | date et heure de début (tous groupes) |
|
||||
| date_fin | datetime (iso) | date et heure de fin (tous groupes) |
|
||||
| description | string | texte libre |
|
||||
| evaluation_type | int | 0 normale, 1 rattrapage, 2 "2eme session" |
|
||||
| moduleimpl_id | int | moduleimpl |
|
||||
| note_max | float | barème (20 points) |
|
||||
| numero | int | ordre présentation |
|
||||
| poids | { int : float } | poids APC (BUT): { ue_id : poids } |
|
||||
| publish_incomplete | int | si vrai, prend en compte même si notes incomplètes|
|
||||
| visibulletin | int | affiche sur bulletins intermédiaires (non BUT) |
|
||||
|
||||
Note: les poids ne sont utilisés que dans les formations APC (BUT).
|
||||
|
||||
#### **`evaluation`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Routes:** `/evaluation`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/evaluation/123`
|
||||
* **Résultat:** Liste une évaluation
|
||||
* **Exemple de résultat:** [evaluation.json](samples/sample_evaluation.json.md)
|
||||
|
||||
#### **`evaluation-create`**
|
||||
|
||||
* **Méthode: POST**
|
||||
* **Permission:** dépend du contexte
|
||||
* **Data:**
|
||||
```json
|
||||
{
|
||||
"description" : str,
|
||||
"evaluation_type" : int, // {0,1,2} default 0 (normale)
|
||||
"date_debut" : date_iso, // optionnel
|
||||
"date_fin" : date_iso, // optionnel
|
||||
"note_max" : float, // si non spécifié, 20.0
|
||||
"numero" : int, // ordre de présentation, default tri sur date
|
||||
"visibulletin" : boolean , //default true
|
||||
"publish_incomplete" : boolean , //default false
|
||||
"coefficient" : float, // si non spécifié, 1.0
|
||||
"poids" : { ue_id : poids } // optionnel
|
||||
}
|
||||
```
|
||||
* **Routes:** `/moduleimpl/<int:evaluation_id>/evaluation/create`
|
||||
* **Résultat:** Crée une évaluation dans le moduleimpl indiqué. Tous les paramètres passés dans sont optionnels. Renvoie l'évaluation.
|
||||
|
||||
#### **`evaluation-delete`**
|
||||
|
||||
* **Méthode: POST**
|
||||
* **Permission:** dépend du contexte
|
||||
* **Paramètres:** `evaluation_id`
|
||||
* **Routes:** `/evaluation/<int:evaluation_id>/delete`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/evaluation/123/delete`
|
||||
* **Résultat:** Supprime une évaluation (et toutes ses notes s'il y en a)
|
||||
|
||||
### **API Formation**
|
||||
|
||||
#### Structure Formation
|
||||
|
@ -34,7 +34,7 @@
|
||||
"datetime_fin": null,
|
||||
"datetime_mediane": null
|
||||
},
|
||||
"visi_bulletin": true
|
||||
"visibulletin": true
|
||||
}
|
||||
],
|
||||
"formsemestre_id": 1,
|
||||
@ -172,7 +172,7 @@
|
||||
"datetime_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"datetime_mediane": "2022-08-20T12:00:00.000000+02:00"
|
||||
},
|
||||
"visi_bulletin": true
|
||||
"visibulletin": true
|
||||
}
|
||||
],
|
||||
"formsemestre_id": 1,
|
||||
|
@ -15,7 +15,7 @@
|
||||
"numero": 0,
|
||||
"poids": {},
|
||||
"publish_incomplete": true,
|
||||
"visi_bulletin": true
|
||||
"visibulletin": true
|
||||
},
|
||||
"..."
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user