Publié le 04/16/2018, rédigé par Gaulthier LALLEMAND

DAViCal

Utiliser le FREE/BUSY dans Lightning.

Sommaire : Monter son propre service de calendrier

Etape précédente : Afficher un calendrier dans Lightning

Un calendrier Free/Busy est un calendrier qui ne contient que les dates des événements: il ne comporte en particulier aucune précision sur les événements, aucun détail, on ne sait pas qui invite qui, etc.

Il s'agit d'une vue dépouillée d'un calendrier. Son but est de répondre à la question: "Le propriétaire de ce calendrier est-il disponible à une heure donnée ?"

Ce genre de calendrier est très utilisé en entreprise pour organiser des réunions, réserver des salles ou du matériel. Nous allons voir ici comment utiliser cette fonctionnalité.

Coté serveur

Je vais prendre pour exemple l'utilisateur marie, qui souhaite consulter le free/busy de l'utilisateur sarah.

Pour simplifier la configuration, je considère que Sarah a défini les droits FREE/BUSY et SCHEDULE DELIVER comme droits par défaut (voir ici comment faire). Elle a aussi coché la case Default Privileges pour son calendrier work_calendar.

Enfin, Sarah a défini son adresse email comme étant sarah_tatouille@mondomaine.fr.

Remarque : il semble qu'à un moment de l'existence de DAViCal, il fût nécessaire de définir les username comme valant la partie située à gauche de l'adresse email s'y rattachant. Autrement dit, l'username sarah aurait dû être associé à l'email sarah@mondomaine.fr. Le non-respect de cette règle ne m'a cependant pas posé de problème, et je prends cet exemple comme preuve.

Coté client

Pour consulter le free/busy d'un autre utilisateur, il est nécessaire de passer par le système des invitations.

Note : En effet, il est apparemment impossible de visualiser un free/busy de la manière recommandée (bug dans Lightning?).

Edit : une solution de contournement en utilisant les tickets est détaillée dans cet article.

Pour lancer une invitation, rien de plus simple. Il faut déjà créer l'événement :

Lightning highlight calendar

Lightning new event

Lightning new event invite attendees

C'est ici que les adresses email prennent leur importance. En effet, elles servent d'identifiant unique à Lightning pour consulter les données du serveur DAViCal. Elles n'ont cependant pas besoin d'être réelles (comme dans mon exemple).

Finalement, je peux voir les free/busy des participants dont j'ai renseigné l'email.

Remarques :

Attention aux faux-positifs : Il y a un petit bémol à utiliser cette vue du free/busy : si Sarah a programmé un événement entre des heures pleines, son free/busy indiquera qu'elle est occupée pour la totalité des heures.

Par exemple : si Sarah programme un événement dans son calendrier de 09:30 à 11:15, alors Lightning me montrera son free/busy comme occupé de 09:00 à 12:00.

Il faut le savoir.

Finalement, je valide la liste des participants en cliquant sur OK. Dans la fenêtre du Nouvel événement, je peux cliquer sur l'onglet Participants situé tout en-bas :

Lightning new event list attendees

La case cochée Informer les participants sert à informer les participants via le serveur DAViCal. Pour les informer par email, je peux me servir du menu contextuel disponible via un clic-droit dans le cadre contenant les adresses emails des invités.

Pour finir, je sauvegarde l'événement en cliquant sur Enregistrer et fermer.

Sarah (entre autres) voit alors apparaître un événement en pointillés dans son logiciel client. En double-cliquant dessus, cette fenêtre apparaît :

Lightning event invitation

Elle peut accepter ou non l'invitation, et la placer dans le calendrier de son choix. Si elle accepte, les pointillés disparaîssent.

Dans le cas où Sarah accepte l'invitation, Marie voit son événement actualisé ainsi :

Lightning event invitation accepted

Conséquences sur le serveur DAViCal

Le fait de lancer une invitation a déclenché, dans le compte utilisateur de marie sur le serveur DAViCal, la création d'une Collection :

Les propriétés de cette Collection sont définies dans la RFC 6638. Cet objet contient les messages destinés à des participants. Il est préférable de ne pas y toucher.

Attention : cette Collection bénéficie des droits par défaut. Cela signifie qu'un mauvais paramétrage de ces droits peut amener à une potentielle fuite de données.

Etape suivante : Voir un carnet d'adresses dans Thunderbird