IFAEDI / Playsi

Backend du S.I de l'AEDI, développé avec le framework Play.
1 stars 2 forks source link

Stages: récupération #11

Open bnjbvr opened 11 years ago

bnjbvr commented 11 years ago

Contexte

Vu que le département rechigne à donner les stages directement, et pour éviter le montage de dossier, la solution évoquée consistait à parser la page des stages. Puisque la récupération de la page des stages demande à être connectée au CAS, il est nécessaire d'externaliser la récupération des stages. Ce que je propose:

  1. un webservice existe qq part en dehors des sites de l'AEDI, parse la page des stages et la sauve localement. En outre, ce webservice permet d'exporter la liste des stages directement en json sur une URL donnée.
  2. le site Play possède une route qui permet d'appeler le webservice et d'intégrer les résultats dans la base de données (facile avec WS).
  3. une tâche cron appelle cette route régulièrement.

Les étapes 2 et 3 peuvent être remplacées par un script externe au site qui fait la même chose, pour éviter la visibilité publique de la route qui permet la mise à jour des stages (même si ça se passe côté serveur, ça peut être un bon point d'entrée pour des DDOS).

Qu'en pensez-vous?

benjaminplanche commented 11 years ago

J'approuve. La seule difficulté que je rencontre en ce moment pour le script, c'est la qualité de la structure de la page des stages côté IF. Dur de parser ça correctement (j'ai voulu passer par le DOM mais l'extension NodeJS utilisée se comporte bizarrement, et utiliser des regex semble moins souple), et en plus ils ont l'air de changer de temps en temps leur template (du moins c'est arrivé 1 fois ce mois-ci) ...