
Sommaire
L'agenda électronique, pas aussi simple qu'il n'y paraît !
Les fichiers iCalendar
Les avantages des fichiers iCalendar
Comment choisir un logiciel d'agenda électronique
-Annexes
Pour les pros, hCalendar
Qui utiliserait encore aujourd'hui une messagerie qui ne communiquerait pas avec celles des autres ? Et pourtant c'est ce qui se passe pour la plupart des agendas électroniques qui utilisent des formats de données propriétaires. Heureusement, les logiciels d'agendas électroniques ont fait de très gros progrès. Il est maintenant facile d'échanger des événements, des tâches et des calendriers. Il est aussi possible de choisir son logiciel d'agenda électronique comme on choisit son logiciel de courrier électronique car le format des données des agendas est devenu un standard Internet. Cet article vous aidera dans le choix de l'outil, gratuit, le plus adapté à votre manière de travailler.
L'agenda électronique a toujours été l'application fournie en dernier sur les différents systèmes d'exploitation. Il y a d'excellentes raisons. A première vue, enregistrer une liste de rendez-vous ou d'événements n'est pas bien sorcier. Le premier obstacle, éliminatoire, est la discipline qu'il faut s'imposer pour tenir à jour un agenda électronique. Ensuite, cette discipline doit être partagée dans un groupe pour publier tout ou partie de son agenda, échanger des rendez-vous ou des calendriers. Il faut aussi et surtout en disposer partout où on en a besoin. Cette dernière contrainte avait donné naissance aux agendas électroniques portables de la taille d'un agenda papier. Il fallait cependant sauvegarder, recopier ou synchroniser cet agenda avec celui de son poste fixe. Ces différentes contraintes ont conduit au développement d'agendas spécifiques qui ne communiquent pas facilement avec le reste du monde.
Cette situation est en train de changer pour deux raisons :
. Ce standard est maintenant accepté par la plupart des produits.
avec des extensions pour la navigateur Firefox, la messagerie Thunderbird et une version autonome Sunbird
.
une version Web/AJAX qui s'appuie aussi directement sur des calendriers au format iCalendar et sur une intégration intelligente avec la messagerie.Le but de cet article est d'expliquer simplement les caractéristiques des fichiers au format iCalendar pour en déduire les manières de les utiliser dans les produits qui gèrent des agendas électroniques. Pour plus de détails techniques, vous pouvez consulter l'article iCalendar de Wikipedia
.
Les fichiers iCalendar sont des fichiers textes qui contiennent les données des agendas, c'est à dire essentiellement des événements ou des tâches. Ce format de données est indépendant du protocole d'échange qui peut être du courrier électronique, du HTTP ou autre.
L'extension conseillée est .ics, le type MIME est text/calendar. Assez curieusement, ce format est un format texte. Il existe bien une transformation XML (xCal) mais elle n'est pratiquement pas utilisée.
J'ai crée avec Sunbird un agenda simple avec un événement et une tâche et je l'ai sauvegardé en format .ics. Voici le contenu de ce fichier lu avec le bloc-notes.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.0//EN
BEGIN:VEVENT
CREATED:20060415T164638Z
LAST-MODIFIED:20060415T165625Z
DTSTAMP:20060415T164638Z
UID:uuid:1145119432625
SUMMARY:Repas
PRIORITY:1
STATUS:CONFIRMED
CLASS:PUBLIC
RRULE:FREQ=DAILY;INTERVAL=1
DTSTART:20060419T123000
DTEND:20060419T140000
LOCATION:Paris
CATEGORIES:Personal
BEGIN:VALARM
TRIGGER;VALUE=DURATION:-PT15M
END:VALARM
END:VEVENT
BEGIN:VTODO
CREATED:20060415T165454Z
LAST-MODIFIED:20060415T165606Z
DTSTAMP:20060415T165454Z
UID:uuid1145120166312
SUMMARY:Exemple de tache
PRIORITY:0
STATUS:IN-PROCESS
CLASS:PUBLIC
DUE:20060424T185500
PERCENT-COMPLETE:0
END:VTODO
END:VCALENDAR
Les informations sont stockées sous la forme de blocs imbriqués entre deux balises BEGIN:... et END:... . Le bloc principal VCALENDAR regroupe l'ensemble du calendrier. Le terme "VCALENDAR" est issu de l'ancienne version de la norme appelée vCalendar. Chaque événement est encadré par BEGIN:VEVENT et END:VEVENT et chaque tâche par BEGIN:VTODO et END:VTODO. A l'intérieur de VEVENT, on trouve des renseignements sur l'événement comme la date de création, la date de dernière modification, la date de début, la date de fin et bien d'autres choses. J'ai mis un événement répétitif tous les jours pour que quelle que soit la date à laquelle vous utilisez ce calendrier, il y aitquelque chose à voir. Un autre bloc VALARM, contenu dans le bloc VEVENT donne les paramètres pour envoyer un mail d'avertissement 15 minutes avant le début de l'événement. Il esiste d'autres blocs comme VFREEBUSY ou VJOURNAL. C'est donc les informations contenues dans le fichier qui servent à afficher le contenu d'un calendrier sous le format graphique habituel choisi : par jour, par semaine, par mois, etc.. Le but de cet article n'est pas de détailler les fonctions qui permettent de visualiser ou de mettre à jour le contenu d'un calendrier. C'est très bien expliqué dans les spécifications de la norme ou dans les aides des produits. En revanche, ce qui l'est moins, c'est comment tirer parti de ces fichiers iCalendar.
L'utilisation directe des fichiers iCalendar apporte un grand nombre d'avantages :
, c'est à dire la création et la mise à jour d'un fichier sur un serveur par le protocole HTTP. Cela s'appelle "publier un calendrier". Par exemple, mon calendrier de démonstration est stocké ici : http://www.figer.com/exempleCalendrier.ics. En cliquant sur ce lien, vous intégrez immédiatement ce calendrier dans votre logiciel d'agenda électronique. Avec les droits d'écriture, vous pourriez le mettre à jour directement. Pour ceux qui ne disposent pas d'un accès à un serveur WebDav (standard dans IIS ou Apache), il existe de nombreuses solutions gratuites comme http://icalx.com/
. Vous créez un compte et immédiatement vous pouvez stocker vos agendas dans une zone privée ou une zone publique, accessible depuis tout l'Internet. Par exemple, j'y ai mis aussi mon calendrier de test http://www.icalx.com/public/jfiger/exempleCalendrier.ics
. L'intérêt de cette solution est de conserver le choix du logiciel qui utilisera ce fichier.
, pays par pays. Il suffit simplement d'ajouter un ou plusieurs de ces fichiers dans votre calendrier pour visualiser les jours de congés en plus de vos données personnelles. Dans une organisation, on peut ainsi publier facilement la liste des réunions ou de certaines manifestations. De nombreux sites comme DateDex
permettent de souscrire à des calendriers d'événements ou de les télécharger.Le logiciel doit permettre de gérer simultanément plusieurs fichiers iCalendar en local ou sur Internet. Ce découplage entre le programme et les données est indispensable. Comme pour le courrier électronique, il permet de changer de logiciel à votre guise, au fur et à mesure des améliorations, ou même d'utiliser des logiciels différents pour gérer le même agenda. Si malheureusement ce n'est pas le cas avec votre logiciel actuel, vérifiez bien qu'il permet au moins d'exporter les données au format iCalendar (iCal) car il faudra tôt ou tard en changer.
J'ai sélectionné deux logiciels gratuits qui satisfont à ces critères de base, Mozilla Calendar
qui nécessite une installation sur le PC et Google Calendar
accessible directement sous un navigateur.
ou des extensions à installer soit dans le navigateur Firefox
, soit dans le logiciel de messagerie Thunderbird
. C'est le même noyau logiciel qui est utilisé dans tous les cas avec les mêmes anomalies ! Ce logiciel fait une gestion élémentaire des différents agendas et des tâches. Il manque les fonctions de travail en groupe avec des notions de partage évoluées : être prévenu quand un réunion est modifiée, invitation à une réunion et gestion de la participation par courrier électronique.
Il faut noter que les produits indiqués ci-dessus ne sont pas exclusifs et que vous pouvez très bien voir et modifier le même fichier iCalendar avec des logiciels différents.
Jean-Paul Figer
© Jean-Paul Figer,1995-2007
Lorsque je n'écris pas des articles sur l'informatique, je travaille à Capgemini. Les opinions exprimées dans ces articles n'engagent que moi et ne représentent pas forcément la position de Capgemini.
Pour être informé des nouveaux articles de ce site, vous pouvez vous inscrire (et vous désinscrire) ici.
Il existe bien un projet de norme iCalendar en XML
mais son intérêt me parait très limité. Pourquoi faire compliqué quand on peut faire simple. Par exemple, l'initiative microformats
me semble beaucoup plus intéressante. Microformats vise à intégrer des formats de données connus dans des standards qui existent, en l'espèce hCalendar
qui intègre iCalendar dans XHTML. Le code XHTML suivant (manifestation inventée comme exemple) :
Présentation iCalendar:
octobre 8-10, au
Palais des Congrès, Paris, France
contient des métadonnées XHTML qui permettent de reconnaître les éléments iCalendar
<span class="vevent"> <a class="url" href="http://www.figer.com/"> <span class="summary">Présentation iCalendar</span>: <abbr class="dtstart" title="2006-10-08">octobre 8</abbr>- <abbr class="dtend" title="2006-10-10">10</abbr>, au <span class="location">Palais des Congrès, Paris, France</span> </a> </span>
Ainsi, un programme comme une extension Firefox
pourra repérer dans le texte des données hCalendar et en proposer automatiquement l'intégration dans un calendrier au format iCalendar lors de l'affichage de la page.
Cliquer sur les liens hCalendar
et microformats
pour plus de détails.