Table of Contents
N900 : Synchronisation avec Horde Groupware
N900 maemo horde syncevolution
Le but de cette synchronisation est de pouvoir accéder et modifier via une interface web agréable (surtout avec le thème Silver Surfer) aux contacts, notes, tâches et calendrier et de synchroniser le tout en gardant une base commune.
Pré-requis :
- Un serveur LAMP avec Horde Groupware (Webmail ou non)
- Syncevolution (dépôts extras-testing)
Configuration syncevolution
Syncevolution propose un assistant graphique pour créer facilement un profil de synchronisation en quelques clics en utilisant des templates prédifinis (funambol, memotoo, google, etc).
Néanmoins,pour mieux comprendre le fonctionnement, nous allons créer manuellement les 5 fichiers de configuration.
On crée un profil horde avec les dossiers suivants :
$ mkdir /home/user.config/syncevolution/horde $ mkdir /home/user.config/syncevolution/horde/sources/
On crée le fichier de configuration principal /home/user/.config/syncevolution/horde/config.ini :
syncURL = https://monserveur.tld/horde/rcp.php username = votre_user password = votre_password printChanges = 0 deviceId = my-n900-xxxyyy SSLVerifyServer = 0 SSLVerifyHost = 0 WebURL = https://monserveur.tld/horde/
<note warning> Si vous partez d'un template existant, le point essentiel dans une configuration horde est de modifier dans le début du champ deviceId sc-pim-xxx…xxx comme par exemple my-n900-xxx…xxx . Dans le cas contraire, un bug vous empêchera de synchroniser les éléments de horde vers le téléphone. </note>
Définition des sources à synchroniser
<note important >L'une des limitations principales de cette solution est qu'un seul calendrier du téléphone peut être synchronisé. Il existe une solution de contournement (partielle) à ce problème qui sera exposée plus loin</note>
Les sources définies ci-dessous sont celles par défaut du téléphone.
Carnet d'adresses
Crée le dossier adhoc :
$ mkdir /home/user.config/syncevolution/horde/sources/addressbook
Ainsi que le fichier de configuration /home/user/.config/syncevolution/horde/sources/addressbook/config.ini contenant :
sync = two-way type = addressbook uri = card
La synchronisation des contacts entre le N900 et Horde n'est pas parfaite. Mettez vos contacts à jour en fonction des éléments ci-dessous (les champs barrés correspondent à ceux ne se synchronisant pas avec Horde) : <note>
- Prénom
- Nom
- Nom complet
- Pseudonyme
- E-mail
E-mail (privé)E-mail (bureau)- Mobile
Mobile (privé)Mobile (bureau)- Anniversaire
Adresse- Adresse (Privé)
- Adresse (Bureau)
Téléphone- Teléphone (privé)
- Téléphone (bureau)
- Téléphone (fax)
- Profession
- Société
- Notes
- Page Web
Photo
Tous les informations liées à la messagerie instantanée (Gtalk, skype, etc.) ne sont pas synchronisées. </note>
Agenda
Crée le dossier adhoc :
$ mkdir /home/user.config/syncevolution/horde/sources/calendar
Ainsi que le fichier de configuration /home/user/.config/syncevolution/horde/sources/calendar/config.ini contenant :
sync = two-way type = calendar:text/calendar! uri = event
Tâches
Crée le dossier adhoc :
$ mkdir /home/user.config/syncevolution/horde/sources/todo
Ainsi que le fichier de configuration /home/user/.config/syncevolution/horde/sources/todo/config.ini contenant :
sync = two-way type = todo:text/calendar! uri = task
Notes
Crée le dossier adhoc :
$ mkdir /home/user.config/syncevolution/horde/sources/memo
Ainsi que le fichier de configuration /home/user/.config/syncevolution/horde/sources/memo/config.ini contenant :
sync = two-way type = memo uri = note
Lancement de la synchronisation
$ syncevolution horde
Ajout de source supplémentaire
<note warning>Il est possible de synchroniser d'autre source en créant un nouveau profil. Néanmoins, nous sortons du fonctionnement normal de l'application horde et les risques de dysfonctionnement sont nombreux (notamment les doublons).</note>
Ici, on prend l'exemple du calendrier ecocach.
Création d'un nouveau profil
On crée un profil horde_ecoach avec les dossiers suivants :
$ mkdir /home/user.config/syncevolution/horde_ecoach $ mkdir /home/user.config/syncevolution/horde_ecoach/sources/
On récupère le fichier de configuration du profil horde
$ cp /home/user/.config/syncevolution/horde/config.ini /home/user/.config/syncevolution/horde_ecoach/config.ini
<note important>Il est essentiel que le deviceId soit identique entre les 2 profils pour éviter de se retrouver avec des doublons dans tous les sens.</note>
Il faut maintenant identifier la référence du calendrier de ecoach en lançant syncevolution sans paramètre :
$ syncevolution Evolution Address Book = Evolution Contacts = evolution-contacts: <<system>> (file:///home/user/.osso-abook/db) <default> Maemo Calendar = maemo-events: N900 (id:1) <default> cal_ti_calendar_private (id:2) Anniversaires (id:3) Boulot (id:4) eCoach activities (id:5) Maemo Tasks = maemo-tasks: N900 (id:1) <default> cal_ti_calendar_private (id:2) Anniversaires (id:3) Boulot (id:4) eCoach activities (id:5) Maemo Notes = maemo-notes: N900 (id:1) <default> cal_ti_calendar_private (id:2) Anniversaires (id:3) Boulot (id:4) eCoach activities (id:5)
Exemple : Agenda ecoach
On sait donc que le calendrier ecoach est identifié par eCoach activities (id:5)
On crée le dossier adhoc pour le calendrier :
$ mkdir /home/user.config/syncevolution/horde_ecoach/sources/calendar
Ainsi que le fichier de configuration /home/user/.config/syncevolution/horde_ecoach/sources/calendar/config.ini contenant :
sync = two-way type = calendar:text/calendar! evolutionsource = id:5 uri = event
<note> A l'heure actuelle, Horde ne sait gérer qu'un seul calendrier de synchronisation. Il n'existe donc pas de méthode de synchronisation sans impact pour cette nouvelle ressource. En effet :
- sync = two-way
Si vous créez un événement sur horde, il sera ajouté sur le téléphone dans le prochain calendrier à se synchroniser. De plus, la 1ère synchronisation va créer un doublon sur le téléphone pour chaque événement déjà présent sur horde.
- sync = refresh-from-client
Si vous modifiez un événement sur horde (ex : affecter à une catégorie), un doublon sera crée sur horde à la synchronisation du téléphone.
- sync = one-way-from-client
Si vous supprimez un événement sur horde, il ne sera pas supprimer sur le téléphone.</note>
Personnellement, je préfère le two-way. Je fais juste attention à bien lancer la synchronisation du calendrier principal en premier et seulement après avec la synchronisation du calendrier ecocach.
Lancement de la synchronisation
$ syncevolution horde_ecoach