Installez votre synchronisateur de contacts chez vous avec Baikal

Lorsque l’on devient un véritable technophile bassement matérialiste, on se met à accumuler tout un tas d’engins électroniques : téléphone portable, tablette, PC, Mac, montres, lunettes ou strings panthères connectés etc…

Qu’ont toutes ces machines en commun ? Les contacts !

Qu’il s’agisse des adresses email sur votre messagerie de PC portable/fixe/Mac/ultra portable… ou encore des numéros de téléphone sur votre Android phone/iPhone/Windows phone, tablettes etc… Il y en a partout c’est un besoin fondamental pour les appli de partage d’informations avec un tiers (toutes les appli quoi ^^).

Ca devient alors très vite contraignant d’organiser tout ce beau monde, de synchroniser et de mettre à jour tous les appareils sans doublons, crises de nerfs, pertes d’infos, de temps et de cheveux.

C’est pourquoi il peut être intéressant d’utiliser un synchronisateur de contacts tels qu’en propose Google, Apple, Windows, à ceci près que nous allons l’installer sur notre propre serveur/hébergeur gratuitement, ceci nous permettra :

  • De nous désolidariser de services qui peuvent s’arrêter à tout moment sans vous demander votre avis (cf Google Reader)
  • D’avoir gratuitement un espace illimité pour stocker vos contacts
  • De bénéficier des avantages du “cloud” (terme fourre-tout on est d’accord mais ça vous parle non ?) sans en subir les inconvénients : données sujettes au patriot act, revendues aux publicitaires, consultées par des personnes peu scrupuleuses, toucher rectal quotidien etc…

Oui MAIS !! Aujourd’hui les solutions de synchronisation de contacts type cardDav (format standard de carte de contact)/calDav (format standard de calendrier) gratuites, propres, stables et installables sur votre serveur/hébergement ça ne court pas les rues.

Evidemment, il y a des solutions type owncloud mais encore peu matures donc relativement boguées/peu stables, auxquelles je ne fais pas tout à fait confiance de mon côté.

En revanche un utilisateur m’a récemment fait découvrir Baikal qui, bien qu’il ne soit pas très vieux et utilise la même librairie qu’owncloud (sabreDAV, une excellente librairie pour gérer les standards calDav, webDav, calDav au passage), il se contente de faire le minimum (pas de gestion de fichiers) et il le fait donc très bien Sourire.

Baikal permet de gérer simplement la synchronisation, la centralisation et le stockage de vos contacts (ainsi que de votre calendrier si vous le souhaitez) et ce à l’aide d’un format standard et très accessible quel que soit votre appareil/système d’exploitation.

image

Le script reste relativement simple, il peux gérer plusieurs utilisateurs ayant chacun plusieurs carnets d’adresses / calendriers et propose une petite dashboard de statistiques.

image

Ce script sous licence GPL a l’avantage d’avoir été créé avec la librairie js/css boostrap qui rend l’application très jolie et responsive (adaptable tout écran tablette, smartphone, PC, etc…).

Il est installable avec une base de donnée SQL lite (simple fichier) ou avec une base MySQL au choix.

Il est à noter tout de même deux gros points faibles pour l’application :

  1. Actuellement, impossible de gérer vos contacts directement depuis l’interface web, il faudra passer par un client (votre carnet d’adresses de portable, votre cardnet de messagerie PC ou autre) pour ajouter/supprimer/modifier les contacts, sans être bloquant c’est un peu déstabilisant de ne pas avoir de visuel direct des contacts sur l’interface web.
    La liaison du script à d’autres machines n’est pas forcement très claire (nous allons  tenter d’y remédier partiellement dans ce tuto Tire la langue).

Voyons un peu comment installer tout ça Sourire.

Installation

image

  • Décompressez l’archive téléchargée dans le répertoire web de votre hébergement ou de votre serveur (/var/www par défaut avec apache).
  • Créez un fichier vide nommé “ENABLE_INSTALL” (en majuscule, sans extension) dans le dossier “Specific” de baikal afin d’autoriser le script à s’installer.
  • image
  • Accédez à l’adresse :
  • http://ip.de.votre.serveur/baikal-flat (si vous avez renommé le dossier de baikal, changez “baikal-flat” par ce que vous avez mis).
  • Remplissez le formulaire avec les infos que vous souhaitez
  •  image
  • Server Time Zone : le fuseau horaire de votre serveur (Europe/Paris pour les français)
    Enable CalDav : cochez cette case pour utiliser le synchronisateur de calendriers
  • Enable CardDav : cochez cette case pour utiliser le synchronisateur de contacts
  • Admin password : mot de passe administrateur pour accéder à l’interface web baikal
  • Admin password confirmation : confirmation du mot de passe administrateur pour accéder à l’interface web baikal
  • Enable Web Interface: activer l’interface web (recommandé)
  • Web interface autolock : cochez cette case si vous souhaitez interdire les accès admin à l’interface et l’autoriser uniquement lorsqu’un fichier “ENABLE_ADMIN” se trouve dans le dossier Spécific (peut être utile si vous ne vous identifiez pas souvent en tant qu’admin, mais mieux vaut laisser décoché au cas où Tire la langue)
  • Cliquez sur suivant, vous arrivez à la configuration de la base de données Sourire
  • image
  • Si vous souhaitez utiliser SQlite, vous pouvez directement cliquer sur suivant, si vous préférez MySQL, cochez la case « ”Use MySQL”, un formulaire tout rouge va alors apparaître, remplissez-le avec les infos de connexion à votre base MySQL

image

L’installation de Baïkal est maintenant terminée, notez qu’on vous demandera peut être à un moment de donner des permissions sur certains dossiers de l’application, il vous faudra donc utiliser la commande “chmod –R 777 /chemin/vers/le/dossier/baikal” si vous êtes sur un serveur, ou passer par un programme de gestion de droits ftp comme fileZilla si vous êtes sur un hébergement simple sans accès à la ligne de commande.

image

Création d’un utilisateur

Afin de créer des carnets d’adresses, il va falloir en premier lieu créer un utilisateur lié à ce carnet (car baikal est multi-utilisateurs), on clique donc sur “start using baikal”, on s’identifie avec le mot de passe Admin qu’on a rentré à l’utilisation et on arrive sur l’interface

image

Un clic sur l’onglet “Users and ressources” nous amène sur la page de gestions des utilisateurs et des carnets/calendriers, on clique sur le bouton  image pour ajouter un nouvel utilisateur :

image

retenez bien le “Username” et le “Password” que vous tapez, ce sont les identifiants qui vous serviront par la suite à connecter vos machines aux carnets d’adresses et calendriers créés.

NB : Gardez le username le plus simple possible, évitez les majuscules, accents, caractères spéciaux etc…

Création d’un carnet d’adresses/calendrier pour l’utilisateur

Une fois l’utilisateur créé, une barre image apparaît, cliquez sur l’un ou sur l’autre pour créer un calendrier ou un carnet d’adresses pour l’utilisateur.

Par défaut, vous avez déjà un carnet d’adresses et un calendrier créés pour cet utilisateur, ils ont tout deux pour identifiant le nom “default” dont nous nous servirons plus tard, si vous créez de nouveaux carnets/calendriers, retenez bien l’identifiant que vous leur attribuez.

Utilisation avec la messagerie thunderbird

Je ne peux pas vous donner l’installation pour toutes les messageries existantes, mais je vous donne un exemple avec (selon moi) la meilleure d’entre toutes : thunderbird Sourire, si vous n’avez pas cette messagerie installez la, il vous la faut, le processus est sensiblement identique aussi je vous conseille de suivre cette partie.

Synchroniser les contacts

Thunderbird ne gère pas les formats cardDav par défaut, il va donc falloir télécharger et installer l’extension gratuite “SOGo Connector” sur votre Thunderbird, le redémarrer puis cliquer sur l’onglet “Outils—>Carnet d’adresses” et dans la fenêtre qui s’ouvre “Fichier—>Nouveau—>Carnet d’adresses distant”

image

Puis taper l’adresse de votre carnet d’adresses, dans mon cas j’ai gardé celui par défaut :

image

C’est cette adresse qui est très mal spécifiée dans la doc et dans le panel de baikal, aussi faites très attention à l’adresse et aux spécifications suivantes :

http://127.0.0.1/baikal-flat/card.php/addressbooks/WebPoint/default/

http://127.0.0.1/baikal-flat/  Adresse vers votre panel web baikal

card.php/addressbooks/: chemin obligatoire vers les carnets d’adresses (ne pas changer)

WebPoint/: Nom de l’utilisateur créé précédemment (le fameux username)

default/: Identifiant du carnet d’adresses ciblé (ou à garder celui par défaut dont l’identifiant était default).

NB : le “/” en fin d’adresse est obligatoire.

A la prochaine synchro, thunderbird vous demandera de spécifier le username et le password de l’utilisateur que vous avez créé afin de le conserver en mémoire.

Tous les contacts que vous mettrez dans ce carnet d’adresses thunderbird seront alors automatiquement synchronisés avec le carnet baikal et réciproquement.

Pour être sûr que ça fonctionne, créez un contact dans le carnet thunderbird, puis retournez voir sur le panel web baikal si vous avez un ou plusieurs contacts, c’est que ça a fonctionné :

image

Notez bien que la synchro peut mettre un peu de temps, vous pouvez faire clic droit sur le carnet d’adresses et “synchroniser” pour forcer la synchro.

Synchroniser le calendrier

Encore une fois, Thunderbird ne possède pas de calendrier natif, il faut donc ajouter le plugin “lightning” qui va ajouter un calendrier à votre messagerie, redémarrez votre thunderbird, cliquez sur l’onglet agenda puis dans les agendas de gauche clic droit—>Nouvel agenda—>Sur le Réseau

image

Sélectionnez “CalDav” et rentrez l’adresse de votre calendrier baikal

image

Cette adresse aussi est très mal spécifiée dans la doc et dans le panel de baikal, aussi faites très attention à l’adresse et aux spécifications suivantes :

http://127.0.0.1/baikal-flat/cal.php/calendars/WebPoint/default/

http://127.0.0.1/baikal-flat/ Adresse vers votre panel web baikal

cal.php/calendars/: chemin obligatoire vers les calendriers (ne pas changer)

WebPoint/: Nom de l’utilisateur créé précédemment (le fameux username)

default/: Identifiant du calendrier ciblé (ou à garder celui par défaut dont l’identifiant était default).

NB: le “/” en fin d’adresse est obligatoire.

Vous pouvez cocher “Prise en charge du mode hors connexion” historie d’avoir accès a vos évènements même lorsque la connexion internet est coupée.

A la prochaine synchro, thunderbird vous demandera de spécifier le username et le password de l’utilisateur que vous avez créé afin de le conserver en mémoire.

Utilisation sur un téléphone Android

Sur un téléphone Android, le mieux est encore d’installer l’application “CardDAV-Sync free beta” qui en dépit de son nom inquiétant fonctionne plutôt bien Sourire

Rentrez la même adresse que pour les contacts de thunderbird  http://127.0.0.1/baikal-flat/card.php/addressbooks/WebPoint/default/ (avec les changements qui s’imposent)

http://127.0.0.1/baikal-flat/ Adresse vers votre panel web baikal

card.php/addressbooks/: chemin obligatoire vers les carnets d’adresses (ne pas changer)

WebPoint/: Nom de l’utilisateur créé précédemment (le fameux username)

default/: Identifiant du carnet d’adresses ciblé (ou à garder celui par défaut dont l’identifiant était default).

Pensez à décocher la case “Use SSL” (à moins que votre baikal ne soit installé avec un https) et à spécifier le username et le password de l’utilisateur que vous avez créé.

Utilisation sur un Apple, iPhone…

Toutes les infos disponibles ici : https://github.com/jeromeschneider/Baikal/blob/master/INSTALL.md#5—connecting-your-caldav–carddav-client-to-bakal

nb : sur Mac OS X 10.8 et Calendar (ex-iCal) l’adresse pour le CalDAV  il semble qu’il faille dans certains cas utiliser « principals » au lieu de « calendars ».
Soit en adresse serveur : toto.com
Server path : /baikal/cal.php/principals/toto

Utilisation avec la messagerie web RoundCube

Pour synchroniser vos contacts avec RoundCube vous devrez installer le plugin Roundcube-CardDAV qui fonctionne très bien :)

  1. Téléchargez le plugin et décompressez-le dans le répertoire « plugins » de votre RoundCube, renommez le dossier carddav pour plus de simplicité
  2. Renommez le fichier plugins/carddav/config.inc.php.dist en plugins/carddav/config.inc.php
  3. Dans la même base MySQL que RoundCube, exécutez le sql contenu dans le fichier plugins/carddav/SQL/mysql.sql
  4. Activez le plugin en ajoutant ‘carddav’ dans le tableau « $rcmail_config[‘plugins’] » du fichier /config/main.inc.php (L379 par là)

Le plugin est maintenant correctement installé, loguez-vous sur RoundCube puis allez dans l’onglet « Préférences » puis le menu de gauche « Carddav » et renseignez les infos du formulaire:Capture Label : Nom du carnet d’adresses affiché sur RoundCube (mettez ce que vous voulez)

Serveur : Adresse du carnet baikal.

Cette adresse aussi est très mal spécifiée dans la doc et dans le panel de baikal, aussi faites très attention à l’adresse et aux spécifications suivantes :

http://127.0.0.1/baikal-flat/card.php/addressbooks/WebPoint/default/

http://127.0.0.1/baikal-flat/ Adresse vers votre panel web baikal

card.php/addressbooks/: chemin obligatoire vers les calendriers (ne pas changer)

WebPoint/: Nom de l’utilisateur créé précédemment (le fameux username)

default/: Identifiant du calendrier ciblé (ou à garder celui par défaut dont l’identifiant était default).

NB : le “/” en fin d’adresse est obligatoire.

Utilisateur : login de l’utilisateur lié à ce carnet sous baikal

Mot de passe : mot de passe de l’utilisateur lié à ce carnet sous baikal.

Cliquez sur enregistrer, attendez quelques secondes puis allez dans vos carnets d’adresses : it works !!

Capture

Notez que si vous souhaitez que ça synchronise régulierement, il vous faudra mettre en place un CRON (tâche planifiée) qui exécutera le php /chemin/vers/roundcube/plugins/carddav/cronjob/synchronize.php

Pour ceci lancez une console sur votre serveur web puis tapez :

crontab -e

et ajoutez la ligne

0 4 * * * php /var/www/roundcube/plugins/carddav/cronjob/synchronize.php

Au fichier de crontab ouvert, en remplaçant la partie en gras par le chemin de votre RoundCube puis sauvegardez.

Notez que le cron que je propose synchronise une fois par jour à 4h00 du mat (peu de chance que vous soyez en train de modifier vos contacts à cette heure là, si vous avez « pécho des 06 en boites » normalement c’était quelques heures plus tôt, à 4h00 vous êtes en train de vomir votre vodka sur un parcmètre donc tout va bien).

Notez que vous devez avoir le paquet php5-cli pour pouvoir exécuter le php en ligne de commande comme ça, si ça ne marche pas pensez donc à l’installer via la commande sudo aptget install php5-cli

Si vous souhaitez participer

Je vous encourage à participer au code, aux retours de bugs etc du projet via sa page GitHub : https://github.com/jeromeschneider/Baikal

 

Une alternative qui a l’air franchement sympa

Je tiens à mettre valeur le commentaire de nono sur une alternative qui a l’air également super convaincante : Radical :

Je me permets de vous faire découvrir Radicale qui est l’équivalent de Baikal, mais en plus simple et plus robuste.

Plus simple parce qu’il n’y a même pas d’interface web (pas franchement utile pour une appli de type web-service).

Plus robuste parce qu’elle n’utilise pas de base de données (sqlite), mais uniquement un stockage en fichier plat, ce qui est très logique vu que les données à stocker ne sont que faiblement relationnelles.

Et enfin, cerise sur le gateau, Radical permet de créer des collections (de contacts ou d’évènement) publiques (donc accessibles à tous), privées (donc accessibles uniquement aux personnes authentifiées, ou personnelles (donc accessibles uniquement à par son propriétaire).

Cela permet donc de partager (sommairement) des contacts ou des évènements.

Et comment on crée une collection ? En accédant à son adresse, tout simplement.

Radicale, le plus KISS des caldav/carddav server…

 – nono


Follow us on Facebook

www.webpoint.fr
webpoint.e-monsite.com  www.prestatic.fr  www.epart.fr/demo 4  www.support-prestashop.fr  www.maxibazare.com  www.conseils-web.fr  referencement-annuaire-web.fr  facebook.com/Webpointfr-622797134842872  facebook.com/prestatic.fr  webpointfr.simplesite.com  webpoint.e-monsite.com  contact29364.wixsite.com/www-webpoint-fr  webpoint.space  webpoint.byethost7.com  akimania.webnode.fr  Dropshipping shopify Retour