# Interface avec un "portail" externe
ScoDoc peut interagir avec un "portail" donnant des informations sur les
étudiants. Ceci permet de synchroniser les données ScoDoc avec celles des
applications externes comme Apogée. Pour simplifier l'administration, nous avons
fait le choix d'intercaler entre ScoDoc et les applications type Apogée un
"portail" (centralisation des autorisations, etc).
Le portail interroge aussi ScoDoc (en particulier pour la publication des
bulletins et pour effectuer l'export des décisions de jury vers Apogée). Voir
les services offerts par ScoDoc sur la page [ServicesXml](ServicesXml.md).
L'adresse du portail est indiquée dans la préférence ```portal_url``` (voir
[PreferencesScoDoc](PreferencesScoDoc.md)).
Le code d'interface est dans le fichier source `sco_portal_apogee.py`.
Les trois appels suivants sont utilisés:
- `getEtud` : information sur un étudiant
- `getEtapes` : liste des étapes Apogée
- `getPhoto` : image de l'étudiant
Ces appels sont détaillés dans les sections suivantes.
## Information sur un étudiant
Le portail doit fournir une méthode web `getEtud.php` qui accepte les paramètres
suivants:
- `nip` : code NIP
- `ine` : code INE
- `mail` : adresse e-mail
- `nom` : nom de l'étudiant
- `prenom` : prénom de l'étudiant
- `etape` : code étape Apogée
On peut spécifier un nombre quelconque de paramètres; `getEtud.php` recherche
les étudiants correspondant aux critères indiqués, et renvoie du code XML:
```xml
20600577
V2TR
2008
BOURTON
MELANIE
F
08/01/1990
Brest
29
Finisterre
melanie.bourton@xxx.univ-yyy.fr
11 Pierre Dupont
93400
Tokyo
France
01 02 03 04 05
0951722F
S-Scientifique
2007
nom du lycée
ville lycée
code postal lycée
10/07/24
true
N
...
...
```
Les champs `` (code du lycée), `` (intitulé du bac), ``,
`` et `` sont optionnels.
Le champ `` est un libellé, en général de la forme "ES-Economique et
social". ScoDoc considère la première partie du libellé, jusqu'au caractère '-'
comme la série du bac (uniquement si elle fait moins de 8 caractères). Le reste
est alors considéré comme la "spécialité" du bac. Voir
[DonneesAdmissions](DonneesAdmissions.md).
Le champ `` (optionnel) vaut "true" ou "false" pour
indiquer si l'étudiant a réglé ses frais d'inscription ou non.
### Champs spécifiques à Apogée
Les champs suivant sont optionnels et donnent des informations spécifiques à
Apogée:
```xml
01
1
O
E
10/07/24
NO
VBTCYB
V2CYB
O
```
Notes :
- `dat_edt_crt` est en principe la même chose que `datefinalisationinscription`:
ce champ est vide si l'étudiant n'a pas finalisé son incription.
## Liste des étapes Apogée
`getEtapes.php` (pas de paramètres) renvoie un doc XML décrivant les étapes
Apogée en cours. L'URL est paramétrable dans les préférences de ScoDoc. La
structure est la suivante:
```
DUT CJ - Première Année
DUT CJ - Seconde Année
...
...
```
Le code département (cj ou rt dans l'exemple ci-dessous) est arbitraire et
utilisé par ScoDoc pour ne présenter à l'utilisateur que les étapes de son
département (voir la propriété *code du département sur le portail* dans les
paramètres).
On peut aussi présenter une liste sans section par département, comme ceci:
(cocher la préférence indiquant le format dans ScoDoc)
```xml
DUT CJ - Première Année
DUT CJ - Seconde Année
...
```
## Image de l'étudiant
`getPhoto.php` accepte le paramètre suivant:
- `nip` : code NIP
et renvoie une image de l'étudiant (dans l'un des formats supportés par les navigateurs web).
Si l'image ou l'étudiant n'existe pas, un code HTTP 404 peut être renvoyé.