diff --git a/docs/Assiduites.md b/docs/Assiduites.md index d110eb88e..ae3a4de85 100644 --- a/docs/Assiduites.md +++ b/docs/Assiduites.md @@ -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 diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index 3b6b4bdd4..06aaa3570 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -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//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//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 diff --git a/docs/samples/sample_formsemestre-etat_evals.json.md b/docs/samples/sample_formsemestre-etat_evals.json.md index 234f756fc..2d8c66664 100644 --- a/docs/samples/sample_formsemestre-etat_evals.json.md +++ b/docs/samples/sample_formsemestre-etat_evals.json.md @@ -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, diff --git a/docs/samples/sample_moduleimpl-evaluations.json.md b/docs/samples/sample_moduleimpl-evaluations.json.md index 76230a1fc..b4d71a35a 100644 --- a/docs/samples/sample_moduleimpl-evaluations.json.md +++ b/docs/samples/sample_moduleimpl-evaluations.json.md @@ -15,7 +15,7 @@ "numero": 0, "poids": {}, "publish_incomplete": true, - "visi_bulletin": true + "visibulletin": true }, "..." ]