Quelques notes sur mes expérimentations de gestion d'agenda en ligne.

Côté client

Utiliser le [http://www.mozilla.org/projects/calendar/lightning/ projet Lightning] de Mozilla. Pour cela il suffit d'installer le greffon [https://addons.mozilla.org/fr/thunderbird/addon/2313 Lightning] pour Thunderbird.

/!\ Bien suivre les instructions pour l'installer dans Thunderbird et non dans Firefox !

Dans Thunderbird, aller dans le menu Fichier / Nouveau / Agenda..., choisir Sur le réseau au format iCalendar (ICS)FootNote(Google utilise le même !) et indiquer l'URL de l'agenda, par exemple http://www.vn.auf.org/webdav/vacances-vietnam.ics pour connaître les dates officielles (AuF) des vacances au Vietnam.

Côté serveur

Accéder aux agendas des autres c'est bien beau, mais créer les siens c'est encore mieux ! Hé bien là aussi c'est simple, ou disons plutôt pas compliqué... ;-)

Il faut installer un Apache avec le support WebDAV, c'est à dire une version 2.0 ou supérieure. Ensuite il faut justement activer les modules qui conviennent, simplement avec sudo a2enmod dav_fs. Puis créer un dossier web, par exemple /agenda, et configurer apache pour y accéder. C'est là la seule partie sensible : il faut gérer les droits selon sa politique locale.

Voici un exemple qui permet à tout le monde de lire les agendas, mais n'autorise la modification (ici de tous les agendas, sans restriction fine) qu'après authentification :

        <Directory /srv/www/agenda>
                Order Allow,Deny
                Allow from all
                Dav On
                AuthType Basic
                AuthName "WebDAV AuF BAP"
                AuthUserFile /etc/apache2/passwd
                <LimitExcept GET OPTIONS>
                        require valid-user
                </LimitExcept>
        </Directory>

Publication

Il serait aussi intéressant d'offrir une visibilité web directe pour certains agenda, comme par exemple ceux présentant les évènements. Il reste donc à étudier quelques outils comme webcalendar ou phpcalendar, non pas pour de la saisie mais juste pour de la mise en ligne web.

Conclusion

Et voilà ! Ça suffit pour être opérationnel !! :-)

Ensuite se pose le problème de la gestion de ces agendas et en particulier des accès concurrents. Mais ce problème n'en est pas forcément un si on respecte quelques règles simples :

  1. tout agenda ne doit être modifié que par une seule personne qui sera responsable de sa mise à jour, avec éventuellement une personne suppléante tant que cette dernière ne le modifie pas en même temps
  2. on découpera les agendas par domaine distinct, voir aussi par personne, afin de pouvoir respecter la première règle
  3. on installera tous les agendas utiles chez les utilisateurs en les laissant choisir ceux à afficher simultanément, ce que Lightning permet de faire par des simples cases à cocher dans la liste des agendas


Notes :