====== 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