Les clients pour gérer les agendas et les tâches sont divers et variés. Nous en avons regroupé certains en séparant les clients Web et les client "lourds". Les clients Web sont joignables par un navigateur Web et peuvent être installés sur la même machine qui héberge votre serveur ou sur une autre. Les clients "lourds" désignent les clients s'installant sur une machine avec interface graphique et gestionnaire de bureau. Ils sont souvent reliés à un client mail.

Nous nommerons collection les ressources appartenant à un utilisateur, carnets d'adresses ou agenda, car les deux sont souvent gérées de la même manière au niveau des serveurs.

Clients Web

Owncloud

Owncloud est un système de cloud qui comprend un module de calendrier. Vous pouvez donc l'utiliser comme client Web. La documentation se trouve sur cette page.

Pour un utilisateur de Thunderbird/Lightning, l'interface semble moins ergonomique.

Caldavzap

Client Web, basé sur javascript donc bonne réactivité (mais attention à la sécurité). Fonctionne sans base de données. Il ne gère pas la création de nouveaux calendriers ni la mise en place de partages de calendriers.

Vous pouvez tester en allant sur la page de la démo

L'installation est très aisée si on a opté pour Davical comme serveur Caldav. Pour cela, il faut placer tous les fichiers de caldavzap dans le répertoire de Davical. Le service devrait marcher sans la moindre configuration. Dans toute la suite, vous devez être en root ou bien utiliser "sudo" au début de chaque commande (si votre utilisateur est dans le groupe sudo bien sur… plus d'infos ici.

Installation (cas de l'utilisation d'un serveur Davical)

Placez-vous dans le répertoire de Davical :

cd /usr/share/davical/htdocs

Puis téléchargez l'archive contenant Caldavzap :

wget www.inf-it.com/CalDavZAP_0.9.1.2.zip

N'oubliez pas de remplacer le nom de fichier par la version en cours. Pour cela, allez sur cette page et recuperez le nom de fichier à télécharger si différent.

Décompressez l'archive :

unzip CalDavZAP_0.9.1.2.zip

Cela va créer un répertoire nommé caldavzap.

Configuration de Caldavzap

Placez-vous dans le répertoire de Caldavzap afin d'éditer le fichier de configuration :

cd /usr/share/davical/htdocs/caldavzap && nano -c config.js

Le fichier de configuration permet de changer certains paramètres. Nous allons juste détailler quelques points importants :

Vers la ligne 87, la langue par défaut :

var globalInterfaceLanguage='fr_FR';

Vers la ligne 143, le choix de la présentation par défaut (mois, multi-semaines, semaines ou jour) :

var globalActiveView='month';

Vers la ligne 146, le choix d'un double clic ou d'un simple pour créer un nouvel évènement :

var globalOpenFormMode='double';

Vers la ligne 195, le choix du fuseau horaire :

var globalTimeZone='Europe/Paris';

Configuration du serveur Web

Il faut maintenant créer un VirtualHost pour Apache, comme indiqué ici

Nous prendrons en compte que vous avez créé un sous-domaine du type caldavzap.serveur.org (pour la création des sous-domaines, se référer à cette section

nano /etc/apache2/sites-available/caldavzap

et mettre dedans :

<VirtualHost *:80>
    ServerName caldavzap.serveur.org
    DocumentRoot /usr/share/davical/htdocs/
    RewriteEngine on
    RewriteRule   ^/$  /caldavzap/  [R]
            <Directory /usr/share/davical/htdocs/>
            AllowOverride Indexes FileInfo Limit
            Order allow,deny
            allow from all
            </Directory>
</VirtualHost>

Explications :

Le service sera accessible par l'URL : http://caldavzap.serveur.org

Vu que caldavzap utilise les fichiers de Davical pour son fonctionnement, il faut lui indiquer comme répertoire racine celui de Davical : /usr/share/davical/htdocs

RewiteEngine et RewiteRule permet de dire que quand on veut accéder à caldavzap.serveur.org, Apache va nous rediriger vers un répertoire fils c'est à dire le répertoire caldavzap situé dans le répertoire racine (/usr/share/davical/htdocs)

Vous pouvez maintenant accéder à votre service, il vous sera demandé votre identifiant et mot de passe utilisé sous Davical.

Installation et configuration avec un autre serveur

Radicale

Ne semble pas fonctionner pour le moment…

Baïkal

Ne semble pas fonctionner pour le moment…

Agendav

Client Web plutôt pensé pour le serveur Radicale et marche très bien avec Davical. L'interface est ergonomique et agréable. Cependant, elle nécessite une base de données sqlite ! Possibilité de créer de nouveaux calendriers et de créer et manipuler les partages de calendriers.

Des copies d'écran se trouvent sur le site d'Agendav : http://agendav.org/

Toute la documentation se trouve sur cette page mais elle n'existe qu'en anglais.

Dans toute la suite, vous devez être en root ou bien utiliser "sudo" au début de chaque commande (si votre utilisateur est dans le groupe sudo bien sur… plus d'infos ici.

Installation

Placez-vous dans un répertoire où vous allez installer Agendav, téléchargez-le et décompressez l'archive et renommez le répertoire :

cd /var/www/mon-site
wget github.com/adobo/agendav/tarball/1.2.6.2
tar xzf adobo-agendav-...tar.gz
mv adobo-agendav-84f869e/ agendav

Bien évidemment, vérifiez la version en cours avant de taper ces commandes en allant sur cette page

Ensuite, il va falloir vérifier que vous avez bien un serveur de base de données installé (Mysql ou Postgresql) aux versions indiquées sur la documentation d'Agendav

apt-cache show mysql-server

ou

apt-cache show postgresql

Configuration de la base de données en utilisant Mysql

Connectez-vous à la base, cela va vous demander le mot de passe root pour Mysql

mysql --default-character-set=utf8 -uroot -p

Après avoir tapé votre mot de passe, vous êtes donc connecté à la base et le prompt (début de votre ligne de terminal) commence par mysql>. Par la suite, on crée un nouvel utilisateur (dans ce cas, nommé agendav) qui possedera le mot de passe motdepasse (à remplacer par ce que vous voulez)

GRANT ALL PRIVILEGES ON agendav.* TO agendav@localhost IDENTIFIED BY 'motdepasse';

On crée ensuite la base de données pour Agendav :

CREATE DATABASE agendav CHARACTER SET utf8 COLLATE utf8_general_ci;

Et on finit par la commande suivante suivie de Control+D (ou exit) pour sortir.

FLUSH PRIVILEGES;

Enfin, on finit par configurer la base de données avec un fichier présent dans le répertoire d'Agendav. Déplacez-vous dans celui-ci :

cd /var/www/mon-site/agendav

puis tapez :

mysql --default-character-set=utf8 -uagendav -p agendav < sql/mysql.schema.sql

Cela va vous demander le mot de passe choisi avant pour l'utilisateur de base de données agendav.

Configuration de la base de données en utilisant Postgresql

Connectez-vous à la base de données Postgresql.

su postgres

suivi de :

psql

Puis tapez les commandes suivantes qui ont la même fonction que celle pour Mysql ci-dessus

CREATE USER agendav WITH PASSWORD 'motdepasse';
CREATE DATABASE agendav ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE agendav TO agendav;
\q
exit

Par la suite, il faut éditer un fichier nommé pg_hba.conf et se trouvant généralement dans /etc/postgresql/numéro-de-version/main/ :

nano -c /etc/postgresql/9.1/main/pg_hba.conf

Trouvez la ligne contenant ceci (environ la ligne 87) :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

et mettre cela juste après :

local   agendav     agendav     trust

Ensuite, comme avec Mysql, chargez le schéma initial après vous être placé dans le répertoire d'Agendav :

cd /var/www/mon-site/agendav
psql -U agendav agendav < sql/pgsql.schema.sql

Configuration d'Apache

Pour joindre le service Agendav, il y a deux solutions, comme expliqué sur cette page.

Soit, créer un VH spécifique :

nano /etc/apache2/sites-available/agendav

et y mettre :

<VirtualHost *:80>
    ServerName agendav.mon-example.org
    DocumentRoot /var/www/agendav/web/public/
    ErrorLog logs/agendav_error_log
    CustomLog logs/agendav_access_log common
</VirtualHost>

N'oubliez pas de créer votre sous-domaine comme indiqué dans cette section.

Sinon, utilisez un alias que vous indiquerez dans un autre VH comme par exemple :

Alias /agendav /var/www/agendav

Configuration d'Agendav

Le plus important réside dans le fichier caldav.php situé dans le sous-répertoire web/config d'Agendav.

nano -c /var/www/agendav/web/config/caldav.php

On indique tout d'abord le type d'authentification vers la ligne 29. Si vous utilisez Davical comme serveur, indiquez cela :

$config['caldav_http_auth_method'] = CURLAUTH_BASIC;

Puis on va indiquer les URL d'accès aux collections d'agendas du serveur. Dans les lignes suivantes, il faut indiquer l'adresse de vos agendas (nous prendrons en compte que l'on utilise un serveur Davical joignable par un sous-domaine nommé cal. Notons également que le symbole %u, par exemple, constitue une variable c'est à dire que ce sera remplacé par votre identifiant lors de votre connection. Ainsi, vous allez pouvoir vous identifier à Agendav avec les mêmes paramètres que sur le serveur.

ligne 53 :

$config['caldav_principal_url'] = 'http://cal.mon-example.org/caldav.php/%u/';

ligne 72 :

$config['caldav_calendar_url'] = 'http://cal.mon-example.org/caldav.php/%s/';

ligne 86 :

$config['public_caldav_url'] = 'http://cal.mon-example.org/caldav.php/%s/';

enfin, ligne 101, pour activer la possibilité de partager des agendas :

$config['enable_calendar_sharing'] = TRUE;

Sur la fin du fichier, vous pouvez gérer finement les permissions.

Voilà pour la configuration générale. Ensuite, il existe un autre fichier (config.php) pour les configurations plus précises mais non essentielles. Ce fichier est aussi situé dans le sous-dossier web/config/. Tout est bien expliqué dedans mais cela reste en anglais donc nous allons préciser les points les plus importants.

nano -c /var/www/agendav/web/config/config.php

(à adapter en fonction de l'emplacement de votre répertoire d'Agendav)

ligne 24, on indique l'adresse d'accès d'Agendav (issu du point précédent) :

$config['base_url']    = 'http://agendav.mon-example.org/';

ou

$config['base_url']    = 'http://www.mon-example.org/agendav';

ligne 125, on peut changer ce qui est indiqué dans le footer :

$config['footer'] = 'Calendriers autohebergés';

ligne 250, le premier jour de la semaine 0=dimanche, 1=lundi :

$config['default_first_day'] = 1;

ligne 262, le fuseau horaire par défaut :

$config['default_timezone'] = 'Europe/Paris';

Vous pouvez maintenant joindre l'adresse du service et naviguer dans vos agendas.

Utilisation

Point important : il n'est pas possible de choisir le nom de la collection si on l'a créée par Agendav (le nom ne correspondra qu'à l'affichage sous Agendav mais ce dernier va créer une collection avec un nom aléatoire du type "48E62EBF-5BD8-4B11-9B5C-73FD93B97850" ce qui n'est pas très pratique si l'on veut accéder à ses collections avec un autre client par la suite…

Avec le serveur Davical

Dans le fichier de configuration du serveur (web/config/caldav.php) mettre ceci pour les lignes en question (à adapter) :

$config['caldav_http_auth_method'] = CURLAUTH_BASIC;
…
$config['caldav_principal_url'] = 'http://davical.example.org/caldav.php/%u/';
…
$config['caldav_calendar_url'] = 'http://davical.example.org/caldav.php/%s/';
…
$config['public_caldav_url'] = 'http://davical.example.org/caldav.php/%s/';
…
$config['enable_calendar_sharing'] = TRUE;

Avec le serveur Radicale

Dans le fichier de configuration du serveur (web/config/caldav.php) mettre ceci pour les lignes en question (à adapter) :

$config['caldav_http_auth_method'] = CURLAUTH_BASIC;
…
$config['caldav_principal_url'] = 'http://radicale.example.org/caldav.php/%u/';
…
$config['caldav_calendar_url'] = 'http://radicale.example.org/caldav.php/%s/';
…
$config['public_caldav_url'] = 'http://radicale.example.org/caldav.php/%s/';
…
$config['enable_calendar_sharing'] = FALSE;

Attention, ne soyez pas surpris·e ! Si vous vous trompez de mot de passe, Agendav vous loggera tout de même mais il vous sera impossible de créer des collections. De même si vous n'avez pas de compte utilisateur sous Radicale.

Avec le serveur Baïkal

Dans le fichier de configuration du serveur (web/config/caldav.php) mettre ceci pour les lignes en question (à adapter) :

$config['caldav_http_auth_method'] = null;
…
$config['caldav_principal_url'] = 'http://baikal.example.org/cal.php/calendars/%u/';
…
$config['caldav_calendar_url'] = 'http://baikal.example.org/cal.php/calendars/%s/';
…
$config['public_caldav_url'] = 'http://baikal.example.org/public.php/%s/';
…
$config['enable_calendar_sharing'] = FALSE;

Avec le serveur Baïkal il faut mettre null pour le type d'authentification et désactiver le partage des calendrier (car Baïkal ne le gère pas)

Clients lourds

Evolution

Client par défaut sous Gnome. Tout en 1 (mails, contacts, calendrier, TODO…).

Installation

apt-get install evolution

Utilisation

Allez dans le module calendrier d'Evolution puis dans la liste des calendriers sur la gauche, faire un clic droit puis "nouveau" :

evolution-caldav-1.png

Puis choisir caldav et entrer vos paramètres :

evolution-caldav-2.png

Avec le serveur Davical

Mettre comme URL la forme suivante :

http://davical.example.org/caldav.php/

puis cliquez sur "rechercher un calendrier sur le serveur" et vous aurez la liste de vos calendriers. Vous pouvez aussi rentrer directement l'URL de votre calendrier :

http://davical.example.org/caldav.php/user/calendrier

Avec le serveur Radicale

Mettre comme URL la forme suivante :

http://radicale.example.org/user/ ou suivant votre configuration Apache pour Radicale, http://example.org:5232/user/

puis cliquez sur "rechercher un calendrier sur le serveur" et vous aurez la liste de vos calendriers. Vous pouvez aussi rentrer directement l'URL de votre calendrier :

http://radicale.example.org/user/calendrier

Si le calendrier n'existe pas, il sera créé.

Avec le serveur Baïkal

Mettre comme URL la forme suivante :

http://baikal.example.org/cal.php/calendars/user/

puis cliquez sur "rechercher un calendrier sur le serveur" et vous aurez la liste de vos calendriers. Vous pouvez aussi rentrer directement l'URL de votre calendrier :

http://baikal.example.org/cal.php/calendars/user/calendrier/

Avec le serveur Owncloud

L'adresse que vous devez donner pour accéder à votre agenda se trouve via l'interface de vos agendas dans Owncloud :

owncloud-caldav.png

Thunderbird / Lightning

Lightning est une extension pour Thunderbird. S'intègre bien dans Gnome. L'installation se fait via le menu des extensions de Thunderbird ("Outils" > "Modules complémentaires" puis faire la recherche dans le catalogue)

Sous Debian, l'équivalent de Thunderbird se nome Icedove et l'équivalent de Lightning se nomme iceowl-extension. Pour l'installer :

sudo apt-get install iceowl-extension

Une fois installé, vous pouvez l'afficher par le menu "events and tasks" ou par le raccourci [CTRL]+[MAJ]+C.

Utilisation

Pour ajouter un calendrier :

iceowl1.png

Choisissez "sur le réseau" :

iceowl2.png

Choisissez le protocole Caldav et entrez votre URL de calendrier :

iceowl3.png

Avec le serveur Davical

L'adresse que vous devez donner pour accéder à votre agenda est (à adapter selon votre configuration) :

http://davical.example.org/caldav.php/user/agenda/

Vous pouvez activer la recherche de vos agendas en mettant l'URL suivante et en cliquant sur "rechercher" :

http://davical.example.org/caldav.php/user/

Avec le serveur Radicale

L'adresse que vous devez donner pour accéder à votre agenda est (à adapter selon votre configuration) :

http://radicale.example.org/user/agenda/ ou suivant votre configuration Apache pour Radicale http://mon.example.org:5232/user/agenda/

ATTENTION ! Le dernier slash de l'URL est très important, sans quoi l'agenda ne sera pas reconnu ou créé. N'oubliez pas que si l'agenda n'existe pas, il sera automatiquement créé.

Il semble que la recherche d'agendas ne fonctionne pas avec le serveur Radicale.

Avec le serveur Baïkal

L'adresse que vous devez donner pour accéder à votre agenda est (à adapter selon votre configuration) :

http://baikal.domaine.com/cal.php/calendars/utilisateur/agenda

Remplacez utilisateur par votre nom d'utilisateur créé dans Baïkal et agenda par le nom de l'agenda que vous voulez contrôler.

Il semble que la recherche d'agendas ne fonctionne pas avec le serveur Baïkal.

Avec le serveur Owncloud

L'adresse que vous devez donner pour accéder à votre agenda se trouve via l'interface de vos agendas dans Owncloud :

owncloud-caldav.png