Rennes1Planning2ics
Par Mickaël le 2 juin 2008, 20h18 - Scripts - Lien permanent
En tant qu'étudiant, on peut consulter notre emploie du temps sur l'ENT (Environnement Numérique de Travail). Cet ensemble de site Web gère les plannings de tous les étudiants et professeurs de l'Université de Rennes 1. Le mode de consultation est sous forme d'image, certe facile à lire, mais compliqué à exploiter. Le but étant de récupérer l'emploi du temps sous un format facilement utilisable ; voici comment le transformer en fichier iCalendar.
Format iCalendar
Le format iCalendar est un format texte permettant de définir différentes informations pour une tâche. Il convient donc parfaitement au besoin.
Exemple d'une entrée générée où on peut retrouver les différentes informations formatées :
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT DTSTART:20071003T140000 DTEND:20071003T160000 SUMMARY:BCS - TD LOCATION:I59 CATEGORIES:Cours ORGANIZER:NOM Prénom ATTENDEE:TOUT SSI END:VEVENT
Fonctionnement du script
Les différentes étapes pour créer un fichier iCalendar sont :
- s'authentifier après du SSO de Rennes1 ;
- aller à la page du planning ;
- sélectionner et récupérer les informations intéressantes ;
- parser les données ;
- se déconnecter.
Une des particularité du site est également d'offrir la possibilité de consulter le planning sous forme de liste chronologique présenté en tableau HTML. Grace à ce format de donnée, il est possible d'extraire sans gros problèmes les informations qui nous sont nécessaires, à savoir :
- la date du jour ;
- l'heure de début ;
- la durée ;
- l'emplacement ;
- l'intervenant ;
- les personnes présentes.
Je me suis servis de Ruby pour automatiser ces tâches afin de pouvoir importer ce planning dans un logiciel d'agenda (sur ordinateur ou smartphone).
Après une phase d'authentification (renseigner l'identifiant et le mot de passe du portail), le robot récupère le tableau de la formation désiré. Il imprime alors l'agenda formaté dans la sortie standard que l'on peut rediriger vers un fichier.
Le code source est sous licence GPL et disponible ici.
Exemple d'affichage
Mise à jour : 05/09/2008
