Comment choisir un agenda électronique
qui communique avec le reste du monde.

Publié le 14/04/2006 - Mis à jour le 27/12/2007 par

Archive

Cet article n'est plus mis à jour et est conservé comme archive

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, pas aussi simple qu'il n'y paraît !

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 :

  • Il existe un standard Internet pour échanger des données de calendrier iCalendar. Ce standard est maintenant accepté par la plupart des produits.
  • Mieux, il existe des produits qui permettent de gérer des calendriers en format iCalendar natif, Mozilla Calendar avec des extensions pour la navigateur Firefox, la messagerie Thunderbird et une version autonome Sunbird.
  • Et encore mieux, Google a ouvert, depuis le 13 avril 2006, Google Calendar, 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

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.

Les avantages des fichiers iCalendar

certificat

L'utilisation directe des fichiers iCalendar apporte un grand nombre d'avantages :

  • Les fichiers iCalendar sont de simples fichiers texte. Ils peuvent donc être stockés sans nécessiter une base de données, soit sur votre machine comme un fichier texte, soit dans un répertoire d'un serveur partagé accessible par Internet. La plupart des logiciels iCalendar supportent le mode WebDav, 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.
  • On peut donc distribuer facilement des calendriers d'événements. Par exemple, vous pouvez télécharger les calendriers des jours de congés , 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.
  • Vous pouvez séparer facilement votre agenda personnel et votre agenda professionnel. Il suffit de créer deux fichiers iCalendar. Les logiciels que j'ai cités permettent de visualiser simultanément ou individuellement sur le même calendrier plusieurs fichiers iCalendar. Chaque fichier sera vu et mis à jour séparément avec des droits d'accès séparés. Vous pouvez aussi associer des couleurs différentes aux événements de chaque calendrier comme indiqué dans l'image ci-dessus tirée de Google.

Comment choisir un logiciel d'agenda électronique

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.

  • Mozilla Calendar
    Il existe en plusieurs versions. Une version autonome, appelée Sunbird 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.
  • Google Calendar
    Il suffit d'avoir un compte Gmail pour s'inscrire. C'est encore une version bêta, en anglais pour l'instant, mais Google nous a habitué à des versions bêta qui dure des années. La facilité d'utilisation du système est déconcertante. Créer, modifier et déplacer des tâches dans un navigateur est plus simple que dans un logiciel installé sur le poste de travail. La partie collaborative par courrier électronique est très bien pensée. On dispose bien sûr d'une recherche instantanée dans son agenda. En revanche, la gestion des tâches est inexistante. Je ne dois donc pas être le seul à ne jamais m'en servir.

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.

Pour les pros, hCalendar

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.

Ajoutez vos commentaires ci-après ou les envoyer à Jean-Paul Figer
Mots clés


Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.