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

Ça concerne quoi ?

Du trivial au complexe (pas seulement pour des raisons techniques) :

Côté client

Utiliser le projet Lightning de Mozilla. Pour cela il suffit d'installer le greffon 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)1 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>

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

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 phpicalendar, non pas pour de la saisie mais juste pour de la mise en ligne web.

Notes de procédure

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

Si on veut absolument faire de l'édition collaborative d'agenda il faut impérativement respecter la procédure suivante :

Idées

Quelques alternatives pour organiser les fichiers et gérer les droits d'accès :

  1. organisation spécifique pour les agendas :
    • passer les agendas dans un dossier /agenda/dav/ au lieu de /webdav/

    • un accès web sur /agenda/ arriverait sur l'interface web de consultation

    • le dossier /agenda/dav/ aurait des droits spécifiés par fichier (via <FileMatch> et <Limit>)

  2. organisation générale pour une gestion des fichiers via WebDAV :
    • faire un accès http://dav.vn.auf.org/prenom.nom/ par personne

    • limiter les droits d'écriture dans ce dossier et ses suivants à la personne correspondante
    • limiter les droits de lecture sur tout sauf un sous-dossier /prenom.nom/public/ ?

    • limiter les droits de lecture à un seul sous-dossier /prenom.nom/privé/ ?

  3. agendas publics généralisés à l'AuF :
  4. agendas généralisés à l'AuF avec gestion à deux étages :
    • même chose que (3) mais sur agenda.auf, à l'interne donc

    • publication ensuite de l'ensemble des agendas sur agenda.auf.org en se limitant néanmoins aux évènements marqués publics


Notes :

  1. Google utilise le même ! (1)

JeanChristopheAndré/Notes/AgendaEnLigne (dernière édition le 2008-10-28 08:31:18 par JeanChristopheAndré)