L’échange de données entre les fournisseurs/providers (en général les laboratoires) et le serveur, se fera grâce à un fichier iCalendar.
Un fichier iCalendar est un fichier lisible (human-readable), dont le format est expliqué dans la RFC5545. Ce fichier iCalendar peut être lourd à générer si on n’utilise pas une librairie. [1]
Il est à noter que :
Un fichier iCal est organisé en composants, propriétés et valeurs. Le tableau suivant donne les choix que nous avons faits pour représenter les évènements de la communauté mathématique.
propriété | valeur |
PRODID | voir exemples |
X-WR-TIMEZONE | Europe/Paris |
X-WR-CALNAME | titre du séminaire |
X-WR-RELCALID | identifiant du séminaire dans le labo |
SUMMARY | nom de l’orateur + titre de l’exposé |
UID | id unique local (RFC5545, §3.8.4.7) le fournisseur doit s’assurer de son unicité |
DTSTART | date début exposé |
DESCRIPTION (optionnel) | résumé de l’exposé |
DTEND (optionnel : si omis, DTSTART + 1h) | date fin exposé |
LOCATION (optionnel) | lieu (salle, bâtiment) |
CONTACT (optionnel) | responsable du séminaire |
ORGANIZER (optionnel) | mail responsable du séminaire |
ATTENDEE | format particulier (CN=Nom orateur:mailto:no-reply@math.cnrs.fr), voir exemple ci-dessous avec la lib iCalcreator |
CATEGORIES (optionnel) | code AMS (thème du séminaire) |
URL (optionnel) | |
STATUS (optionnel) | CONFIRMED |
COMMENT (optionnel) | Notes de dernières minutes |
Le plus simple est de créer un fichier par séminaire, pour faciliter le tri et le rangement en catégorie sur le serveur (non obligatoire).
Pour ATTENDEE, qui doit être au format URI, on peut soit mettre une adresse comme no-reply@math.cnrs.fr, soit l’email de l’orateur avec son accord. Cet email n’apparaitra pas dans le portail des Maths.
Une fois le fichier généré, il faut le valider via iCalendar Validator
Des exemples sont proposés à la fin de cet article. Pour le type mime, il est recommandé d’utiliser :
« Content-Type : text/calendar »
Il existe d’autres outils dans la communauté.
Depuis octobre 2011, le squelette kitcnrs intègre le plugin seminaire qui produit, entre autres, des fichiers iCal.
Le principe est d’avoir des évènements associés à des articles (http://www.spip-contrib.net/Plugin-...).
Pour nos labos, cela signifie qu’un séminaire est un article, et que les exposés de ce séminaire sont des évènements.
Ci-dessous, un exemple obtenu sur le site de Montpellier :
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT DTSTART;TZID=Europe/Paris:20110915T111500 DTEND;TZID=Europe/Paris:20110915T121500 SUMMARY:Sém. AGATA - Vezzosi LOCATION:salle 431 STATUS:CONFIRMED DESCRIPTION:Séminaire Algèbre Géométrie Algébrique Topologie Algébrique - \ Gabriele Vezzosi (Université de Florence)Derived algebraic geometry and\ obstrucction theories - with applications to stable maps to a K3 surface CATEGORIES:séminaire END:VEVENT END:VCALENDAR
Vous pouvez utiliser iCalcreator http://kigkonsult.se/iCalcreator et la documentation ici http://kigkonsult.se/iCalcreator/do...
Avec cette librairie, il est facile (en tout cas plus facile que de le générer depuis rien) de créer un fichier iCalendar.