lo-ol

"Soyez insatiables, soyez fous"

Attention, ce billet date de plus de 3 mois.
Les informations qu'il contient ne sont peut-être plus à jour.


Clients web cardDAV et calDAV pour Baïkal

Rédigé par lolo • 06 mars 2015 • 7 commentaires

Pour stocker et synchroniser mes contacts et calendriers sur mon nas, j'utilise le serveur Baïkal. J'en suis pleinement satisfait car il est sobre et efficace (KISS), utilise les protocoles ouverts cardDAV et calDAV, ... En revanche, il se limite à son rôle de serveur (administration et gestion des utilisateurs) et ne permet pas de voir ou consulter les agendas et les contacts. Pour cela, il faut passer par des applications clientes tierces. Sur mon pc portable, j'utilise Thunderbird avec l'extension Lightning (pour les calendriers) et SOGo Connector (pour les contacts). Sur mon smartphone Firefox OS, j'utilise l'appli native pour synchroniser les calendriers et l'application SyncDav pour les contacts (voir mon précédent article). Mais je n'avais pas encore trouvé de clients web opensource gérant les protocoles CardDAV et CalDAV.

Ce n'est plus le cas désormais car j'ai trouvé deux pépites : CalDavZAP et CardDavMATE. Ces clients web opensource, simples, légers et fonctionnels répondent exactement à mon besoin et respectent la philosophie KISS.

Pour les installer, rien de bien compliqué et tout est décrit dans l'aide. A titre d'exemple, voici ce que j'ai dû faire sur mon serveur :

  • récupérer, dézipper les dossiers caldavzap et cardavmate et les placer à la racine du répertoire web.
  • attribuer les droits au groupe web sur les dossiers caldavzap et carddavmate.
  • modifier les fichiers config.js des deux dossiers selon mes besoins. Le paramètre important à définir est celui qui indique l'adresse du serveur Baïkal :

  - pour caldavzap, j'utilise la variable globalNetworkCheckSettings :

var globalNetworkCheckSettings={href: 'http://www.mon-serveur.com/baikal/cal.php/principals/', ...}

   - pour carddavmate, j'utilise la même variable avec comme url :

var globalNetworkCheckSettings={href: 'http://www.mon-serveur.com/baikal/card.php/principals/', ...}

Et voilà, c'est tout ! Vous pouvez désormais accéder à l'interface de vos deux clients fraîchements installés et vous connecter avec votre login/mdp d'utilisateur Baïkal. Le reste, c'est que du bonheur.

Un petit up dans ma todo list "Degooglization" :

Gestion d'agendas web :    Google Agenda -> CalDavZAP

Gestion de contacts web : Google contacts -> CardDavMATE

 

7 commentaires

#1 mardi 28 avril 2015 @ 18:22 sebastien a dit :

J'essaye, j'essaye, et ca ne marche pas ! meme avec d'autres syntaxes, en redéfinissant Webdav AUthentication Type de Digest à Basic (Digest c'est ce que j'ai trouvé qui marchait lorsque j'accédais à mon serveur depuis Iphone) ... je suis désespéré ! Je reviens toujours sur le login ...
Merci quand même :-)

#2 vendredi 01 mai 2015 @ 18:42 lolo a dit :

@sebastien :

Bonjour,

Je viens de faire une mise à jour de calDavZAP et cardDavMATE et je n'ai pas eu de problèmes particuliers. Tout d'abord, il faut effectivement que Baïkal soit configuré en Webdav authentication type "Basic". Ensuite, on décompresse les sources des applis à la racine du répertoire web et on attribue les droits au groupe web (sur mon nas Synology, cela revient à faire un chown -R http:http sur les dossiers caldavzap et carddavmate). La principale difficulté est de bien configurer le fichier config.js de chacun des deux dossiers.
Dans mon cas, j'ai uniquement modifié la définition de la variable globalNetworkCheckSettings.

Par exemple, pour carddavMATE, j'ai :

var globalNetworkCheckSettings={href: 'http://www.mon-serveur.com/repertoire_baikal/card.php/principals/', hrefLabel: null, crossDomain: null, additionalResources: [], forceReadOnly: null, withCredentials: false, showHeader: true, settingsAccount: true, syncInterval: 60000, timeOut: 30000, lockTimeOut: 10000, delegation: false}

Une fois que le fichier config.js est mis à jour, il faut faire attention à réinitialiser le cache pour que le navigateur utilise la version à jour. Pour cela, il y a plusieurs manière de faire. Soit on execute le script "cache_update.sh" présent dans les dossiers ou alors on édite le fichier "cache.manifest" et on modifie la version renseignée dans la deuxième ligne du fichier (commençant par "#V 20").

#3 mercredi 08 juin 2016 @ 10:42 Vincent a dit :

Bonsoir.
Je suis également bloqué sur la page de login de CalDavZap.
Dans Baikal, j'ai modifié l'authent de 'Digest' à 'Basic'
Et j'ai renseigné la variable globalNetworkCheckSettings comme ceci
var globalNetworkCheckSettings={
href: https://url_de_mon_serveur/baikal/cal.php/calendars/',
timeOut: 90000,
lockTimeOut: 10000,
checkContentType: true,
settingsAccount: true,
delegation: true,
additionalResources: [],
hrefLabel: null,
forceReadOnly: null,
ignoreAlarms: false,
backgroundCalendars: []
}
Je n'ai rien modifié d'autre par rapport au fichier template.

Pour info, depuis Thunderbird, j'ai installé SOGO, et je consulte et modifie bien mon agenda avec cette URL :
https://MON_username:MON_passord@url_de_mon_serveur/baikal/cal.php/calendars/MON_username/default/
Cela fonctionne aussi depuis mon android

#4 mercredi 08 juin 2016 @ 10:47 lolo a dit :

Bonjour,
L'url renseignée dans le champ href me semble suspecte.
Avez-vous essayé avec une url du type : href: 'http://url_de_mon_serveur/baikal/cal.php/principals/' ?

#5 mercredi 29 août 2018 @ 22:49 Garland Meur a dit :

Bonjour à tous
Je vous applaudie par rapport à cet écrit enrichissant

#6 mardi 15 janvier 2019 @ 13:06 Capucine Poitiers a dit :

Tu fais de l’excellent job et c’est pourquoi je suis fan de ce website !

#7 vendredi 06 septembre 2019 @ 16:48 Christophe Montagnon a dit :

Merci beaucoup pour votre article, j’ai incroyablement appris

Écrire un commentaire

Quelle est la quatrième lettre du mot llpas ? :