11/29/06

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).

4 Commentaires

Thierry Bothorel a dit...

Merci pour cette article qui m'a permis de relancer mes recherches sur la synchronisation et de pouvoir aller jusqu'au bout !

francis a dit...

pour moi tout s'est bien passé.
Sauf le fichier config que je n'ai pas su compléter.
De l'aide ?
francis.deguisne@free.fr
Merci

Hotliner a dit...

Idem je pense sur le fichier de config. La synchronisation me dit successful mais je ne retrouve pas les modifs d'un calendrier sur l'autre.Le hic, c'est le champ deviceId; j'ai du zapper l'info.

mercierv a dit...

personnelement c'est un autre problème que j'ai, quand je fais une synchronisation, et bien il rajoute à chaque fois tout dans google calendar, ce qui fait que j'ai toujours tous à double voir à triple :'( comment faire?
Merci d'avance
mercierv@gmail.com

Post a Comment