DocScoDoc/docs/ServicesXml.md

192 lines
7.1 KiB
Markdown
Raw Normal View History

# Services XML pour l'export des données (obsolète)
2020-09-21 16:30:27 +02:00
!!! warning "Obsolète"
- Cette page est obsolète. Utiliser [l'API ScoDoc 9](ScoDoc9API.md)
ScoDoc offrait un certain nombre de services XML pour faciliter son intégration dans
2020-09-21 16:30:27 +02:00
d'autres composants (typiquement un portail de services pour étudiant,
comme le portail eSup CEVIF à l'IUT de Villetaneuse).
## Identification des étudiants
2020-09-21 16:30:27 +02:00
Les étudiants peuvent être identifiés au choix par l'un des trois codes:
2020-09-21 16:30:27 +02:00
* **`etudid`** : code interne ScoDoc, toujours disponible.
2020-09-21 16:30:27 +02:00
* **`code_ine`** : code INE Apogée, s'il a été renseigné
2020-09-21 16:30:27 +02:00
* **`code_nip`** : code NIP Apogée, s'il a été renseigné
2020-09-21 16:30:27 +02:00
## Listes des principaux points d'entrée
2020-09-21 16:30:27 +02:00
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> pour des raisons historiques, les noms des fonctions ne sont pas
homogènes :-(
2020-09-21 16:30:27 +02:00
* **`XMLgetEtudInfos`**
* Paramètre: etudid ou code_ine ou code_nip
* Donne des informations sur l'étudiant et les semestres où il est (ou a été) inscrit.
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<etudiant nom="DUPOND" prenom="FREDERIC" sexe="M." code_ine="250308450" nomprenom="M. Frederic MARSAUD" code_nip="105022504" etudid="ADCDEF" email="toto@xxx.com" photo_url="https://scodoc.example.com/Dept/Fotos/dcp_2777.h90.jpg">
<insemestre etat="I" formsemestre_id="SEM4740" date_fin="2007-06-30" date_debut="2007-01-22" />
<insemestre etat="I" formsemestre_id="SEM3608" date_fin="2007-01-31" date_debut="2006-09-01" />
...
</etudiant>
```
* **`XMLgetGroupsInPartition`**
* Paramètres: `partition_id=X`
* Donne la liste des étudiants dans un semestre, par groupes.
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<ajax-response>
<response type="object" id="MyUpdater">
<group group_id="G20021" partition_name="TP" partition_id="P20020" group_name="AA">
<etud origin="" nom="DUPONT" sexe="M." prenom="Kevin" etudid="EID898"/>
...
</group>
<group ...>
...
</group>
</response>
</ajax-response>
```
* **`XMLgetFormsemestres`**
* Paramètres optionnels:
* `formsemestre_id` code semestre ScoDoc
* `etape_apo` code étape Apogée
* Donne informations sur le ou les semestres sélectionnés (par défaut, sur tous les semestres).
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<formsemestrelist>
<formsemestre
formsemestre_id="SEM4741"
formation_id="xxx"
semestre_id="xxx"
titre="xxx"
date_debut=xxx" date_fin="xxx"
responsable_id="xxx"
etape_apo="xxx"
/>
</formsemestrelist>
```
* **`formation_export_xml`**
* Paramètre: `formation_id`
* Export XML du programme pédagogique complet (UE, matières, modules). Ce
format XML est réimportable pour créer une nouvelle formation.
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<formation acronyme="DUT R&amp;T" titre_officiel="DUT Réseaux et Télécommunications" formation_code="FCOD2" version="0" titre="DUT Réseaux et Télécommunications" formation_id="FORM1130">
<ue acronyme="UE 1" ue_code="UCOD5" numero="1" ue_id="UE1131" titre="Formation Générale" formation_id="FORM1130" type="0">
<matiere titre="Mathématiques" matiere_id="MAT1132" numero="10" ue_id="UE1131">
<module coefficient="2.0" heures_cours="0.0" semestre_id="1" heures_tp="0.0" numero="10" ue_id="UE1131" matiere_id="MAT1132" abbrev="Algèbre" code="M1"
titre="Fondamentaux d'algèbre et de trigonométrie" module_id="MOD1138" formation_id="FORM1130" heures_td="30.0"/>
...
...
```xml
* **`formsemestre_bulletinetud`**
* Paramètres: `format=xml&formsemestre_id=XXX&etudid=YYYX`
* Paramètre optionnel: `xml_with_decisions` (force l'envoi des décisions même si elles ne doivent pas être montrées aux étudiants)
* Bulletin de notes de l'étudiant. Toutes les notes obtenues dans ce semestres et prises en compte pour le calcul des moyennes (intégralement saisies), et décisions du jury si elles sont affichées (voir réglage des options du semestre).
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<bulletinetud date="2007-07-11T18:50:48.164292" formsemestre_id="SEM4729" publie="1" etudid="10408738" etape_apo="V1TR">
<etudiant nom="DUPONT" prenom="YACINE" sexe="M." code_ine="2222222" etudid="11111111" code_nip="1033333333" email="toto@hotmail.com" photo_url="https://www-gtr.iutv.univ-paris13.fr/Dept/Fotos/dcp_n_01919.h90.jpg"/>
<note value="12.92"/>
<rang ninscrits="31" value="2"/>
<rang_group ninscrits="15" value="4" group_type="td" group_name="A"/>
<rang_group ninscrits="10" value="4" group_type="tp" group_name="A1"/>
<rang_group ninscrits="12" value="6" group_type="ta" group_name="BB"/>
<note_max value="20"/>
<ue acronyme="UE 1" titre="Formation Générale" id="UE1131" numero="1">
<note value="12.56"/>
<module coefficient="2.0" code="MC1" numero="35" abbrev="Algèbre linéaire" titre="Algèbre linéaire en dimension finie" id="MIP4731">
<note value="14.80"/>
<evaluation coefficient="1.0" heure_debut="08:00" heure_fin="11:00" jour="2007-05-05" description="">
<note value="14.80"/>
</evaluation>
</module>
...
```
Si les décisions du jury sont publiées, on a un élément:
```xml
2020-09-21 16:30:27 +02:00
<decision etat="I" code="ADM"/>
```
et le cas échéant dans la décision une autorisation d'inscription (passage à un
autre semestre) sous la forme:
```xml
2020-09-21 16:30:27 +02:00
<autorisation_inscription semestre_id="3"/>
```
Le bulletin comporte aussi le décompte des absences enregistrées au cours de ce
semestre (comptées en nombre de demi-journées):
```xml
2020-09-21 16:30:27 +02:00
<absences nbabsjust="0" nbabs="2"/>
```
* **`formsemestre_recapcomplet`**
* Paramètres: `formsemestre_id=XXXX&tabformat=xml`
* Paramètre optionnel: xml_with_decisions (force l'envoi des décisions même
si elles ne doivent pas être montrées aux étudiants)
* L'ensemble des bulletins de toutes la promotion d'étudiants (au même
format que `formsemestre_bulletinetud`).
* Exemple:
```xml
2020-09-21 16:30:27 +02:00
<recapsemestre date="2007-07-11T19:00:12.370531" formsemestre_id="SEM4729">
<evals_info date_derniere_note="2007-07-02 14:04:11.00" nb_evals_vides="0" nb_evals_en_cours="0" nb_evals_completes="28"/>
<bulletinetud ...>
</bulletinetud>
<bulletinetud ...>
</bulletinetud>
...
```
## Absences
* **`XMLgetAbsEtud`**
* Paramètres: etudid ou code_ine ou code_nip, beg_date, end_date (au format
ISO 2009-11-04)
* La liste des absences entre les dates indiquées (inclues):
```xml
2020-09-21 16:30:27 +02:00
<absences beg_date="2009-11-03" end_date="2009-11-29" etudid="EID1911">
<abs begin="2009-11-04 08:00:00" end="2009-11-04 11:59:59" justified="1" description="malade"/>
<abs begin="2009-11-04 12:00:00" end="2009-11-04 17:59:59" justified="0" description=""/>
</absences>
```
* Les billets d'absences sont entrés via l'appel **`AddBilletAbsence`**:
* Paramètres: etudid ou code_ine ou code_nip, begin, end, description
* Résultat: XML contenant l'ID du billet créé.
2020-09-21 16:30:27 +02:00
* **`XMLgetBilletsEtud`**
* Paramètre: etudid ou code_ine ou code_nip
* Les "billets" d'absence reçus pour cet étudiant (`etat` vaut 0 si le billet
n'a pas été traité, 1 sinon, et `description` est la raison déclarée de
l'absence).
* Exemple (1 row par billet):
```xml
2020-09-21 16:30:27 +02:00
<table origin="" caption="" id="gt_920276">
<row>
<billet_id value="ABS-3"/>
<abs_begin value="2009-05-01 00:00:00.00"/>
<abs_end value="2009-05-03 00:00:00.00"/>
<description value="qqq"/>
<etat value="0"/>
</row>
</table>
```