Pour éditer le wiki, il faut demander un compte à un Lapin !

VM calendar

From Le L∞p's Wiki
Jump to: navigation, search

La machine virtuelle calendar.caserne fournit un service de calendrier interne (ou pas) au Loop.

OS

xen-create-image --hostname calendar

Services

Le serveur héberge le service DAViCal installé depuis les dépôts Debian, sur une base postgresql. apache2 sert le contenu en local (sur calendar.caserne), et un reverse proxy sur alfred permet d'accéder au calendrier public et aux ics à l'URL http://cal.leloop.org.

DaviCAL

DAViCal est installé depuis les dépôts Debian. La configuration se fait dans /etc/davical/calendar.caserne.php.

Pour ajouter un calendrier externe, il faut utiliser le script /usr/share/davical/bind_external_calendar.sh.

Le fonctionnement de DAViCal est un peu particulier. Il faut créer des principals depuis un compte admin' qui sont de type User, Resource (un User qui n'a pas pour but de se loguer) et Group. Par défaut, un principal est créé avec deux collections, l'une (/username/addresses) qui sert de CardDAV pour la gestion des contacts et l'autre (/username/calendar) qui est le calendrier par défaut.

Il est parfaitement possible d'ajouter d'autres collections (calendriers ou carnets d'adresses).

Une collection publique sera accessible en lecture seule à l'URL /public.php/principal/collection/. Les autres collections nécessitent une identification et sont accessibles à /caldav.php/principal/collection/.

Des ACL permettent de définir les accès aux différentes collections en fonction du principal connecté.

Icone information.png Note : Plus d'infos sur le wiki de DAViCal.

La ressource est disponible à l'adresse http://calendar.caserne

Ouvrir le robots.txt

Lors de l'import dans Google Agenda, le fichier robots.txt du paquet davical génère une erreur :

 Erreur de paramètres
 Impossible de récupérer l'URL, car le fichier robots.txt nous empêche de l'explorer.

Dans Apache, on redirige donc silencieusement cette requête vers un fichier à nous :

# Le fichier upstream disallow tout, on contourne :
Alias           /robots.txt     /var/www/robots.txt

CalDavZap

Le client JavaScript est un CalDavZAP, accessible à deux endroits :

La configuration du client se fait dans /usr/share/davical/htdocs/{public,client}/config.js selon l'interface à modifier. Après toute modification, il est nécessaire de rafraîchir le cache.manifest en appelant l'utilitaire /usr/share/davical/htdocs/{public,client}/cache_update.sh .