Synchronisation N900 / Thunderbird / Lightning / (ou autres) avec Funambol

Voici un tutoriel ou retour d’expérience sur la façon dont j’ai répondu à mon besoin de synchronisation avec mon Nokia N900.

1.Le cahier des charges

Je souhaitais pouvoir synchroniser mes contacts, rendez-vous et tâches entre mon poste principal à la maison, le vieux portable qui me sert lorsque je veux regarder d’un oeil une série TV tout en lisant mes flux RSS et pour finir mon nouveau Nokia N900.

A cette exigence s’ajoute celle de pouvoir réaliser cette synchronisation « on air » comme on dit, c’est-à-dire sans avoir à brancher mon N900 sur un poste. De plus il faut que cette synchronisation soit possible même lorsque je me déplace, autrement dit elle doit passer par mon petit serveur dédié au travers d’internet. Elle ne doit pas non plus mettre en oeuvre de service tiers.

Bien entendu cette dernière exigence est luxueuse et j’étais prêt à me contenter d’une synchronisation locale voir par câble en dernier recours.

2.Recherche de solutions

Comme bien souvent cette recherche débute par la saisie de mots clés dans le moteur de recherche de notre ami Google. Une des réponses que l’on trouve le plus rapidement est celle de la synchronisation avec Gmail pour les contacts et Googel Calendar pour les rendez-vous et les tâches. Cette solution est éliminée, j’ai spécifié que je ne voulais pas utiliser de services tiers. J’ai quand même testé cette possibilité et elle n’a pas marché. Du moins, je parvenais bien à faire une première synchronisation, puis les suivantes renvoyées un message d’erreur. Je n’ai pas cherché à solutionner ce problème.

J’ai ensuite trouvé un post sur le forum d’Ubuntu-FR listant un grand nombre de possibilité dont Funambol, une solution développée en Java et mettant en oeuvre le protocole SyncML Je l’avais utilisé pour tester la synchronisation entre mon poste fixe et mon vieux portable. La solution fonctionnait bien. J’ai donc regardé du côté des clients pour terminaux mobiles. Mais hélas et cela n’a rien de très surprenant pas de client prévu pour le N900  dont le système d’exploitation Maemo reste peu répandu sur le marché des smartphone.

Il existe pourtant un client en Java, mais la lecture de quelques discussions dans des forums m’a dissuadé de tenter de l’installer sur le N900 bien que cela semble possible.

C’est en parcourant la liste des clients que je suis tombé sur ma solution : « It supports all data types on Gnome Evolution and some on Maemo/Meego and Mac OS X.« 

3.Ma solution

3.1 Funambol

Commençons par le début : l’installation de Funambol. Le plus simple est de suivre le manuel d’installation et d’administration très complet que l’on peut télécharger en même temps que le package d’installation.

L’installation sur mon serveur sous Debian Lenny n’a posé aucun problème. J’ai téléchargé le package d’installation, lancé son exécution, accepter les termes de la licence et  spécifier le répertoire d’installation (par défaut /opt/Funambol). A la fin de l’installation on vous propose de lancer le serveur. Ne le faites pas tout de suite, l’explication suit. L’installation est terminée.

J’ai installé le serveur Funambol sur mon serveur dédié, mais rien ne vous empêche de l’installer sur votre poste de travail.

L’étape suivante consiste à se connecter au module d’administration pour effectuer une opération indispensable : changer le mot de passe pas défaut du compte admin. Celui-ci est initialisé à la valeur « sa ». Un mauvais point pour la procédure d’installation qui devrait généré un mot de passe et le communiquer à la fin de l’installation. Si le serveur est sur votre PC cela a moins d’importance, mais pour une installation sur un serveur ouvert à Internet, voilà une faille de sécurité bien béante.

Si Funambol est sur un serveur sur Internet, il vous faudra installer Funambol sur votre poste aussi pour avoir accès au programme d’administration.  Je n’ai pas trouvé (ni trop cherché d’ailleurs) comme n’installer que la partie administration de Funambol. Vous trouverez l’outil d’administration dans /opt/Funambol/admin/bin/funamboladmin.

Pour changer le mot de passe admin, connectez-vous à l’outil d’administration, déplier l’arborescence en cliquant sur l’icône correspondant à votre serveur Funambol et double-cliquer sur l’icone « Users ». taper « admin » dans Username puis cliquer sur « Search ». Vous sélectionner la ligne et  cliquer sur « Edit » pour accéder à l’écran permettant de modifier le mot de passe

Administration Funambol

Profitez-en pour créer un nouvel utilisateur qui vous servira pour vous identifier lors de vos synchronisations.

3.2 SyncEvolution

J’ai donc décidé de suivre la piste SyncEvolution pour voir où elle pouvait me mener. C’est un post sur le forum de Maemo qui m’apporte la solution.

La version 0.9.2 de Syncevolution est disponible dans les dépôts Maemo. Pour lancer l’installation de SyncEvolution :

apt-get install syncevolution

Créer ensuite les répertoires suivants dans /home/user (noter le passage sous le compte user pour créer les répertoire et les fichiers de configuration) :

su user
cd ~
mkdir .config/syncevolution
mkdir .config/syncevolution/sync1 #or whatever you'll call it
mkdir .config/syncevolution/sync1/sources
mkdir .config/syncevolution/sync1/sources/addressbook
mkdir .config/syncevolution/sync1/sources/calendar
mkdir .config/syncevolution/sync1/sources/todo

Copier dans le fichier /home/user/.config/syncevolution/sync1/config.ini le contenu du fichier à télécharger ici. Ce fichier définit une configuration de synchronisation.

Le login et mot de passe sont ceux du compte que vous devez avoir créé sur Funambol. De même penser à changer la valeur de SyncURL avec celle de votre serveur Funambol.

Dans /home/user/.config/syncevolution/sync1/sources/addressbook/config.ini (à télécharger ici) modifier  :

uri = card3 à changer par uri = card

Dans /home/user/.config/syncevolution/sync1/sources/calendar/config.ini copier :

sync = two-way
type = maemo-events
evolutionsource = id:1
uri = cal2

et appliquer la modification suivante :

uri = cal2 à changer par uri = cal

Dans .config/syncevolution/sync1/sources/todo/config.ini copier

sync = two-way
type = maemo-tasks
evolutionsource = id:1
uri = task2

et appliquer la modification suivante :

uri = task2 à changer par uri = task

Je fais ces adaptations, car ce sont les uri que je peux voir dans l’administration de Funambol. Si vous n’avez jamais fait de synchronisation auparavant, il est possible que vous puissiez laisser les valeurs par défauts. Par contre, dans mon cas les premières synchronisations ont été faites avec l’extension de Thunderbird où les uri ou remote name sont configurées aux valeurs que j’ai indiquées. Attention, donc à rester cohérent à ce niveau. Si vous laissé card3 sur ne N900, il faudra indiquer card3 dans la configuration de l’extension Thunderbird.

Il ne vous reste plus qu’à lancer la commande

syncevolution sync1

Vous verrez alors défiler la trace des différentes opérations effectuées (ajout/modification/suppression) et un écran de résumé s’affichera à la fin.

Petit truc à savoir pour les débutant sous N900, il est possible d’installer le serveur ssh par le gestionnaire d’application. Si vous avez configuré votre N900 pour se connecter à votre réseau WIFI domestique, vous pourrez ainsi utiliser une console depuis votre poste fixe pour réaliser les opérations indiquées ci-dessous dans un plus grand confort.

Last but not least comme ont dit, la ligne de commande c’est bien pour voir ce qui se passe en détails, mais pas forcément ce qu’il y a de plus pratique pour lancer la synchronisation. Par chance, il existe une interface graphique pour SyncEvolution sur le N900. Son installation est expliquée sur le wiki de Maemo

3.3 Thunderbird/Lightning

Une des raisons qui m’avaient fait mettre de côté Funambol était mon passage sur Thunderbird 3. En effet à ce jour, il n’y a toujours pas de version compatible avec cette version sur le site add-ons de Mozilla. Il existe heureusement une version 1.0 Bêta que j’ai testé dans le cadre de la mise en place de cette solution et avec laquelle pour l’instant je n’ai pas rencontré de problèmes.

La configuration de l’extension est très simple, il suffit de renseigner l’URL de son serveur Funambol de la forme http://nom_du_server:8080/funambol/ds, votre login que vous avez créé à cet effet et le mot de passe associé.

3.4 Autres clients

Je pense que vous aurez compris qu’il est également possible de synchroniser ces contacts, rendez-vous et tâches avec d’autres systèmes d’exploitation de smartphone comme Android. Côté logiciels il en va de même, pour ceux disposant d’un client Funambol ou compatible avec SyncEvolution.

Funambol permet également de gérer la synchronisation au niveau du serveur avec d’autres logiciels comme des groupware open source avec entre-autres : OpenExchange, Zimbra ou SoGo ou encore des CRM (Customer Relationship Management) comme Vtiger. La liste est accessible ici.

4. Récapitulatif des logiciels utilisés et versions

Poste client : Fedora 13, Thunderbird 3.0.4, Lightning 1.0b1, Funambol Mozilla Sync Client 1.0b3

Serveur : Debian Lenny version stable, Funambol Server 8.5.1

N900 : Maemo 5 Version 10.2010.19-1

5. Conclusion provisoire

Il est évident que cela fait pas mal de composants pour synchroniser un smartphone et ce tutoriel amusera surement les fans d’IPhone. Cependant, je suis satisfait que mon jeu de Lego à base de logiciels libres ait abouti. Pour avoir à nouveau remis les doigts dans Funambol, je trouve cette solution  vraiment très complète. Une brique de plus à mon infrastructure informatique familiale libre.


Réagir à cet article

Article original écrit par Philippe Scoffoni le 04/06/2010. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Vus : 356
Publié par Philippe Scoffoni : 544