diff --git a/.gitignore b/.gitignore index a1414d4d..2a201b6d 100644 --- a/.gitignore +++ b/.gitignore @@ -191,3 +191,6 @@ CVS # MkDocs ScoDoc site/ + +# Pycharm +.idea/ diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index e0b82395..937ba2fe 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -110,395 +110,6 @@ Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succ * [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. - -### Départements - * **`departements`** - * **Méthode:** GET - * **Paramètres:** `viewable` (optionnel, si faux liste aussi les - départements non accessibles à l'utilisateur courant), `format` (json, - xml) - * **Routes:** `/api/departements` - * **Exemple d'utilisation:** `/api/departements` - * **Résultat:** Liste des id de départements. - * **Exemple de résultat:** `[id_1, id_2, id_3, ...]` - - - * **`etudiants`** XXX à revoir - * **Méthode:** GET - * **Paramètres:** `dept`, `semestre` - * **Routes:** `/api/departements//etudiants/liste/` - * **Exemple d'utilisation:** `/api/departements/MMI/etudiants/liste` - * **Résultat:** liste des étudiants d'un département - semestre actuel par - défaut. XXX à préciser - - - * **`liste_semestres_actifs`** XXX à revoir - * **Méthode:** GET - * **Paramètres:** `dept` - * **Routes:** `/api/departements//semestres_actifs` - * **Exemple d'utilisation:** `/api/departements/MMI/semestres_actifs` - * **Résultat:** Liste des semestres actifs d'un département donné. (_réponse sous format json_) - - - * **`referentiel_competences`** - * **Méthode:** GET - * **Paramètres:** `id`, id du référentiel - * **Routes:** `/api/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 - -### Etudiants - * **`etud_dept`** - * **Méthode:** GET - * **Paramètres:** `code_nip` - * **Routes:** `/api/etud_dept/` - * **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. - * **Exemple de résultat:** - ``` - [ - { - exist: true, - dept: "GEII", - id: 987, - dept_id: 3 - } - ] - ``` - - - * **`etudiant`** - * **Méthode:** GET - * **Paramètres:** `etudid` - * **Routes:** `/api/etudiant/` - * **Exemple d'utilisation:** `/api/etudiant/987` - * **Résultat:** Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres. - * **Exemple de résultat:** - ``` - { - "nom": "Mutis", - "sexe": "M.", - "email": "alvaro.mutis@example.com", - "prenom": "ALVARO", - "nomprenom": "M. Alvaro MUTIS", - "insemestre": [ - { - "etat": "I", - "formsemestre_id": "12781", - "date_fin": "2010-07-30", - "date_debut": "2010-01-25" - "parcours_type": XXX type de parcours, en discussion XXX - }, - { - "etat": "I", - "formsemestre_id": "8396", - "date_fin": "2009-01-16", - "date_debut": "2008-09-01" - } - ], - "etudid": "8768", - "domicile": "2 Rue Madame", - "villedomicile": "Paris", - "telephonemobile": "" - } - ``` - - - * **`etudiant_bulletin_semestre`** - * **Méthode:** GET - * **Paramètres:** `etudid`, `sem_id` - * **Routes:** `/api/etudiant//semestre//bulletin` - * **Exemple d'utilisation:** `/api/etudiant/987/semestre/12/bulletin` - * **Résultat:** Le bulletin d'un étudiant en fonction de son id et d'un semestre donné. - * **Exemple de résultat:** voir plus bas sur cette page. - - Voir aussi [Bulletins par défaut](https://scodoc.org/ParametrageBulletins/#exemple-1-bulletins-par-defaut) - - - * **`etudiant_bulletin`** - * **Méthode:** GET - * **Paramètres:** `formsemestre_id`, `dept`, `etudid`, `format` (`pdf` ou `json` _par défaut json_), `version` (`short`, `selectedevals` ou `long`) - * **Routes:** : `/api/formsemestre//departements//etudiant/nip|id|ine/{NIP}|{etudid}|numScodoc}/releve` - * **Exemple d'utilisation:** `/api/formsemestre/123/departements/MMI/etudiant/id/456/releve?format=pdf&version=short` - * **Résultat:** Un bulletin de notes. - * **Exemple de résultat:** ici au format JSON, pour une version courte (`version=short`) -``` -{ -"rang": { - "ninscrits": 52, - "value": "1" -}, -"etape_apo2": "", -"etape_apo3": "", -"etape_apo4": "", -"etudiant": { - "nom": "BOLANO", - "prenom": "Roberto", - "sexe": "M.", - "code_ine": "", - etudid": "9860", - "code_nip": "123456789", - "email": "roberto@santateresa.mx", - "photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_29960.h90.jpg" -}, -"bonus_sport_culture": { - "value": 0 -}, -"absences": { - "nbabsjust": 0, - "nbabs": 1 -}, -"decision": { - "etat": "I", - "code": "ADM", - "compenseformsemestre_id" : "SEM12345" /* si ce semestre en compense un autre */ -}, -"note": { - "max": "15.51", - "moy": "10.80", - "value": "15.51", - "min": "07.29" -}, - etudid": "9860", -"decision_ue": [ - { - "acronyme": "UE11", - "code": "ADM", - "ects": "16.0", - "titre": "D\u00e9couverte m\u00e9tiers", - "numero": "11", - "ue_id": "UE21456" - }, - { - "acronyme": "UE12", - "code": "ADM", - "ects": "14.0", - "titre": "Mise \u00e0 niveau des comp\u00e9tences transversales et scientifiques", - "numero": "12", - "ue_id": "UE21478" - } -], -"ue_capitalisee": [ - -], -"publie": 1, -"autorisation_inscription": [ - { - "semestre_id": 2 - } -], -"appreciation": [ - -], -"note_max": { - "value": 20 -}, -"date": "2014-07-12T17:38:47.693262", -"rang_group": [ - { - "ninscrits": 26, - "value": "1", - "group_type": "TD", - "group_name": "B" - }, - { - "ninscrits": 13, - "value": "1", - "group_type": "TP", - "group_name": "B1" - }, - ... - -], -formsemestre_id": "SEM12345", -"etape_apo": "V1RT", -"ue": [ - { - "acronyme": "UE11", - "rang": "1", - "code_apogee": "VRTU11", - "ects": "16", - "numero": "11", - "note": { - "max": "16.17", - "value": "16.17", - "min": "06.56" - }, - "module": [ - { - "coefficient": 3, - "rang": { - "value": "1" - }, - "code": "M1101", - "code_apogee": "VRT1101", - "numero": 1101, - "note": { - "moy": "08.94", - "nb_notes": 51, - "nb_missing": 0, - "max": "19.18", - "min": "03.70", - "nb_valid_evals": 3, - "value": "19.18" - }, - "abbrev": "R\u00e9seaux d'entreprises", - "effectif": { - "value": 51 - }, - "titre": "Initiation aux r\u00e9seaux d'entreprises", - "evaluation": [ - ], - "id": "27427" - }, - { - "coefficient": 2, - "rang": { - "value": "2" - ], - "effectif": "51", - "titre": "Mise \u00e0 niveau des comp\u00e9tences transversales et scientifiques", - "id": "UE21478" - }, - ... - - { - "acronyme": "UE 1S", - "rang": "1 ex", - "code_apogee": "", - "ects": "0", - "numero": "13", - "note": { - "max": "00.00", - "value": "00.00", - "min": "00.00" - }, - "module": [ - ], - "effectif": "51", - "titre": "Sport & Culture", - "id": "UE23716" - } -], -"situation": "Inscrit le 2015-09-02. D\u00e9cision jury: Valid\u00e9. UE acquises: UE11, UE12. Autoris\u00e9 \u00e0 s'inscrire en S2." -} -``` - - - - * **`etudiant_photo`** - * **Méthode:** GET - * **Paramètres:** `etudid`, `small` - * **Routes:** `/api/etudiant//photo` **OU** `/api/etudiant//photo/small` (_ajout du paramètre **small** pour la version small_) - * **Exemple d'utilisation:** `/api/etudiant/123/photo` **OU** `/api/etudiant/123/photo/small` (_pour la version small_) - * **Résultat:** Image en JPEG ou PNG. - - - * **`etudiant_groups`** - * **Méthode:** GET - * **Paramètres:** `etudid`, `formsemestre_id` - * **Routes:** `/api/etudiant//semestre//groups` - * **Exemple d'utilisation:** `/api/etudiants/123/semestre/INFO-DUT-FI-S1-2014/groups` - * **Résultat:** Liste des groupes auxquels appartient l'étudiant dans le semestre indiqué. - -``` -{ - "etudid" : 1234, - "formsemestre_id" : 5678, - "groupes" : [ - { - "numero": 1, // Ordre d'affichage dans Scodoc - "partition_id": 62028, - "partition_name": "TD", - "group_id" : 1899, - "group_name": "TD 1" - },{ - "numero": 2, - "partition_id": 62029, - "partition_name": "TP", - "group_id" : 1905, - "group_name": "TP 2" - } - ] -} -``` - - - -## Programmes de formations - * **`formations`** - * **Méthode:** GET - * **Paramètres:** `formation_id` (_optionnel, si absent, liste toutes les formations_) - * **Routes:** `/api/formations` **ou** `/api/formations/` - * **Exemple d'utilisation:** `/api/formations` **ou** `/api/formations/1` - * **Résultat:** Liste des formations. - * **Exemple de résultat:** `[formation_1, formation_2, formation_3, ...]` - * TODO: détailler le contenu publié - - - - * **`formation_export`** - * **Méthode:** GET - * **Paramètres:** `formation_id`, `export_ids` (_par défaut "faux"_) - * **Routes:** `/api/formations/formation_export/` - * **Exemple d'utilisation:** `/api/formations/formation_export/596` **ou** `/api/formations/formation_export/596?format=xml&export_ids=1` - * **Résultat:** La formation, avec UE, matières, modules (_un arbre_). - * **Exemple de résultat:** -``` - { - "nom": "formation", - "UE": "ue", - "matieres": [ - "matiere_1": "maths", - "matiere_2": "anglais", - ... - ], - "modules": ... - } -``` - -### UE - * **`UEs`** - * **Méthode:** GET - * **Paramètres:** `dept`, `̀semestre` - * **Routes:** `/api/departements//formations/programme/` - * **Exemple d'utilisation:** `̀/api/departements/MMI/formations/programme/INFO-DUT-FI-S1-2014` - * **Résultat:** Liste des UEs, ressources et SAE d'un semestre - - - - -### 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`. - - * **`formsemestre`** - * **Méthode:** GET - * **Paramètres:** `formsemestre_id` ou `etape_apo`, `format`(json ou xml) - * **Routes:** `/api/formations/formsemestre/`, `/api/formsemestre/apo/` - * **Exemple d'utilisation:** `/api/formations/formsemestre/12` - * **Résultat:** Informations sur le(s) formsemestre(s). - * **Exemple de résultat:** -``` -[ - { - "annee_scolaire": "2022 - 2023", - "date_debut": "2022-09-01", - "date_fin": "2023-02-02", - "modalite": "FI", - "periode": 1, - "semestre_idx_txt": "S3", - "semestre_idx" : 3, - "session_id" : "GEII-BUT-FI-S3-2022", - "titre_annee": "BUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022" - "titre_num": "BUT Génie Electrique et Informatique Industrielle semestre 3", - "titre": "BUT Génie Electrique et Informatique Industrielle", - "parcours_type": XXX type de parcours - 'formation_id": 87, - } -] -``` - #### 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 @@ -520,21 +131,1103 @@ informations suivantes: **Exemple:** `INFO-DUT-FI-S1-2014` équivaut à un semestre S1 d'un DUT informatique de 2014 en formation initiale (FI) + +### Départements + * **`departements`** + * **Méthode:** GET + * **Routes:** `/departements` + * **Exemple d'utilisation:** `/api/departements` + * **Résultat:** Liste des départements. + * **Exemple de résultat:** + ``` + [ + { + "id": 1, + "acronym": "TAPI", + "description": null, + "visible": true, + "date_creation": "Fri, 15 Apr 2022 12:19:28 GMT" + }, + { + "id": 2, + "acronym": "MMI", + "description": null, + "visible": false, + "date_creation": "Fri, 18 Apr 2022 11:20:8 GMT" + }, + ... + ] + ``` + + + * **`liste_etudiants`** + * **Méthode:** GET + * **Paramètres:** `dept`, `formsemestre_id` + * **Routes:** `/departements//etudiants/liste` ou `/api/departements//etudiants/liste/` + * **Exemple d'utilisation:** `/api/departements/MMI/etudiants/liste` + * **Résultat:** liste des étudiants d'un département, par défaut, ou d'un semestre si renseigné. (json) + * **Exemple de résultat:** + ``` + [ + { + "civilite": "X", + "code_ine": null, + "code_nip": null, + "date_naissance": null, + "email": null, + "emailperso": null, + "etudid": 18, + "nom": "MOREL", + "prenom": "JACQUES" + }, + { + "civilite": "X", + "code_ine": null, + "code_nip": null, + "date_naissance": null, + "email": null, + "emailperso": null, + "etudid": 19, + "nom": "FOURNIER", + "prenom": "ANNE" + }, + ... + ] + ``` + + + * **`liste_semestres_courant`** + * **Méthode:** GET + * **Paramètres:** `dept` + * **Routes:** `/departements//semestres_courants` + * **Exemple d'utilisation:** `/api/departements/MMI/semestres_courants` + * **Résultat:** Liste des semestres actifs d'un département donné. (_réponse sous format json_) + * **Exemple de résultat:** + ``` + [ + { + "titre": "master machine info", + "gestion_semestrielle": false, + "scodoc7_id": null, + "date_debut": "01/09/2021", + "bul_bgcolor": null, + "date_fin": "15/12/2022", + "resp_can_edit": false, + "dept_id": 1, + "etat": true, + "resp_can_change_ens": false, + "id": 1, + "modalite": "FI", + "ens_can_edit_eval": false, + "formation_id": 1, + "gestion_compensation": false, + "elt_sem_apo": null, + "semestre_id": 1, + "bul_hide_xml": false, + "elt_annee_apo": null, + "block_moyennes": false, + "formsemestre_id": 1, + "titre_num": "master machine info semestre 1", + "date_debut_iso": "2021-09-01", + "date_fin_iso": "2022-12-15", + "responsables": [ + 3, + 2 + ] + }, + ... + ] + ``` + + + * **`referentiel_competences`** + * **Méthode:** GET + * **Paramètres:** `dept`, `formation_id` + * **Routes:** `/departements//formations//referentiel_competences` + * **Exemple d'utilisation:** `api/departements/MMI/formations/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 + + + * **`semestre_index`** + * **Méthode:** GET + * **Paramètres:** `dept`, `formsemestre_id` + * **Routes:** `/departements//formsemestre//programme` + * **Exemple d'utilisation:** `api/departements/MMI/formsemestre/1/programme` + * **Résultat:** Retourne la liste des Ues, ressources et SAE d'un semestre (json). + * **Exemple de résultat:** + ``` + { + "ues": [ + { + "type": 0, + "formation_id": 1, + "ue_code": "UCOD11", + "id": 1, + "ects": 12.0, + "acronyme": "RT1.1", + "is_external": false, + "numero": 1, + "code_apogee": "", + "titre": "Administrer les r\u00e9seaux et l\u2019Internet", + "coefficient": 0.0, + "semestre_idx": 1, + "color": "#B80004", + "ue_id": 1 + }, + ... + ], + "ressources": [ + { + "titre": "Fondamentaux de la programmation", + "coefficient": 1.0, + "module_type": 2, + "id": 17, + "ects": null, + "abbrev": null, + "ue_id": 3, + "code": "R107", + "formation_id": 1, + "heures_cours": 0.0, + "matiere_id": 3, + "heures_td": 0.0, + "semestre_id": 1, + "heures_tp": 0.0, + "numero": 70, + "code_apogee": "", + "module_id": 17 + }, + ... + ], + "saes": [ + { + "titre": "Se pr\u00e9senter sur Internet", + "coefficient": 1.0, + "module_type": 3, + "id": 14, + "ects": null, + "abbrev": null, + "ue_id": 3, + "code": "SAE14", + "formation_id": 1, + "heures_cours": 0.0, + "matiere_id": 3, + "heures_td": 0.0, + "semestre_id": 1, + "heures_tp": 0.0, + "numero": 40, + "code_apogee": "", + "module_id": 14 + }, + ... + ] + } + ``` + + + +### Etudiants + + * **`etudiants_courant`** + * **Méthode:** GET + * **Routes:** `/etudiants/courant` ou `/etudiants/courant/long` + * **Exemple d'utilisation:** `/api/etudiants/courant` + * **Résultat:** Retourne la liste des étudiants courant (json). + * **Exemple de résultat:** + ``` + { + { + "civilite": "X", + "code_ine": null, + "code_nip": null, + "date_naissance": null, + "email": null, + "emailperso": null, + "etudid": 18, + "nom": "MOREL", + "prenom": "JACQUES" + }, + { + "civilite": "X", + "code_ine": null, + "code_nip": null, + "date_naissance": null, + "email": null, + "emailperso": null, + "etudid": 19, + "nom": "FOURNIER", + "prenom": "ANNE" + }, + ... + } + ``` + + * **`etudiant`** + * **Méthode:** GET + * **Paramètres:** `etudid`, `nip`, `ine` + * **Routes:** `/etudiant/etudid/` ou `/etudiant/nip/` ou `/etudiant/ine/` + * **Exemple d'utilisation:** `/api/etudiant/nip/1` + * **Résultat:** Retourne les informations de l'étudiant correspondant à l'id passé en paramètres. (json) + * **Exemple de résultat:** + ``` + { + "civilite": "X", + "code_ine": null, + "code_nip": null, + "date_naissance": null, + "email": null, + "emailperso": null, + "etudid": 18, + "nom": "MOREL", + "prenom": "JACQUES" + } + ``` + + + * **`etudiant_formsemestres`** + * **Méthode:** GET + * **Paramètres:** `etudid`, `nip`, `ine` + * **Routes:** : `/etudiant/etudid//formsemestres` ou `/etudiant/nip//formsemestres` ou `/etudiant/ine//formsemestres` + * **Exemple d'utilisation:** `/etudiant/ine/1/formsemestres` + * **Résultat:** Retourne la liste des semestres qu'un étudiant a suivis, triés par ordre chronologique. (json) + * **Exemple de résultat:** + ``` + [ + { + "titre": "master machine info", + "gestion_semestrielle": false, + "date_debut": "01/09/2021", + "bul_bgcolor": null, + "date_fin": "15/12/2022", + "resp_can_edit": false, + "dept_id": 1, + "etat": true, + "resp_can_change_ens": false, + "id": 1, + "modalite": "FI", + "ens_can_edit_eval": false, + "formation_id": 1, + "gestion_compensation": false, + "elt_sem_apo": null, + "semestre_id": 1, + "bul_hide_xml": false, + "elt_annee_apo": null, + "block_moyennes": false, + "formsemestre_id": 1, + "titre_num": "master machine info semestre 1", + "date_debut_iso": "2021-09-01", + "date_fin_iso": "2022-12-15", + "responsables": [ + 3, + 2 + ] + }, + ... + ] + ``` + + + * **`etudiant_bulletin_semestre`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine` + * **Routes:** `/etudiant/etudid//formsemestre//bulletin` ou `/etudiant/nip//formsemestre//bulletin` ou `/etudiant/ine//formsemestre//bulletin` + * **Exemple d'utilisation:** `/etudiant/nip/1/formsemestre/1/bulletin` + * **Résultat:** Retourne le bulletin d'un étudiant en fonction de son id et d'un semestre donné. (json) + * **Exemple de résultat:** + ``` + { + "version": "0", + "type": "BUT", + "date": "2022-04-27T07:18:16.450634Z", + "publie": true, + "etudiant": { + "civilite": "X", + "code_ine": "1", + "code_nip": "1", + "date_naissance": "", + "email": "SACHA.COSTA@example.com", + "emailperso": "", + "etudid": 1, + "nom": "COSTA", + "prenom": "SACHA", + "nomprenom": "Sacha COSTA", + "lieu_naissance": "", + "dept_naissance": "", + "nationalite": "", + "boursier": "", + "fiche_url": "/ScoDoc/TAPI/Scolarite/ficheEtud?etudid=1", + "photo_url": "/ScoDoc/TAPI/Scolarite/get_photo_image?etudid=1&size=small", + "id": 1, + "codepostaldomicile": "", + "paysdomicile": "", + "telephonemobile": "", + "typeadresse": "domicile", + "domicile": "", + "villedomicile": "", + "telephone": "", + "fax": "", + "description": "" + }, + "formation": { + "id": 1, + "acronyme": "BUT R&T", + "titre_officiel": "Bachelor technologique r\u00e9seaux et t\u00e9l\u00e9communications", + "titre": "BUT R&T" + }, + "formsemestre_id": 1, + "etat_inscription": "I", + "options": { + "show_abs": true, + "show_abs_modules": false, + "show_ects": true, + "show_codemodules": false, + "show_matieres": false, + "show_rangs": true, + "show_ue_rangs": true, + "show_mod_rangs": true, + "show_moypromo": false, + "show_minmax": false, + "show_minmax_mod": false, + "show_minmax_eval": false, + "show_coef": true, + "show_ue_cap_details": false, + "show_ue_cap_current": true, + "show_temporary": true, + "temporary_txt": "Provisoire", + "show_uevalid": true, + "show_date_inscr": true + }, + "ressources": { + "R101": { + "id": 1, + "titre": "Initiation aux r\u00e9seaux informatiques", + "code_apogee": null, + "url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=1", + "moyenne": {}, + "evaluations": [ + { + "id": 1, + "description": "eval1", + "date": "2022-04-20", + "heure_debut": "08:00", + "heure_fin": "09:00", + "coef": "01.00", + "poids": { + "RT1.1": 1.0, + }, + "note": { + "value": "12.00", + "min": "00.00", + "max": "18.00", + "moy": "10.88" + }, + "url": "/ScoDoc/TAPI/Scolarite/Notes/evaluation_listenotes?evaluation_id=1" + } + ] + }, + }, + "saes": { + "SAE11": { + "id": 2, + "titre": "Se sensibiliser \u00e0 l'hygi\u00e8ne informatique et \u00e0 la cybers\u00e9curit\u00e9", + "code_apogee": null, + "url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=2", + "moyenne": {}, + "evaluations": [] + }, + }, + "ues": { + "RT1.1": { + "id": 1, + "titre": "Administrer les r\u00e9seaux et l\u2019Internet", + "numero": 1, + "type": 0, + "color": "#B80004", + "competence": null, + "moyenne": { + "value": "08.50", + "min": "06.00", + "max": "16.50", + "moy": "11.31", + "rang": "12", + "total": 16 + }, + "bonus": "00.00", + "malus": "00.00", + "capitalise": null, + "ressources": { + "R101": { + "id": 1, + "coef": 12.0, + "moyenne": "12.00" + }, + }, + "saes": { + "SAE11": { + "id": 2, + "coef": 16.0, + "moyenne": "~" + }, + }, + "ECTS": { + "acquis": 0.0, + "total": 12.0 + } + }, + "semestre": { + "etapes": [], + "date_debut": "2021-09-01", + "date_fin": "2022-08-31", + "annee_universitaire": "2021 - 2022", + "numero": 1, + "inscription": "", + "groupes": [], + "absences": { + "injustifie": 1, + "total": 2 + }, + "ECTS": { + "acquis": 0, + "total": 30.0 + }, + "notes": { + "value": "10.60", + "min": "02.40", + "moy": "11.05", + "max": "17.40" + }, + "rang": { + "value": "10", + "total": 16 + } + } + } + ``` + + + * **`etudiant_groups`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id`, `etudid`, `nip`, `ine` + * **Routes:** `/etudiant/etudid//semestre//groups` ou `/etudiant/nip//semestre//groups` ou `/etudiant/ine//semestre//groups` + * **Exemple d'utilisation:** `/etudiant/nip/1/semestre/1/groups` + * **Résultat:** Retourne la liste des groupes auxquels appartient l'étudiant dans le semestre indiqué. (json) + * **Exemple de résultat:** + ``` + [ + { + "partition_id": 1, + "id": 1, + "formsemestre_id": 1, + "partition_name": "TD", + "numero": 0, + "bul_show_rank": false, + "show_in_lists": true, + "group_id": 1, + "group_name": B + }, + { + "partition_id": 2, + "id": 2, + "formsemestre_id": 1, + "partition_name": "TP", + "numero": 1, + "bul_show_rank": false, + "show_in_lists": true, + "group_id": 2, + "group_name": "A" + }, + ... + ] + ``` + + + +## Programmes de formations + * **`formations`** + * **Méthode:** GET + * **Routes:** `/ScoDoc/api/formations` + * **Exemple d'utilisation:** `/ScoDoc/api/formations` + * **Résultat:** Liste des formations. + * **Exemple de résultat:** + ``` + [ + { + "id": 1, + "acronyme": "BUT R&T", + "titre_officiel": "Bachelor technologique r\u00e9seaux et t\u00e9l\u00e9communications", + "formation_code": "V1RET", + "code_specialite": null, + "dept_id": 1, + "titre": "BUT R&T", + "version": 1, + "type_parcours": 700, + "referentiel_competence_id": null, + "formation_id": 1 + }, + ... + ] + ``` + + * **`formations_by_id`** + * **Méthode:** GET + * **Paramètres:** `formation_id` + * **Routes:** `/formations/` + * **Exemple d'utilisation:** `/ScoDoc/api/formations/1` + * **Résultat:** Retourne une formation en fonction d'un id donné + * **Exemple de résultat:** + ``` + { + "id": 1, + "acronyme": "BUT R&T", + "titre_officiel": "Bachelor technologique réseaux et télécommunications", + "formation_code": "V1RET", + "code_specialite": null, + "dept_id": 1, + "titre": "BUT R&T", + "version": 1, + "type_parcours": 700, + "referentiel_competence_id": null, + "formation_id": 1 + } + ``` + * **`formation_export_by_formation_id`** + * **Méthode:** GET + * **Paramètres:** `formation_id`, `export_ids` (False par défaut) + * **Routes:** `/formations/formation_export/` + * **Exemple d'utilisation:** `/ScoDoc/api/formations/formation_export/1` + * **Résultat:** Retourne la formation, avec UE, matières, modules + * **Exemple de résultat:** + ``` + { + "id": 1, + "acronyme": "BUT R&T", + "titre_officiel": "Bachelor technologique r\u00e9seaux et t\u00e9l\u00e9communications", + "formation_code": "V1RET", + "code_specialite": null, + "dept_id": 1, + "titre": "BUT R&T", + "version": 1, + "type_parcours": 700, + "referentiel_competence_id": null, + "formation_id": 1, + "ue": [ + { + "acronyme": "RT1.1", + "numero": 1, + "titre": "Administrer les r\u00e9seaux et l\u2019Internet", + "type": 0, + "ue_code": "UCOD11", + "ects": 12.0, + "is_external": false, + "code_apogee": "", + "coefficient": 0.0, + "semestre_idx": 1, + "color": "#B80004", + "reference": 1, + "matiere": [ + { + "titre": "Administrer les r\u00e9seaux et l\u2019Internet", + "numero": 1, + "module": [ + { + "titre": "Initiation aux r\u00e9seaux informatiques", + "abbrev": "Init aux r\u00e9seaux informatiques", + "code": "R101", + "heures_cours": 0.0, + "heures_td": 0.0, + "heures_tp": 0.0, + "coefficient": 1.0, + "ects": "", + "semestre_id": 1, + "numero": 10, + "code_apogee": "", + "module_type": 2, + "coefficients": [ + { + "ue_reference": "1", + "coef": "12.0" + }, + { + "ue_reference": "2", + "coef": "4.0" + }, + { + "ue_reference": "3", + "coef": "4.0" + } + ] + }, + { + "titre": "Se sensibiliser \u00e0 l'hygi\u00e8ne informatique et \u00e0 la cybers\u00e9curit\u00e9", + "abbrev": "Hygi\u00e8ne informatique", + "code": "SAE11", + "heures_cours": 0.0, + "heures_td": 0.0, + "heures_tp": 0.0, + "coefficient": 1.0, + "ects": "", + "semestre_id": 1, + "numero": 10, + "code_apogee": "", + "module_type": 3, + "coefficients": [ + { + "ue_reference": "1", + "coef": "16.0" + } + ] + }, + ... + ] + }, + ... + ] + }, + ] + } + ``` + +### 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`. + + * **`formsemestre`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id` + * **Routes:** `/formsemestre/` + * **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1` + * **Résultat:** Retourne l'information sur le formsemestre correspondant au formsemestre_id + * **Exemple de résultat:** + ``` + { + "date_fin": "31/08/2022", + "resp_can_edit": false, + "dept_id": 1, + "etat": true, + "resp_can_change_ens": true, + "id": 1, + "modalite": "FI", + "ens_can_edit_eval": false, + "formation_id": 1, + "gestion_compensation": false, + "elt_sem_apo": null, + "semestre_id": 1, + "bul_hide_xml": false, + "elt_annee_apo": null, + "titre": "Semestre test", + "block_moyennes": false, + "scodoc7_id": null, + "date_debut": "01/09/2021", + "gestion_semestrielle": false, + "bul_bgcolor": "white", + "formsemestre_id": 1, + "titre_num": "Semestre test semestre 1", + "date_debut_iso": "2021-09-01", + "date_fin_iso": "2022-08-31", + "responsables": [] + } + ``` + * **`formsemestre_apo`** + * **Méthode:** GET + * **Paramètres:** `etape_apo` + * **Routes:** `/formsemestre/apo/` + * **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1` + * **Résultat:** Retourne les informations sur les formsemestres + * **Exemple de résultat:** + ``` + { + "date_fin": "31/08/2022", + "resp_can_edit": false, + "dept_id": 1, + "etat": true, + "resp_can_change_ens": true, + "id": 1, + "modalite": "FI", + "ens_can_edit_eval": false, + "formation_id": 1, + "gestion_compensation": false, + "elt_sem_apo": null, + "semestre_id": 1, + "bul_hide_xml": false, + "elt_annee_apo": null, + "titre": "Semestre test", + "block_moyennes": false, + "scodoc7_id": null, + "date_debut": "01/09/2021", + "gestion_semestrielle": false, + "bul_bgcolor": "white", + "formsemestre_id": 1, + "titre_num": "Semestre test semestre 1", + "date_debut_iso": "2021-09-01", + "date_fin_iso": "2022-08-31", + "responsables": [] + } + ``` + + + + * **`etudiant_bulletin`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id`, `dept`, `etudid`, `nip`, `ine` + * **Routes:** `/formsemestre//departements//etudiant/etudid//bulletin` ou `/formsemestre//departements//etudiant/nip//bulletin` ou `/formsemestre//departements//etudiant/ine//bulletin` + * **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/departements/MMI/etudiant/etudid/1/bulletin` + * **Résultat:** Retourne le bulletin de note d'un étudiant + * **Exemple de résultat:** + ``` + { + "etudid":1, + "formsemestre_id":1, + "date":"2022-04-27T10:44:47.448094", + "publie":true, + "etapes":[ + + ], + "etudiant":{ + "etudid":1, + "code_nip":"1", + "code_ine":"1", + "nom":"COSTA", + "prenom":"Sacha", + "civilite":"", + "photo_url":"/ScoDoc/TAPI/Scolarite/get_photo_image?etudid=1&size=small", + "email":"SACHA.COSTA@example.com", + "emailperso":"", + "sexe":"" + }, + "note":{ + "value":"10.60", + "min":"-", + "max":"-", + "moy":"-" + }, + "rang":{ + "value":"10", + "ninscrits":16 + }, + "rang_group":[ + { + "group_type":"TD", + "group_name":"", + "value":"", + "ninscrits":"" + } + ], + "note_max":{ + "value":20 + }, + "bonus_sport_culture":{ + "value":0.0 + }, + "ue":[ + { + "id":1, + "numero":"1", + "acronyme":"RT1.1", + "titre":"Administrer les r\u00e9seaux et l\u2019Internet", + "note":{ + "value":"08.50", + "min":"06.00", + "max":"16.50", + "moy":"11.31" + }, + "rang":"12", + "effectif":16, + "ects":"12", + "code_apogee":"", + "module":[ + { + "id":1, + "code":"R101", + "coefficient":1.0, + "numero":10, + "titre":"Initiation aux r\u00e9seaux informatiques", + "abbrev":"Init aux r\u00e9seaux informatiques", + "note":{ + "value":"12.00", + "moy":"-", + "max":"-", + "min":"-", + "nb_notes":"-", + "nb_missing":"-", + "nb_valid_evals":"-" + }, + "code_apogee":"", + "evaluation":[ + { + "jour":"2022-04-20", + "heure_debut":"08:00:00", + "heure_fin":"09:00:00", + "coefficient":1.0, + "evaluation_type":0, + "evaluation_id":1, + "description":"eval1", + "note":"12.00" + } + ] + }, + ... + ] + } + ], + "ue_capitalisee":[], + "absences":{ + "nbabs":2, + "nbabsjust":1 + }, + "appreciation":[] + } + ``` + + + + * **`bulletins`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id` + * **Routes:** `/formsemestre//bulletins` + * **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/bulletins` + * **Résultat:** Retourne les bulletins d'un formsemestre donné + * **Exemple de résultat:** + ``` + [ + { + "version": "0", + "type": "BUT", + "date": "2022-04-27T07:18:16.450634Z", + "publie": true, + "etudiant": { + "civilite": "X", + "code_ine": "1", + "code_nip": "1", + "date_naissance": "", + "email": "SACHA.COSTA@example.com", + "emailperso": "", + "etudid": 1, + "nom": "COSTA", + "prenom": "SACHA", + "nomprenom": "Sacha COSTA", + "lieu_naissance": "", + "dept_naissance": "", + "nationalite": "", + "boursier": "", + "fiche_url": "/ScoDoc/TAPI/Scolarite/ficheEtud?etudid=1", + "photo_url": "/ScoDoc/TAPI/Scolarite/get_photo_image?etudid=1&size=small", + "id": 1, + "codepostaldomicile": "", + "paysdomicile": "", + "telephonemobile": "", + "typeadresse": "domicile", + "domicile": "", + "villedomicile": "", + "telephone": "", + "fax": "", + "description": "" + }, + "formation": { + "id": 1, + "acronyme": "BUT R&T", + "titre_officiel": "Bachelor technologique r\u00e9seaux et t\u00e9l\u00e9communications", + "titre": "BUT R&T" + }, + "formsemestre_id": 1, + "etat_inscription": "I", + "options": { + "show_abs": true, + "show_abs_modules": false, + "show_ects": true, + "show_codemodules": false, + "show_matieres": false, + "show_rangs": true, + "show_ue_rangs": true, + "show_mod_rangs": true, + "show_moypromo": false, + "show_minmax": false, + "show_minmax_mod": false, + "show_minmax_eval": false, + "show_coef": true, + "show_ue_cap_details": false, + "show_ue_cap_current": true, + "show_temporary": true, + "temporary_txt": "Provisoire", + "show_uevalid": true, + "show_date_inscr": true + }, + "ressources": { + "R101": { + "id": 1, + "titre": "Initiation aux r\u00e9seaux informatiques", + "code_apogee": null, + "url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=1", + "moyenne": {}, + "evaluations": [ + { + "id": 1, + "description": "eval1", + "date": "2022-04-20", + "heure_debut": "08:00", + "heure_fin": "09:00", + "coef": "01.00", + "poids": { + "RT1.1": 1.0, + }, + "note": { + "value": "12.00", + "min": "00.00", + "max": "18.00", + "moy": "10.88" + }, + "url": "/ScoDoc/TAPI/Scolarite/Notes/evaluation_listenotes?evaluation_id=1" + } + ] + }, + }, + "saes": { + "SAE11": { + "id": 2, + "titre": "Se sensibiliser \u00e0 l'hygi\u00e8ne informatique et \u00e0 la cybers\u00e9curit\u00e9", + "code_apogee": null, + "url": "/ScoDoc/TAPI/Scolarite/Notes/moduleimpl_status?moduleimpl_id=2", + "moyenne": {}, + "evaluations": [] + }, + }, + "ues": { + "RT1.1": { + "id": 1, + "titre": "Administrer les r\u00e9seaux et l\u2019Internet", + "numero": 1, + "type": 0, + "color": "#B80004", + "competence": null, + "moyenne": { + "value": "08.50", + "min": "06.00", + "max": "16.50", + "moy": "11.31", + "rang": "12", + "total": 16 + }, + "bonus": "00.00", + "malus": "00.00", + "capitalise": null, + "ressources": { + "R101": { + "id": 1, + "coef": 12.0, + "moyenne": "12.00" + }, + }, + "saes": { + "SAE11": { + "id": 2, + "coef": 16.0, + "moyenne": "~" + }, + }, + "ECTS": { + "acquis": 0.0, + "total": 12.0 + } + }, + "semestre": { + "etapes": [], + "date_debut": "2021-09-01", + "date_fin": "2022-08-31", + "annee_universitaire": "2021 - 2022", + "numero": 1, + "inscription": "", + "groupes": [], + "absences": { + "injustifie": 1, + "total": 2 + }, + "ECTS": { + "acquis": 0, + "total": 30.0 + }, + "notes": { + "value": "10.60", + "min": "02.40", + "moy": "11.05", + "max": "17.40" + }, + "rang": { + "value": "10", + "total": 16 + } + } + }, + ... + ] + ``` + + + + * **`jury`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id` + * **Routes:** `/formsemestre//jury` + * **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/jury` + * **Résultat:** Retourne le récapitulatif des décisions jury + * **Exemple de résultat:** + ``` + XXX A COMPLETER + ``` + + ### Modules de formation Les moduleimpl sont les modules d'un semestre, ou les ressources, ou les SAÉs. On peut récupérer soit un module par son id, soit la listes des modules d'un semestre. - * **`moduleimpl`** + * **`moduleimpls`** * **Méthode:** GET - * **Paramètres**: `formsemestre_id` ou `moduleimpl_id` - * **Routes:** `/api/formations/moduleimpl/` **ou** `/api/formations/moduleimpl//formsemestre/` - * **Résultat:** liste de moduleimpl - * **Exemple de résultat:** - TODO - - - - + * **Paramètres:** `moduleimpl_id` + * **Routes:** `/formations/moduleimpl/` + * **Exemple d'utilisation:** `/ScoDoc/api/formations/moduleimpl/1` + * **Résultat:** Retourne la liste des moduleimpl + * **Exemple de résultat:** + ``` + XXX A COMPLETER + ``` + + * **`moduleimpls_sem`** + * **Méthode:** GET + * **Paramètres:** `moduleimpl_id` + * **Routes:** `/formations/moduleimpl/formsemestre//liste` + * **Exemple d'utilisation:** `/ScoDoc/api/formations/moduleimpl/formsemestre/1/liste` + * **Résultat:** Retourne la liste des moduleimpl d'un semestre + * **Exemple de résultat:** + ``` + [ + { + "id": 1, + "formsemestre_id": 1, + "computation_expr": null, + "module_id": 1, + "responsable_id": 2, + "module": { + "heures_tp": 0.0, + "code_apogee": "", + "titre": "Initiation aux r\u00e9seaux informatiques", + "coefficient": 1.0, + "module_type": 2, + "id": 1, + "ects": null, + "abbrev": "Init aux r\u00e9seaux informatiques", + "ue_id": 1, + "code": "R101", + "formation_id": 1, + "heures_cours": 0.0, + "matiere_id": 1, + "heures_td": 0.0, + "semestre_id": 1, + "numero": 10, + "module_id": 1 + }, + "moduleimpl_id": 1, + "ens": [] + }, + ... + ] + ``` ### Groupes et partitions @@ -545,167 +1238,157 @@ d'un nombre quelconque de groupes d'étudiants. * **`partition`** * **Méthode: GET** * **Paramètres:** `formsemestre_id` - * **Routes:** `/api/partitions/` - * **Exemple d'utilisation:** `/api/partition/48` + * **Routes:** `/ScoDoc/api/partitions/` + * **Exemple d'utilisation:** `/ScoDoc/api/partition/48` * **Résultat:** La liste de toutes les partitions d'un formsemestre. - * **Exemple de résultat:** -``` -[ - { - "formsemestre_id":"12781", - "partition_id":"23840", - "partition_name":"TD""group":[ - { - "formsemestre_id":"12781", - "partition_id":"23840", - "group_name":"A", - "group_id":"23841", - "partition_name":"TD" - }, - { - "formsemestre_id":"12781", - "partition_id":"23840", - "group_name":"B", - "group_id":"23843", - "partition_name":"TD" - } - ] - }, - { - "formsemestre_id":"12781", - "partition_id":"23941", - "partition_name":"TP""group":[ - { - "..." - }, - "..." - ] - }, - { - "formsemestre_id":"12781", - "partition_id":"22833", - "partition_name":null"group":[ - { - "formsemestre_id":"12781", - "partition_id":"22833", - "group_name":null, - "group_id":"G22834", - "partition_name":null - } - ] - } -] -``` + * **Exemple de résultat:** + ``` + [ + { + "partition_id": 2, + "id": 2, + "formsemestre_id": 1, + "partition_name": "TD", + "numero": 1, + "bul_show_rank": false, + "show_in_lists": true + }, + { + "partition_id": 1, + "id": 1, + "formsemestre_id": 1, + "partition_name": null, + "numero": 0, + "bul_show_rank": false, + "show_in_lists": true + } + ] + ``` + + * **`etud_in_group`** + * **Méthode: GET** + * **Paramètres:** `group_id`, `etat` + * **Routes:** `/partitions/groups/` ou `/partitions/groups//etat/` + * **Exemple d'utilisation:** `/ScoDoc/api/partitions/groups/1` + * **Résultat:** La liste de toutes les partitions d'un formsemestre. + * **Exemple de résultat:** + ``` + [ + { + "etudid": 10, + "id": 10, + "dept_id": 1, + "nom": "BOUTET", + "prenom": "Marguerite", + "nom_usuel": "", + "civilite": "F", + "date_naissance": null, + "lieu_naissance": null, + "dept_naissance": null, + "nationalite": null, + "statut": null, + "boursier": null, + "photo_filename": null, + "code_nip": "10", + "code_ine": "10", + "scodoc7_id": null, + "email": "MARGUERITE.BOUTET@example.com", + "emailperso": null, + "domicile": null, + "codepostaldomicile": null, + "villedomicile": null, + "paysdomicile": null, + "telephone": null, + "telephonemobile": null, + "fax": null, + "typeadresse": "domicile", + "description": null, + "group_id": 1, + "etat": "I", + "civilite_str": "Mme", + "nom_disp": "BOUTET", + "nomprenom": "Mme Marguerite BOUTET", + "ne": "e", + "email_default": "MARGUERITE.BOUTET@example.com" + }, + ... + ] + ``` + - - * **`groups`** - * **Méthode:** GET - * **Paramètres:** `formsemestre_id` ou `group_ids` (_peut être répété_), `with_codes=0|1`, `all_groups=0|1`, `etat=None|I` - * **Routes:** `api/partitions/formsemestre//groups/group_ids?with_codes=0|1&all_groups=0|1&etat=None|I` - * **Exemple d'utilisation:** `api/partitions/formsemestre/213/groups/123?with_codes=1` - * **Résultat:** Liste des étudiants dans un groupe. - * **Exemple de résultat au format XML:** (_avec `with_codes=1`_) -``` - - - - - - - - - - - - - - - - - - - - - - -``` - - * **Exemple de résultat au format JSON:** -``` -[ - { - "etat":"I", - "emailperso":null, - "prenom":"Dalil", - "nom_disp":"CLINTO", - "email":"xxx@example.com", - "62029":"A", - "62032":null, - "62031":"G1", - "62030":"A1" - }, - { - "etat":"I", - "emailperso":null, - "prenom":"Georges", - "nom_disp":"BUSH", - "email":"bush@example.com", - "62029":"A", - "62032":null, - "62031":"G1", - "62030":"A1" - }, - ... -] -``` - - * **`set_groups`** * **Méthode:** POST - * **Paramètres:** `partition_id`, `groups`, `groups_to_delete`, `groups_to_create` - * **Routes:** `/api/partitions/set_groups?partition_id=&groups=&groups_to_delete=&groups_to_create=` - * **Exemple d'utilisation:** `/api/partitions/set_groups?partition_id=65&groups=77&groups_to_delete=8&groups_to_create=4` + * **Paramètres:** `partition_id`, `groups_lists`, `groups_to_delete`, `groups_to_create` + * **Routes:** `/partitions/set_groups/partition//groups//delete//create/` + * **Exemple d'utilisation:** `/ScoDoc/api/partitions/set_groups/partition/1/groups/"A COMPLETER"/delete/"A COMPLETER"/create/"A COMPLETER"` * **Résultat:** Set les groups. - - TODO: à changer, passer les paramètres dans le corps de la requête - + ### Bulletins de notes * **`evaluations`** * **Méthode:** GET * **Paramètres:** `moduleimpl_id` - * **Routes:** `/api/evaluations/` - * **Exemple d'utilisation:** `/api/evaluations/54` - * **Résultat:** Liste des évaluations à partir de l'id d'un moduleimpl. - * **Exemple de résultat:** `[eval_1, eval_2, eval_3, ...]` + * **Routes:** `/evaluations/` + * **Exemple d'utilisation:** `/ScoDoc/api/evaluations/1` + * **Résultat:** Retourne la liste des évaluations à partir de l'id d'un moduleimpl + * **Exemple de résultat:** + ``` + [ + { + "moduleimpl_id": 1, + "jour": "20/04/2022", + "heure_debut": "08h00", + "description": "eval1", + "coefficient": 1.0, + "publish_incomplete": false, + "numero": 0, + "id": 1, + "heure_fin": "09h00", + "note_max": 20.0, + "visibulletin": true, + "evaluation_type": 0, + "evaluation_id": 1, + "jouriso": "2022-04-20", + "duree": "1h", + "descrheure": " de 08h00 \u00e0 09h00", + "matin": 1, + "apresmidi": 0 + }, + ... + ] + ``` * **`evaluation_notes`** * **Méthode**: GET * **Paramètres**: `evaluation_id` - * **Routes:** `/api/evaluations/eval_notes/` - * **Exemple d'utilisation:** `/api/evaluations/eval_notes/24` - * **Résultat:** Liste des notes à partir de l'id d'une évaluation donnée. - * **Exemple de résultat:** -``` -[ - { - "84": "13", - "85": "15", - "86": "9", - ... - } -] -``` - - - * **`evaluation_set_notes`** - * **Méthode:** POST - * **Paramètres:** `eval_id`, `etudid`, `note` - * **Routes:** `/api/evaluations/eval_set_notes?eval_id= etudid=¬e=` - * **Exemple d'utilisation:** `/api/evaluations/eval_set_notes?eval_id=6 etudid=456¬e=15` - * **Résultat:** Set les notes d'une évaluation pour un étudiant donné. - TODO vérifier et passer les valeurs dans le corps. + * **Routes:** `/evaluations/eval_notes/` + * **Exemple d'utilisation:** `/ScoDoc/api/evaluations/eval_notes/1` + * **Résultat:** Retourne la liste des notes à partir de l'id d'une évaluation donnée + * **Exemple de résultat:** + ``` + { + "1": { + "id": 1, + "etudid": 10, + "evaluation_id": 1, + "value": 15.0, + "comment": "", + "date": "Wed, 20 Apr 2022 06:49:05 GMT", + "uid": 2 + }, + "2": { + "id": 2, + "etudid": 1, + "evaluation_id": 1, + "value": 12.0, + "comment": "", + "date": "Wed, 20 Apr 2022 06:49:06 GMT", + "uid": 2 + }, + ... + } + ``` ### Absences @@ -714,58 +1397,99 @@ d'un nombre quelconque de groupes d'étudiants. * **`absences`** * **Méthode:** GET - * **Paramètres:** `etudid`, `abs_just_only, format`, `abs_just_only` (_spécifie si on veut les absences justifiées ou non_). - * **Routes:** `/api/absences/` - * **Exemple d'utilisation:** `/api/absences/54` - * **Résultat:** Liste des absences d'un étudiant donné. + * **Paramètres:** `etudid`, `nip`, `ine` + * **Routes:** `/absences/etudid/` ou `/absences/nip/` ou `/absences/ine/` + * **Exemple d'utilisation:** `/ScoDoc/api/absences/ine/1` + * **Résultat:** Retourne la 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_). - - - * **`abs_signale`** - * **Méthode:** POST - * **Paramètres:** `date_debut`, `date_fin`, `module_impl_id=None`, `demi_journee=2`, `estjust=False`, `description`, `etudid` - * **Body de la requête:** `date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee&description=description&etudid=` - * **Exemple d'utilisation:** `date_debut=2015-02-01&date_fin=2015-02-03&demi_journee=4&description=""&etudid=874` - * **Résultat:** *html* - - - * **`abs_annule`** - * **Méthode:** POST - * **Paramètres:** `date_debut`, `date_fin`, `demi_journee`, `etudid` - * **Body de la requête:** `date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee&etudid=` - * **Exemple d'utilisation:** `date_debut=2004-05-03&date_fin=2004-06-07&demi_journee=2&etudid=451` - * **Résultat:** *html* - - - * **`abs_annule_justif`** - * **Méthode:** POST - * **Paramètres:** `context`, `date_debut`, `date_fin`, `demi_journee` - * **Body de la requête:** `context=context&date_debut=date_debut&date_fin=date_fin&demi_journee=demi_journee` - * **Exemple d'utilisation:** `context=malade&date_debut=2020-01-05&date_fin=2020-01-06&demi_journee=1` - * **Résultat:** *html* + ``` + [ + { + "jour": "2022-04-15", + "matin": true, + "estabs": true, + "estjust": true, + "description": "", + "begin": "2022-04-15 08:00:00", + "end": "2022-04-15 11:59:59" + }, + { + "jour": "2022-04-15", + "matin": false, + "estabs": true, + "estjust": false, + "description": "", + "begin": "2022-04-15 12:00:00", + "end": "2022-04-15 17:59:59" + } + ] + ``` + + * **`absences_just`** + * **Méthode:** GET + * **Paramètres:** `etudid`, `nip`, `ine` + * **Routes:** `/absences/etudid//just` ou `/absences/nip//just` ou `/absences/ine//just` + * **Exemple d'utilisation:** `/ScoDoc/api/absences/ine/1/just` + * **Résultat:** Retourne la liste des absences justifiées d'un étudiant donné + * **Exemple de résultat:** + ``` + [ + { + "jour": "2022-04-15", + "matin": true, + "estabs": true, + "estjust": true, + "description": "", + "begin": "2022-04-15 08:00:00", + "end": "2022-04-15 11:59:59" + }, + { + "jour": "2022-04-15", + "matin": false, + "estabs": true, + "estjust": true, + "description": "", + "begin": "2022-04-15 12:00:00", + "end": "2022-04-15 17:59:59" + } + ] + ``` * **`abs_groupe_etat`** * **Méthode:** GET * **Paramètres:** `group_ids`, `date_debut`, `date_fin`, `with_boursier=True`, `format=html` - * **Routes:** `/api/absences/abs_group_etat/?group_ids=group_ids&date_debut=date_debut&date_fin=date_fin` - * **Exemple d'utilisation:** `/api/absences/abs_group_etat/?group_ids=45&date_debut=2019-01-30&date_fin=2019-02-30` + * **Routes:** `/absences/abs_group_etat/` ou `/absences/abs_group_etat/group_id//date_debut//date_fin/` + * **Exemple d'utilisation:** `/ScoDoc/api/absences/abs_group_etat/1` * **Résultat:** Liste des absences d'un ou plusieurs groupes entre deux dates. - * **Exemple de résultat:** si `format="json"` cela donne: + * **Exemple de résultat:** + ``` + XXX A COMPLETER ``` - [ - { - "boursier": "N", - "nbabs": "9", - "nbabsjust": "2", - "nbabsnonjust": "7", - "nbjustifs_noabs": "0", - "nomprenom": "Mme Poisson Dodouce", - "etudid": "12345" - }, - ... - ] + + +### Jury + + * **`jury_preparation`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id` + * **Routes:** `/jury/formsemestre//preparation_jury` + * **Exemple d'utilisation:** `/ScoDoc/api/jury/formsemestre/1/preparation_jury` + * **Résultat:** Retourne la feuille de préparation du jury + * **Exemple de résultat:** + ``` + XXX A COMPLETER + ``` + + * **`jury_decisions`** + * **Méthode:** GET + * **Paramètres:** `formsemestre_id` + * **Routes:** `/jury/formsemestre//decisions_jury` + * **Exemple d'utilisation:** `/ScoDoc/api/jury/formsemestre/1/decisions_jury` + * **Résultat:** Retourne les décisions du jury suivant un formsemestre donné + * **Exemple de résultat:** + ``` + XXX A COMPLETER ``` ### Logos @@ -773,8 +1497,8 @@ d'un nombre quelconque de groupes d'étudiants. * **`liste des logos globaux`** * **Méthode:** GET * **Paramètres:** `format` (json, xml), json par défaut - * **Route :** `/api/logos` - * **Exemple d'utilisation :** `/api/logos?format=xml` + * **Route :** `/ScoDoc/api/logos` + * **Exemple d'utilisation :** `/ScoDoc/api/logos?format=xml` * **Résultat :** Liste des logos définis pour le site scodoc. * **Exemple de résultat:** `['header', 'footer', 'custom']` @@ -782,16 +1506,16 @@ d'un nombre quelconque de groupes d'étudiants. * **`récupération d'un logo global`** * **Méthode:** GET * **Paramètres :** Aucun - * **Route:** `/api/logos/` - * **Exemple d'utilisation :** `/api/logos/header` + * **Route:** `/ScoDoc/api/logos/` + * **Exemple d'utilisation :** `/ScoDoc/api/logos/header` * **Résultat :** l'image (format png ou jpg) * **`logo d'un département`** * **Méthode:** GET * **Paramètres:** `format` (json, xml) - * **Route :** `/api/departements//logos` - * **Exemple d'utilisation :** `/api/MMI/logos` + * **Route :** `/ScoDoc/api/departements//logos` + * **Exemple d'utilisation :** `/ScoDoc/api/MMI/logos` * **Résultat :** Liste des logos définis pour le département visé. * **Exemple de résultat:** `['footer', 'signature', 'universite']` @@ -799,8 +1523,8 @@ d'un nombre quelconque de groupes d'étudiants. * **`récupération d'un logo global`** * **Méthode:** GET * **Paramètres :** Aucun - * **Route:** `/api/departements//logos/` - * **Exemple d'utilisation:** `/api/departements/MMI/logos/header` + * **Route:** `/ScoDoc/api/departements//logos/` + * **Exemple d'utilisation:** `/ScoDoc/api/departements/MMI/logos/header` * **Résultat :** l'image (format png ou jpg)