33 KiB
API pour ScoDoc 9
L'API ScoDoc permet à des applications tierces d'interroger ScoDoc. Elle offre un accès aux informations aux formats XML et JSON.
La version ScoDoc 9 a introduit une nouvelle API avec un nouveau mécanisme d'authentification. Les clients de l'ancienne API ScoDoc 7 doivent être adaptés pour fonctionner avec ScoDoc 9.
Cette API est encore incomplète: n'hésitez pas à demander de nouveaux accès en écrivant à la liste de diffusion.
L'API fournit des données JSON, sauf exception (bulletins).
Les objets ScoDoc manipulables sont identifiés par des id:
- etud_id: étudiant
- form_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.
- formsmestre_id: un "semestre" de formation.
L'URL complète est de la forme: `https://scodoc.example.com/ScoDoc/api/fonction
Fonctions de l'API ScoDoc 7 portées en ScoDoc 9
L'ancienne API ScoDoc 7 est décrite ici: ScoDocAPI
Afin de garantir l'interopérabilité avec les clients ScoDoc 7 (ENT, etc), les fonctions suivantes sont disponibles avec le mécanisme d'authentification basique de ScoDoc 7. Elles sont considérées comme obsolètes ("deprecated") et disparaitront en juillet 2022.
Certaines ont plusieurs "routes" (URl), car ScoDoc 7 tolérait divers accès.
Absences/XMLgetBilletsEtud
(deviendraapi/absences/billets/etud/<etud_id>
)Absences/AddBilletAbsence
(deviendraapi/absences/billet/add
)Absences/XMLgetAbsEtud
(deviendraapi/absences/<etud_id>
, en json)Notes/evaluation_listenotes
(non existante en ScoDoc9, trop complexe)Notes/form_sem
(deviendraapi/formsemestre
)Notes/formsemestre_bulletinetud
(deviendraapi/formsemestre_bulletinetud
)Notes/XMLgetFormsemestres
(non existante en ScoDoc9, redondant avecapi/formsemestre
?)etud_info
ouXMLgetEtudInfos
ouAbsences/XMLgetEtudInfos
ouNotes/XMLgetEtudInfos
(deviendra/api/etud/<etud_id>
)groups_view
les routes ci-dessus s'entendent à partir de l'URL de base de votre ScoDoc, c'est
à dire https://votre.site.fr/ScoDoc/<dept>/Scolarite/
, et répondent en GET et
en POST.
Note:
Absences/listeBillets
est un formulaire et ne fait pas partie de l'API.
Résumé des fonctions d'API ScoDoc 9 (work in progress)
Basé sur le ticket
Définition des points d'accès à l'API REST (jwt):
Note: à reformatter: le tableau n'est pas lisible et exploitable
Elle sera accessible à l'adresse: https://scodoc.monsite.tld/ScoDoc/api/fonction
Fonction | Méthode | Paramètres | Exemple | Exemple resultat | Commentaires |
---|---|---|---|---|---|
etud_dept | GET | code_nip | /api/etud_dept/123 | [ {exist: true, dept: "GEII", id: 987, dept_id: 3} ] | liste des étudiants avec le code NIP donné triée par ordre d'inscription décroissant |
etud_info | GET | etud_id | /api/etud_info/987 | {"nom": "Mutis","sexe": "M.","email": "alvaro.mutis@example.com","prenom": "ALVARO","nomprenom": "M. Alvaro MUTIS","insemestre": [{"etat": "I",form_sem_id": "SEM12781","date_fin": "2010-07-30","date_debut": "2010-01-25"},{"etat": "I",form_sem_id": "SEM8396","date_fin": "2009-01-16","date_debut": "2008-09-01"}],"etud_id": "EID8768","domicile": "2 Rue Madame","villedomicile": "Paris","telephonemobile": ""} | |
etud_bul | GET | etud_id, sem_id | /api/etud_bul/987/12 | cf formsemestre_bulletinetud de l'ancienne API | |
sem_info | GET | sem_id | /api/sem_info/12 | [ {"titre": "DUT Génie Electrique et Informatique Industrielle","date_debut": "01/09/2021","date_fin": "02/02/2022","modalite": "FI","sem_id_txt": "S3","titre_num": "DUT Génie Electrique et Informatique Industrielle semestre 3","anneescolaire": "2021 - 2022","periode": 1,"titreannee": "DUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022"} ] | |
photo | GET | etud_id | /api/photo/123 OU /api/photo/123/smal | ||
formations | GET | dept (facultatif) | /api/formations OU /api/formations?dept=GEI | { "id": 1,"dept_id": 1,"acronyme": "BUT GEII", "titre": "BUT G\u00e9nie Electrique et Informatique Industrielle", "titre_officiel": "BUT G\u00e9nie Electrique et Informatique Industrielle","version": 1,"formation_code": "FCOD1","type_parcours": 600,"code_specialite": "","form_id": 1 } | |
form_sem | GET | form_id | /api/formations/form_id | ||
form_sem_partition | GET | semestre_id | /api/form_sem_partition/semestre_id | ||
module_list | GET | semestre_id | /api/module_list/semestre_id | ||
eval_list | GET | module_id | /api/eval_list/module_id | ||
evaluation_listenotes | GET | eval_id | /api/evalutation_listenotes/eval_id | ||
setGroups | POST | partition_id, groupsLists, groupsToDelete, groupsToCreate | /api/setGroups/??? | ||
setNote | POST | eval_id, etud_id, note | /api/setNote/??? |
XXX à revoir XXX Fonctions d'accès aux données
Etudiants
-
etud_dept
- Méthode: GET
- Paramètres:
code_nip
- Format URL:
/api/etud_dept/<int:code_nip>
- 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 } ]
- Codes HTTP:
-
etud_info
- Méthode: GET
- Paramètres:
etud_id
- Format URL:
/api/etud_dept/<int:etud_id>
- Exemple d'utilisation:
/api/etud_info/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", form_sem_id": "SEM12781", "date_fin": "2010-07-30", "date_debut": "2010-01-25" }, { "etat": "I", form_sem_id": "SEM8396", "date_fin": "2009-01-16", "date_debut": "2008-09-01" } ], "etud_id": "EID8768", "domicile": "2 Rue Madame", "villedomicile": "Paris", "telephonemobile": "" }
- Codes HTTP:
-
etud_bul
- Méthode: GET
- Paramètres:
etud_id
,sem_id
- Format URL:
/api/etud_bul/<int:etud_id>/<int:sem_id>
- Exemple d'utilisation:
/api/etud_bul/987/12
- Résultat:
- Exemple de résultat:
- Codes HTTP:
-
etud_photo
- Méthode: GET
- Paramètres:
etud_id
,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) - Exemple d'utilisation:
/api/etud_photo/123
OU/api/etud_photo/123/small
(pour la version small) - Résultat:
- Exemple de résultat:
- Codes HTTP:
Semestres
sem_info
- Méthode: GET
- Paramètres:
sem_id
- Format URL:
/api/sem_id/<int:sem_id>
- Exemple d'utilisation:
/api/sem_info/12
- Résultat: Une liste avec les informations du semestre correspondant à l'id passé en paramètres.
- Exemple de résultat:
[ { "titre": "DUT Génie Electrique et Informatique Industrielle", "date_debut": "01/09/2021", "date_fin": "02/02/2022", "modalite": "FI", "sem_id_txt": "S3", "titre_num": "DUT Génie Electrique et Informatique Industrielle semestre 3", "anneescolaire": "2021 - 2022", "periode": 1, "titreannee": "DUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022" } ]
- Codes HTTP:
Départements
departements
- Méthode:
- Paramètres:
viewable
(optionnel, si faux liste aussi les départements non accessible à l'utilisateur courant),format
(json, xml) - Format URL:
- Exemple d'utilisation:
- Résultat: Liste des id de départements.
- Exemple de résultat:
- Codes HTTP:
Programmes de formations
-
formations
- Méthode: GET
- Paramètres:
form_id
(optionnel, si absent liste toutes les formations) - Format URL:
/api/formations
ou/api/formations/<int:form_id>
- Exemple d'utilisation:
/api/formations
où/api/formations/1
- Résultat: Liste des formations.
- Exemple de résultat:
- Codes HTTP:
-
form_export
- Méthode:
- Paramètres:
form_id
,export_ids
(défaut "faux") - Format URL:
- Exemple d'utilisation:
- Résultat: la formation, avec UE, matières, modules (un arbre).
- Exemple de résultat:
- Codes HTTP:
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
.
form_sem
- Méthode: GET
- Paramètres (tous optionnels):
form_sem_id
,form_id
,etape_apo
,etape_apo2
- Format URL:
/api/form_sem?form_id=1&etape_apo=V1RT
- Exemple d'utilisation:
/api/form_sem?format=xml&etape_apo=V1RT
- Résultat: Liste des semestres correspondant.
- Exemple de résultat:
- Codes HTTP:
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:
- Département (RT, GEII, INFO...) (= paramètre
DeptName
, en majuscules) - Nom parcours: DUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)
- 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). - 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)
Groupes et partitions
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
- Méthode: GET
- Paramètres:
form_sem_id
- Format URL:
/api/form_sem_partition/form_sem_id
- Exemple d'utilisation:
- Résultat:
- Exemple de résultat: ici au format JSON
[ { form_sem_id": "SEM12781", "partition_id": "P23840", "partition_name": "TD" "group": [ { form_sem_id": "SEM12781", "partition_id": "P23840", "group_name": "A", "group_id": "G23841", "partition_name": "TD" }, { form_sem_id": "SEM12781", "partition_id": "P23840", "group_name": "B", "group_id": "G23843", "partition_name": "TD" }, ], }, { form_sem_id": "SEM12781", "partition_id": "P23941", "partition_name": "TP" "group": [ { form_sem_id": "SEM12781", "partition_id": "P23941", "group_name": "A1", "group_id": "G23942", "partition_name": "TP" }, { form_sem_id": "SEM12781", "partition_id": "P23941", "group_name": "A2", "group_id": "G23943", "partition_name": "TP" }, ], }, { form_sem_id": "SEM12781", "partition_id": "P22833", "partition_name": null "group": [ { form_sem_id": "SEM12781", "partition_id": "P22833", "group_name": null, "group_id": "G22834", "partition_name": null } ], } ]
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` - Résultat: liste des étudiants dans un groupe.
- Exemple: ici au format XML avec
with_codes=1
:
- Paramètres: form_sem_id
<group_list origin="" caption="soit 21 étudiants inscrits et 2 démissionaires." id="gt_711068">
<etud>
<nom value="TOTO"/>
<prenom value="Marc"/>
<etat value="I"/>
<email value="toto@example.com"/>
<etud_id value="EID9876"/>
<code_nip value="987654"/>
<code_ine value=""/>
</etud>
<etud>
<nom value="ALVIS SAMOS"/>
<prenom value="NATHALIE"/>
<etat value="I"/>
<email value="xxx@example.com"/>
<etud_id value="EID12345"/>
<code_nip value="12345678"/>
<code_ine value=""/>
</etud>
</group_list>
Et un autre exemple en format JSON:
[
{
"etat":"I",
"emailperso":null,
"prenom":"Dalil",
"nom_disp":"CLINTO",
"email":"xxx@example.com",
"P62029":"A",
"P62032":null,
"P62031":"G1",
"P62030":"A1"
},
{
"etat":"I",
"emailperso":null,
"prenom":"Georges",
"nom_disp":"BUSH",
"email":"bush@example.com",
"P62029":"A",
"P62032":null,
"P62031":"G1",
"P62030":"A1"
},
...
]
set_groups
- Méthode: POST
- 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>
- Exemple d'utilisation:
- Résultat: Set les groups.
- Exemple de résultat:
- Codes HTTP:
Etudiants
etud_info
- Paramètres:
etud_id
oucode_nip
oucode_ine
- Résultat: informations sur cette étudiant et les semestres dans lesquels il est (ou a été) inscrit.
- Exemple:
etud_info?format=json&etud_id=12345
- Paramètres:
{
"nom": "Mutis",
"sexe": "M.",
"email": "alvaro.mutis@example.com",
"prenom": "ALVARO",
"nomprenom": "M. Alvaro MUTIS",
"insemestre": [
{
"etat": "I",
form_sem_id": "SEM12781",
"date_fin": "2010-07-30",
"date_debut": "2010-01-25"
},
{
"etat": "I",
form_sem_id": "SEM8396",
"date_fin": "2009-01-16",
"date_debut": "2008-09-01"
}
],
"code_ine": "",
"etud_id": "EID8768",
"code_nip": "10991002",
"photo_url": "/ScoDoc/static/photos/F13/RT_EID8768.h90.jpg",
"domicile": "2 Rue Madame",
"villedomicile": "Paris",
"telephonemobile": ""
"fax": "",
"annee_bac": "2010",
"bac": "S",
"specialite": "SCIENTIFIQUE",
"nomlycee": "",
"villelycee": "",
"codelycee": "0950650R",
"codepostallycee": "",
}
Bulletins de notes
-
evaluations
- Méthode: GET
- Paramètres:
module_id
- Format URL:
/api/evaluations/<int:module_id>
- Exemple d'utilisation:
/api/evaluations/54
- Résultat: Liste des evaluations à partir de l'id d'un module.
- Exemple de résultat:
- Codes HTTP:
-
eval_notes
- Méthode: GET
- Paramètres:
eval_id
- Format URL:
/api/eval_notes/<int:eval_id>
- Exemple d'utilisation:
/api/eval_notes/24
- Résultat: Liste des notes à partir de l'id d'une évaluation donnée.
- Exemple de résultat:
- Codes HTTP:
-
eval_set_notes
- Méthode: POST
- Paramètres:
eval_id
,etud_id
,note
- Format URL:
/api/eval_set_notes?eval_id=<int:eval_id>&etud_id=<int:etud_id>¬e=<int:note>
- Exemple d'utilisation:
/api/eval_set_notes?eval_id=6&etud_id=456¬e=15
- Résultat: Set les notes d'une évaluation pour un étudiant donné.
- Exemple de résultat:
- Codes HTTP:
-
Notes/formsemestre_bulletinetud
- Paramètres:
form_sem_id
,etud_id
,format
(xml
oujson
),version
(short
,selectedevals
oulong
) - Résultat: bulletin de notes
- Exemple: ici au format JSON, pour une version courte (
version=short
)
- Paramètres:
{
"rang": {
"ninscrits": 52,
"value": "1"
},
"etape_apo2": "",
"etape_apo3": "",
"etape_apo4": "",
"etudiant": {
"nom": "BOLANO",
"prenom": "Roberto",
"sexe": "M.",
"code_ine": "",
"etud_id": "EID9860",
"code_nip": "123456789",
"email": "roberto@santateresa.mx",
"photo_url": "\/ScoDoc\/static\/photos\/F68\/RT_EID29960.h90.jpg"
},
"bonus_sport_culture": {
"value": 0
},
"absences": {
"nbabsjust": 0,
"nbabs": 1
},
"decision": {
"etat": "I",
"code": "ADM",
"compenseform_sem_id" : "SEM12345" /* si ce semestre en compense un autre */
},
"note": {
"max": "15.51",
"moy": "10.80",
"value": "15.51",
"min": "07.29"
},
"etud_id": "EID9860",
"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"
},
{
"ninscrits": 4,
"value": "1",
"group_type": "G",
"group_name": "G4"
},
{
"ninscrits": "",
"value": "",
"group_type": "tutorat",
"group_name": ""
},
{
"ninscrits": "",
"value": "",
"group_type": "App",
"group_name": ""
},
{
"ninscrits": "",
"value": "",
"group_type": "sport",
"group_name": ""
}
],
form_sem_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": "MIP27427"
},
{
"coefficient": 2,
"rang": {
"value": "2"
},
"code": "M1102",
"code_apogee": "VRT1102",
"numero": 1102,
"note": {
"moy": "12.58",
"nb_notes": 50,
"nb_missing": 1,
"max": "16.79",
"min": "02.50",
"nb_valid_evals": 2,
"value": "16.50"
},
"abbrev": "Initiation \u00e0 la t\u00e9l\u00e9phonie",
"effectif": {
"value": 51
},
"titre": "Initiation \u00e0 la t\u00e9l\u00e9phonie d'entreprise",
"evaluation": [
],
"id": "MIP27437"
},
{
"coefficient": 1.5,
"rang": {
"value": "1"
},
"code": "M1103",
"code_apogee": "VRT1103",
"numero": 1103,
"note": {
"moy": "08.26",
"nb_notes": 51,
"nb_missing": 0,
"max": "13.41",
"min": "00.94",
"nb_valid_evals": 2,
"value": "13.41"
},
"abbrev": "Architecture des \u00e9quipements informatiques",
"effectif": {
"value": 51
},
"titre": "Architecture des \u00e9quipements informatiques",
"evaluation": [
],
"id": "MIP27451"
},
{
"coefficient": 2,
"rang": {
"value": "1"
},
"code": "M1104",
"code_apogee": "VRT1104",
"numero": 1104,
"note": {
"moy": "10.77",
"nb_notes": 51,
"nb_missing": 0,
"max": "17.90",
"min": "04.63",
"nb_valid_evals": 3,
"value": "17.90"
},
"abbrev": "Principe et architecture des r\u00e9seaux",
"effectif": {
"value": 51
},
"titre": "Principe et architecture des r\u00e9seaux",
"evaluation": [
],
"id": "MIP27431"
},
{
"coefficient": 2,
"rang": {
"value": "1"
},
"code": "M1105",
"code_apogee": "VRT1105",
"numero": 1105,
"note": {
"moy": "11.00",
"nb_notes": 51,
"nb_missing": 0,
"max": "17.83",
"min": "04.98",
"nb_valid_evals": 2,
"value": "17.83"
},
"abbrev": "Bases des syst\u00e8mes d'exploitation",
"effectif": {
"value": 51
},
"titre": "Bases des syst\u00e8mes d'exploitation",
"evaluation": [
],
"id": "MIP27433"
},
{
"coefficient": 1.5,
"rang": {
"value": "6"
},
"code": "M1106",
"code_apogee": "VRT1106",
"numero": 1106,
"note": {
"moy": "13.05",
"nb_notes": 51,
"nb_missing": 0,
"max": "17.79",
"min": "07.08",
"nb_valid_evals": 1,
"value": "16.25"
},
"abbrev": "Initiation au d\u00e9veloppement Web",
"effectif": {
"value": 51
},
"titre": "Initiation au d\u00e9veloppement Web",
"evaluation": [
],
"id": "MIP27449"
},
{
"coefficient": 1.5,
"rang": {
"value": "9"
},
"code": "M1107",
"code_apogee": "VRT1107",
"numero": 1107,
"note": {
"moy": "09.36",
"nb_notes": 51,
"nb_missing": 0,
"max": "14.21",
"min": "04.17",
"nb_valid_evals": 3,
"value": "11.66"
},
"abbrev": "Initiation \u00e0 la mesure du signal",
"effectif": {
"value": 51
},
"titre": "Initiation \u00e0 la mesure du signal",
"evaluation": [
],
"id": "MIP27440"
},
{
"coefficient": 1.5,
"rang": {
"value": "7"
},
"code": "M1108",
"code_apogee": "VRT1108",
"numero": 1108,
"note": {
"moy": "10.49",
"nb_notes": 51,
"nb_missing": 0,
"max": "16.31",
"min": "05.39",
"nb_valid_evals": 4,
"value": "13.22"
},
"abbrev": "Acquisition et codage de l'information",
"effectif": {
"value": 51
},
"titre": "Acquisition et codage de l'information",
"evaluation": [
],
"id": "MIP27453"
},
{
"coefficient": 1,
"rang": {
"value": "4 ex"
},
"code": "M1109",
"code_apogee": "VRT1109",
"numero": 1109,
"note": {
"moy": "12.46",
"nb_notes": 51,
"nb_missing": 0,
"max": "16.00",
"min": "09.00",
"nb_valid_evals": 1,
"value": "15.00"
},
"abbrev": "PT : Recherche documentaire",
"effectif": {
"value": 51
},
"titre": "PT : Recherche documentaire",
"evaluation": [
],
"id": "MIP27444"
}
],
"effectif": "51",
"titre": "D\u00e9couverte m\u00e9tiers",
"id": "UE21456"
},
{
"acronyme": "UE12",
"rang": "5",
"code_apogee": "VRTU12",
"ects": "14",
"numero": "12",
"note": {
"max": "15.20",
"value": "14.63",
"min": "07.94"
},
"module": [
{
"coefficient": 2,
"rang": {
"value": "3 ex"
},
"code": "M1201",
"code_apogee": "VRT1201",
"numero": 10,
"note": {
"moy": "13.02",
"nb_notes": 51,
"nb_missing": 0,
"max": "16.00",
"min": "10.00",
"nb_valid_evals": 1,
"value": "14.00"
},
"abbrev": "Anglais",
"effectif": {
"value": 51
},
"titre": "Anglais g\u00e9n\u00e9ral de communication et initiation au vocabulaire technique",
"evaluation": [
],
"id": "MIP27430"
},
{
"coefficient": 2,
"rang": {
"value": "16 ex"
},
"code": "M1202",
"code_apogee": "VRT1202",
"numero": 20,
"note": {
"moy": "12.74",
"nb_notes": 51,
"nb_missing": 0,
"max": "17.75",
"min": "04.00",
"nb_valid_evals": 2,
"value": "14.00"
},
"abbrev": "Expression",
"effectif": {
"value": 51
},
"titre": "EC: \u00c9l\u00e9ments fondamentaux de la communication",
"evaluation": [
],
"id": "MIP27439"
},
{
"coefficient": 1,
"rang": {
"value": "1 ex"
},
"code": "M1203",
"code_apogee": "VRT1203",
"numero": 30,
"note": {
"moy": "NA",
"nb_notes": 0,
"nb_missing": 51,
"max": "-",
"min": "-",
"nb_valid_evals": 0,
"value": "-"
},
"abbrev": "PPP: Connaitre son champ d'activit\u00e9",
"effectif": {
"value": 51
},
"titre": "PPP: Connaitre son champ d'activit\u00e9",
"evaluation": [
],
"id": "MIP27436"
},
{
"coefficient": 2,
"rang": {
"value": "6"
},
"code": "M1204",
"code_apogee": "VRT1204",
"numero": 40,
"note": {
"moy": "10.66",
"nb_notes": 51,
"nb_missing": 0,
"max": "16.35",
"min": "05.73",
"nb_valid_evals": 8,
"value": "14.09"
},
"abbrev": "Mise \u00e0 niveau en num\u00e9ration et calculs",
"effectif": {
"value": 51
},
"titre": "Mise \u00e0 niveau en num\u00e9ration et calculs",
"evaluation": [
],
"id": "MIP27454"
},
{
"coefficient": 2,
"rang": {
"value": "23"
},
"code": "M1205",
"code_apogee": "VRT1205",
"numero": 50,
"note": {
"moy": "10.37",
"nb_notes": 51,
"nb_missing": 0,
"max": "18.69",
"min": "05.01",
"nb_valid_evals": 5,
"value": "10.58"
},
"abbrev": "Connaissances et Outils pour le signal",
"effectif": {
"value": 51
},
"titre": "Harmonisation des connaissances et des outils pour le signal",
"evaluation": [
],
"id": "MIP27432"
},
{
"coefficient": 2,
"rang": {
"value": "3 ex"
},
"code": "M1206",
"code_apogee": "VRT1206",
"numero": 60,
"note": {
"moy": "11.22",
"nb_notes": 51,
"nb_missing": 0,
"max": "16.76",
"min": "03.91",
"nb_valid_evals": 6,
"value": "15.12"
},
"abbrev": "Circuits \u00e9lectroniques : mise \u00e0 niveau",
"effectif": {
"value": 51
},
"titre": "Circuits \u00e9lectroniques : mise \u00e0 niveau",
"evaluation": [
],
"id": "MIP27435"
},
{
"coefficient": 2,
"rang": {
"value": "1 ex"
},
"code": "M1207",
"code_apogee": "VRT1207",
"numero": 70,
"note": {
"moy": "08.39",
"nb_notes": 51,
"nb_missing": 0,
"max": "20.00",
"min": "00.00",
"nb_valid_evals": 1,
"value": "20.00"
},
"abbrev": "Programmation 1",
"effectif": {
"value": 51
},
"titre": "Bases de la programmation",
"evaluation": [
],
"id": "MIP27445"
},
{
"coefficient": 1,
"rang": {
"value": "1 ex"
},
"code": "M1208",
"code_apogee": "VRT1208",
"numero": 80,
"note": {
"moy": "NA",
"nb_notes": 0,
"nb_missing": 51,
"max": "-",
"min": "-",
"nb_valid_evals": 0,
"value": "-"
},
"abbrev": "M\u00e9thodologie Universitaire 1",
"effectif": {
"value": 51
},
"titre": "Adaptation et m\u00e9thodologie pour la r\u00e9ussite Universitaire",
"evaluation": [
],
"id": "MIP27434"
}
],
"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 &amp; Culture",
"id": "UE23716"
}
],
"situation": "Inscrit le 02\/09\/2015. D\u00e9cision jury: Valid\u00e9. UE acquises: UE11, UE12. Autoris\u00e9 \u00e0 s'inscrire en S2."
}
Absences
-
Absences/ListeAbsEtud
- 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).
- Paramètres:
-
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.
- Paramètres:
-
Absences/doAnnuleAbsence
- Paramètres:
datedebut, datefin, demijournee, etud_id
- Résultat: html
- Paramètres:
-
Absences/doAnnuleJustif
- Paramètres:
context, datedebut0, datefin0, demijournee
- Résultat: html
- Paramètres:
-
Absences/EtatAbsencesGr
- Liste les absences d'un ou plusieurs groupes entre deux dates.
- Paramètres:
group_ids, debut, fin, with_boursier=True, format=html
- Résultat: liste des absences. Si
format="json"
, cela donne par exemple:
boursier: "N", nbabs: "9", nbabsjust: "2", nbabsnonjust: "7", nbjustifs_noabs: "0", nomprenom: "Mme Poisson Dodouce", etud_id: "EID12345" }, ... ]``` * Remarque: on peut spécifier plusieurs groupes.
Modules
-
Notes/do_moduleimpl_list
- Paramètres:
form_sem_id, moduleimpl_id, module_id]
- Résultat: liste de moduleimpl
- Paramètres:
-
Notes/do_moduleimpl_withmodule_list
- Paramètres:
form_sem_id, moduleimpl_id, module_id]
- Résultat: liste triée de moduleimpl, avec l'attribut
module
- Paramètres:
En savoir plus
Voir exemples d'utilisation de l'API en Python, dans tests/api/
.