Synchronisation Google Calendar avec Evolution (Etch)
Cela faisait longtemps que je cherchais une solution efficace de synchronisation de l'agenda Google (Google Calendar) avec mon environnement de travail (Evolution et un PDA Palm LifeDrive). Voilà enfin une solution qui fonctionne à merveille tant dans le cadre d'un agenda Gmail classique que dans le cadre d'un compte Google pour le domaine (Google Apps for your domain). Je tiens à préciser qu'il s'agit d'une synchronisation réelle, c'est à dire dans les 2 sens (two-way).
La révélation a eu lieu ici.
Dans les faits, il suffit d'ouvrir un compte chez ScheduleWorld (gratuit) et de demander ensuite la synchronisation via SyncEvolution.
Pour ce qui concerne l'inscription et le paramétrage chez ScheduleWorld, je ne reviendrai pas dessus car les explications de l'article sont très claires (cf #3. Syncing Google Calendar to ScheduleWorld). Une fois le paramétrage effectué, la section qui nous intéresse doit ressembler au snapshot ci-dessous :
Installer SyncEvolution sur la Etch
1. Installer les paquets nécessaires à la compilation de SyncEvolution :
# apt-get install evolution-data-server-dev
# apt-get install libedataserver1.2-dev
# apt-get install libedata-cal1.2-dev
# apt-get install libedata-book1.2-dev
# apt-get install libcurl3-dev
2. Récupérer et installer le paquet checkinstall de la Sid
# wget http://ftp.fr.debian.org/debian/pool/main/c/checkinstall/checkinstall_1.6.0-2_i386.deb
# dpkg -i checkinstall_1.6.0-2_i386.deb
3. Récupérer SyncEvolution et le compiler :
# wget http://prdownloads.sourceforge.net/sync4jevolution/syncevolution-0.5.tar.gz?use_mirror=ovh
# tar xvzf syncevolution-0.5.tar.gz
# cd syncevolution-0.5
# ./configure --prefix=/usr
# make
4. Installer SyncEvolution
# checkinstall
« dpkg -r syncevolution » permettra d'enlever proprement SyncEvolution de sa machine lorsque Google proposera son propre système de synchronisation (oui... on peut rêver...).
5. Repasser en simple utilisateur pour paramétrer SyncEvolution. On crée dans un premier temps l'arborescence pour les fichiers de paramétrage :
$ cd
$ mkdir -p .sync4j/evolution/gcal/spds/syncml
$ mkdir .sync4j/evolution/gcal/spds/sources
$ mkdir .sync4j/evolution/gcal/spds/sources/addressbook
$ mkdir .sync4j/evolution/gcal/spds/sources/calendar
$ mkdir .sync4j/evolution/gcal/spds/sources/todo
6. Récupérer les fichiers de configuration qui n'ont pas à être modifiés :
$ cd .sync4j/evolution/gcal/spds/sources/addressbook
$ wget http://bcarrere.free.fr/syncevolution/sources/addressbook/config.txt
$ cd ~/.sync4j/evolution/gcal/spds/sources/calendar
$ wget http://bcarrere.free.fr/syncevolution/sources/calendar/config.txt
$ cd ~/.sync4j/evolution/gcal/spds/sources/todo
$ wget http://bcarrere.free.fr/syncevolution/sources/todo/config.txt
7. Récupérer le fichier à modifier :
$ cd ~/.sync4j/evolution/gcal/spds/syncml
$ wget http://bcarrere.free.fr/syncevolution/syncml/config.txt
Il faut éditer ce config.txt pour modifier les lignes « deviceId », « username » et « password » (voir les commentaires dans le fichier).
8. Lancer la synchronisation par :
$ syncevolution gcal
L'installation de SyncEvolution est terminée. On peut bien sûr mettre en place une crontab pour demander la synchronisation à intervalles réguliers.
Bien que ScheduleWorld propose aussi la synchronisation des tâches et du carnet d'adresses, n'espérez pas pour autant synchroniser vos contacts Gmail par ce moyen (Google ne propose pas encore d'API pour accéder aux contacts).
Seul l'agenda sera donc synchronisé dans le cadre de Google Calendar mais cela permet l'essentiel : prendre un RV indifféremment sur son PDA, Evolution ou Google Calendar et ensuite effectuer la synchronisation (PDA <=> Evolution via le greffon Gnome-Pilot et Evolution <=> Google Calendar via SyncEvolution).