====== N900 : Synchronisation avec Horde Groupware ======
{{tag>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.
{{:fr:ressources:astuces:sync.png|}}
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/
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.
==== Définition des sources à synchroniser ====
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
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) :
* 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.
=== 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 =====
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).
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
Il est essentiel que le **deviceId** soit identique entre les 2 profils pour éviter de se retrouver avec des doublons dans tous les sens.
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:
<> (file:///home/user/.osso-abook/db)
Maemo Calendar = maemo-events:
N900 (id:1)
cal_ti_calendar_private (id:2)
Anniversaires (id:3)
Boulot (id:4)
eCoach activities (id:5)
Maemo Tasks = maemo-tasks:
N900 (id:1)
cal_ti_calendar_private (id:2)
Anniversaires (id:3)
Boulot (id:4)
eCoach activities (id:5)
Maemo Notes = maemo-notes:
N900 (id:1)
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
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.
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