# 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:
```
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
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.
### 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)
```
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é.