Ce tutoriel décrit comment synchroniser les données personnelles gérées par Kontact avec des ressources accessibles à travers le protocole SyncML. Depuis KDE 4, l'accès aux données est du ressort d'Akonadi, Kontact n'étant plus qu'un client permettant de traiter les données. Synchroniser les données manipulées à travers Kontact, revient donc à synchroniser des ressources gérées par Akonadi.
Akonadi permet de travailler avec des ressources externes ce qui le conduit nécessairement à gérer des problèmes de synchronisation entre les copies locales de ces données et les ressources réelles. Mais Akonadi ne sait pas (encore ?) synchroniser une ressource qu'il gère avec une ressource distante accessible à travers le protocole normalisé SyncML.
Bien que Kontact soit utilisable sous Gnome (tout comme Evolution est utilisable sous KDE), nous allons supposer que nous utilisons Kontact sous KDE et que le système est configuré pour n'exploiter que des sessions KDE. En quelque sorte, nous allons partir du principe que nous travaillons sous Kubuntu…
Nous allons installer un client SyncML capable de prendre en charge des ressources Akonadi. À l'heure actuelle (oct 2015), syncevolution est compatible avec KDE. Les développements jadis expérimentaux ont été intégrés aux paquetages standards.
$ sudo apt-get install syncevolution syncevolution-libs-kde sync-ui
Accepter les dépendances.
Si vous rencontrez des problèmes d'intégration avec kwallet, il sera nécessaire d'installer également le trousseau de clés de Gnome. Celui-ci gérera les mots de passes des comptes sur les serveurs SyncML que vous utiliserez.
$ sudo apt-get install gnome-keyring
Cette configuration est propre à chaque utilisatrice/teur et n'affecte que des fichiers auxquels elle/il à tous les droits d'accès (la commande sudo n'est plus nécessaire).
syncevolution permet de synchroniser plusieurs ressources à travers plusieurs serveurs. La configuration se déroule donc en deux étapes :
Afin de simplifier l'explication on va supposer que vous n'utilisez qu'une ressource "contacts" et qu'une ressource "calendrier" et "todo". Si vous en utilisez plusieurs, c'est que vous connaissez suffisamment Akonadi pour savoir ce que vous faites.
Pour voir quelles sont les ressources Akonadi reconnues par syncevolution taper les commande :
$ syncevolution --print-databases
en fin de liste, vous devriez voir apparaître quelque chose ressemblant à :
... KDE Address Book = KDE Contacts = kde-contacts: Database "akonadi" opened using driver "QMYSQL" akonadi_vcard_resource_0 (akonadi:?collection=8) <default> KDE Calendar = kde-calendar: akonadi_ical_resource_0 (akonadi:?collection=9) <default> KDE Task List = KDE Tasks = kde-tasks: akonadi_ical_resource_0 (akonadi:?collection=9) <default> KDE Memos = kde-memos:
Prendre note des nombres figurant à droite de chaque "collection=" et les reporter dans la commande suivante :
$ syncevolution --configure \ keyring=KDE \ addressbook/backend=kde-contacts \ addressbook/database=akonadi:?collection=8 \ calendar/backend=kde-calendar \ calendar/database=akonadi:?collection=9 \ todo/backend=kde-tasks \ todo/database=akonadi:?collection=9 \ @default addressbook calendar todo
Afin de simplifier la fin de configuration et l'utilisation ultérieure, il est préférable d'utiliser une interface graphique. Celle-ci peut être invoquée depuis le lanceur d'application (Sync) ou depuis la ligne de commande (sync-ui).
Les informations à fournir dépendent du serveur SyncML utilisé. Les mots de passe seront stockés dans le trousseau de clés de Gnome.
Pour illustration, voici à quoi cela ressemblerait avec un compte sur un serveur local funambol :
En général la première "syncrhonisation" correspond à l'initialisation des ressources (contact, calendrier, tâches) sur l'ordi depuis le serveur ou sur le serveur depuis l'ordi. Ce type de synchronisation fait partie du protocole SyncML. Dans l'interface graphique il porte le nom de "syncrhonisation d'urgence". Pas de quoi s'affoler…
Les synchronisations ultérieures se feront simplement en cliquant sur le bouton "Synchroniser".
Le plus simple est d'utiliser la ligne de commande :
$ sudo apt-get remove syncevolution syncevolution-libs-kde sync-ui
Les paquetages standards de syncevolution étant désormais compatibles avec KDE, la mise jour se fait comme pour tout autre paquetage fourni par les dépôts standard.
Contributeurs principaux : bleck.