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**.
|
**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
|
## 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.
|
Les objets ScoDoc manipulables sont identifiés par des id numériques.
|
||||||
|
|
||||||
- `etudid` : étudiant
|
* `etudid` : étudiant
|
||||||
- `formation_id` : un programme de formation (page "programmes");
|
* `formation_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;
|
||||||
- `module_id` : un module dans un programme;
|
* `module_id` : un module dans un programme;
|
||||||
- `moduleimpl_id` : un module réalisé dans un semestre;
|
* `moduleimpl_id` : un module réalisé dans un semestre;
|
||||||
- `formsemestre_id` : un "semestre" de formation.
|
* `formsemestre_id` : un "semestre" de formation.
|
||||||
|
|
||||||
(pour plus de précisions, voir le [guide développeurs](GuideDeveloppeurs.md))
|
(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
|
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 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 documentation développeurs](GuideDeveloppeurs.md) et sur les [vues de l'API](DevInternals.md#vues-de-lapi-et-permissions).
|
||||||
|
|
||||||
!!! note
|
!!! 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
|
connecter via ScoDoc sans CAS. Pour cela, cocher l'option
|
||||||
*Autorise connexion via CAS si CAS est activé*
|
*Autorise connexion via CAS si CAS est activé*
|
||||||
dans leur formulaire de configuration.
|
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
|
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/...`.
|
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 |
|
| Retour | Remarque | Méthode | Navigation | Permission |
|
||||||
|:------------------------|:----------------------------------------|---------|---------------------------------------------------------------------------|---------------------|
|
|:------------------------|:----------------------------------------|---------|---------------------------------------------------------------------------|---------------------|
|
||||||
| assiduite | une assiduité | GET | [assiduité](#assiduite) | ScoView |
|
| 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 étudiant | GET | [assiduités](#assiduites) | ScoView |
|
||||||
| assiduite**`*`** | liste d'assiduités d'un formsemestre | GET | [assiduités-formsemestre](#assiduites-formsemestre) | 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**`#`** | 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:CREATE | création d'assiduité | POST | [assiduite-create](#assiduite-create) | ScoAssiduiteChange |
|
||||||
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | ScoAssiduiteChange |
|
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | ScoAssiduiteChange |
|
||||||
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | ScoAssiduiteChange |
|
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | ScoAssiduiteChange |
|
||||||
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
|
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
|
||||||
| justificatif**`*`** | liste de justificatif d'un étudiant | GET | [justificatifs](#justificatifs) | 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:CREATE | création de justificatif | POST | [justificatif-create](#justificatif-create) | ScoJustifChange |
|
||||||
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | ScoJustifChange |
|
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | ScoJustifChange |
|
||||||
| justificatif:DELETE | suppression de justificatif | POST | [justificatif-delete](#justificatif-delete) | 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:IMPORT | importation de fichier justificatif | POST | [justificatif-import](#justificatif-import) | ScoJustifChange |
|
||||||
| justificatif:EXPORT | exportation de fichier justificatif | POST | [justificatif-export](#justificatif-export) | 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 |
|
| justificatif:REMOVE | suppression de fichier justificatif | POST | [justificatif-remove](#justificatif-remove) | ScoJustifChange |
|
||||||
| departement**`*`** | tous les depts | GET | [departements](#departements) | |
|
| departement**`*`** | tous les depts | GET | [departements](#departements) | |
|
||||||
| departement**`#`** | tous les ids des depts | GET | [departements-ids](#departements-ids) | ScoView |
|
| departement**`#`** | tous les ids des depts | GET | [departements-ids](#departements-ids) | ScoView |
|
||||||
| departement | recherche par id | GET | [departement](#departement) | ScoView |
|
| departement | recherche par id | GET | [departement](#departement) | ScoView |
|
||||||
| departement | recherche par acronyme | 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: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: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 |
|
| departement:DELETE | suppression d'un département | POST | [departement-delete](#departement-delete) | ScoSuperAdmin |
|
||||||
| formation**`*`** | toutes les formations accessibles | GET | [formations](#formations) | ScoView |
|
| 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**`#`** | ids des formations accessibles | GET | [formations-ids](#formations-ids) | ScoView |
|
||||||
| formation | une formation | GET | [formation](#formation) | ScoView |
|
| formation | une formation | GET | [formation](#formation) | ScoView |
|
||||||
| export | | GET | [formation-export](#formation-export) | 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)
|
* 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)
|
* **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**
|
### **API Formation**
|
||||||
|
|
||||||
#### Structure Formation
|
#### Structure Formation
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
"datetime_fin": null,
|
"datetime_fin": null,
|
||||||
"datetime_mediane": null
|
"datetime_mediane": null
|
||||||
},
|
},
|
||||||
"visi_bulletin": true
|
"visibulletin": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"formsemestre_id": 1,
|
"formsemestre_id": 1,
|
||||||
@ -172,7 +172,7 @@
|
|||||||
"datetime_fin": "2022-08-20T12:00:00.000000+02:00",
|
"datetime_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||||
"datetime_mediane": "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,
|
"formsemestre_id": 1,
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"numero": 0,
|
"numero": 0,
|
||||||
"poids": {},
|
"poids": {},
|
||||||
"publish_incomplete": true,
|
"publish_incomplete": true,
|
||||||
"visi_bulletin": true
|
"visibulletin": true
|
||||||
},
|
},
|
||||||
"..."
|
"..."
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user