SyncEvolution : Synchronisation d'Evolution
SyncEvolution permet de synchroniser des données personnelles, à travers divers protocoles (SyncML, CalDAV/CardDAV, ActiveSync). Il synchronise les contacts, les rendez-vous, les événements, les tâches et les mémos, à travers un service web ou même via Bluetooth pour les téléphones portables.
Dans les faits cela vous permettra de synchroniser Evolution entre deux ordinateurs ou bien entre votre ordinateur et un ou plusieurs périphériques portables (téléphone mobiles, PocketPC, Palm etc.)
Deux types de synchronisation sont possibles:
- Une synchronisation "over the air" utilisant votre connexion internet plutôt qu'un câble USB, une liaison infrarouge ou Bluetooth.
- Une synchronisation en local grâce au serveur funambol (Ceci nécessite de pouvoir établir une connexion entre le PC et le PocketPC comme c'est indiqué plus bas avec un PocketPC sous WM2005, ou WM6.1).
Le principe
Il s'agit d'installer un client sur son ordinateur capable de synchroniser son calendrier, ses contacts et ses tâches avec un serveur en utilisant le protocole (SyncML). Pour Funambol il s'agit d'un serveur installé sur l'ordinateur. Puis on installe un client sur son PDA (il faut qu'il soit connecté à internet comme c'est le cas avec un smartphone).
Il existe aussi des clients permettant de synchroniser Outlook…(pratique si on est obligé d'utiliser MS au boulot et qu'on a Linux à la maison).
L'installation se déroulera donc en trois étapes :
- Création d'un compte de synchronisation ; (Non nécessaire!)
- Installation/synchronisation du client sur l'ordinateur ;
- installation/synchronisation du client sur le SmartPhone / PDA /iPhone / iTouch
Prérequis
- Les calendriers, contacts et taches que vous voulez garder sont sous Evolution. Une re-initialisation bien propre du PocketPC pour lui faire tout oublier est donc conseillée.
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Création d'un compte
Ici vous est proposé comme exemple la création d'un compte Memotoo. C'est un serveur performant et dont l'administrateur est francophone, plusieurs tarifs au choix, de gratuit à 3 euros par mois.
Vous pouvez installer le serveur Funambol, gratuit, sur votre machine et faire les synchronisations en local… (voire plus bas pour le tutoriel) → Il y a des sources sur sourceforge.net lesquelles datent de 2011. "One Media Hub" de Funambol (version 2015, dans le lien du paragraphe suivant) est-il encore un logiciel libre pouvant être installé sur son serveur local ?
Une autre possibilité est d'utiliser le service proposée par Funambol c'est a dire leur serveur.
Créez un compte sur myFunambol La version à l'essaie dure 90 jours, puis une prolongation est possible pour les "membres actifs de la communauté"…
Dans tous les cas, pensez à bien vérifier que vous êtes d'accord avec le contrat d'utilisateur final de la solution que vous choisirez.
Pour utiliser Funambol, allez ici et suivez les instructions…
Une autre solution qui fonctionne est d'utiliser un compte Google et leur serveur SyncML : Voir ici
Installation
Il suffit d'installer le paquet syncevolution. Vous pouvez aussi installer l'interface graphique, avec le paquet sync-ui.
Vous pouvez également installer une version plus récente en :
- Modifiant vos sources de mises à jour pour y ajouter le dépôt suivant :
deb http://downloads.syncevolution.org/apt stable main
- Enfin en installant le paquet syncevolution-evolution (qui désinstalle d'ailleurs le paquet syncevolution si celui-ci avait été installé).
Configuration
Pour créer les fichiers de configuration, ouvrez un terminal et entrez la commande suivante (vous pouvez remplacer funambol par le serveur de votre choix):
syncevolution --configure funambol
Pour une nouvelle installation ouvrez un terminal et lancer la commande suivante:
syncevolution --configure --sync-property username=<votre login sur <server> > --sync-property password=<mot de passe sur <server> > --template <server> <server_joe>
Veuillez remplacer <server> par le nom de votre serveur de synchronisation (par exemple funambol) et <server_joe> par le nom de votre compte sur le serveur. La synchronisation se fera à l'aide de la commande:
syncevolution <server_joe>
Ensuite sautez ce qui suit et allez à la rubrique "Lancer la première synchronisation avec le serveur"
Configuration de la synchronisation
Utilisez la commande suivante en remplaçant <server> par le nom de votre serveur de synchronisation (par exemple: funambol).
syncevolution --migrate <server>
Si c'est votre première utilisation de syncevolution il faut, depuis votre Dossier Personnel éditer le fichier caché .config/syncevolution/funambol/config.ini et changer les paramètres username
(le numéro que vous avez noté à l'étape de création du compte) password
(reçu par courriel).
Vous pouvez aussi modifier la variable maxlogdirs
qui indique la taille de l'historique de connexion (5 logs doivent être suffisants).
Il est également possible d'utiliser un serveur proxy si vous êtes en entreprise par exemple.
Le paramètre deviceId
correspond au nom que le serveur verra pour la synchronisation, donc si vous voulez synchroniser deux ordinateurs avec le même serveur il faut penser à changer ce nom sur le deuxième ordinateur (cf plus bas). Vous pouvez mettre le nom de votre machine.
Configuration des sources de synchronisation
Il y a 4 fichiers à configurer (contacts, calendrier, taches, mémo). Pour connaître les éléments disponibles dans évolution entrez dans unterminal la commande :
syncevolution
Cela vous donnera le nom des calendriers, listes de contactes, mémo et taches que vous avez créer dans Evolution. Par défaut il s'agit de "personnel".
Donc, l'un après l'autre, éditez dans le dossier caché .config/syncevolution/funambol/sources/les quatre fichiers suivants : addressbook/config.ini, calendar/config.ini, todo/config.ini, memo/config.ini.
Le paramètre à changer est evolutionsource
. Indiquez à la suite du symbole égal le nom du calendrier, liste de contacts ou tâches que la commande syncevolution
vous a retourné précédemment. Dans notre exemple c'est "Personnel" (cas par défaut).
Faite ceci pour les quatre fichiers.
Il est à noter qu'on peu modifier le comportement de la synchronisation pour chaque cas avec la variable "sync".
par exemple "sync = two-way" fait la synchro dans les deux sens (choix par défaut) alors que "sync = refresh-from-client" écrase ce qui est sur le serveur (funambol) par ce qui est sur le client (evolution).
Utilisation : Lancer la première synchronisation avec le serveur
Graphiquement
Pour lancer la synchronisation faites une recherche dans le tableau de bord Unity avec le mot clé Synchronisation. Choisissez votre serveur, entrez les informations et cliquez sur Synchroniser. Il est également possible de le faire une synchronisation directe grâce à Bluetooth, pour cela cliquer sur Nouveau Périphérique.
En ligne de commande
Par mesure de prudence faites une copie du dossier .evolution de votre Dossier Personnel en entrant dans un terminal la commande:
cp -r ~/.evolution ~/evolution.bak
En cas de problème il n'y a qu'à faire l'opération inverse! Il ne reste plus qu'à lancer la synchronisation en ouvrant un terminal et:
syncevolution funambol
Syncevolution vous affichera un résumé des opérations effectuées et vous pourrez vérifier que la synchronisation evolution/funambol a fonctionné en vous connectant sur votre compte funambol.
Vous voyez ici que cela ouvre déjà d'énormes possibilités comme de pouvoir partager ces contacts, agenda et taches entre 2 ordinateurs (au boulot et à la maison par exemple). Attention dans ce cas car il faut donner des noms différents aux deux ordinateurs dans "syncml/con
Automatiser la synchronisation
Connexion directe à internet
Soit vous ajoutez Syncevolution aux applications au démarrage, en mettant dans le champs Commande: syncevolution <votre_serveur>.
Soit vous pouvez utiliser Cron qui peut automatiser cette tâche grâce à crontab. Par exemple pour synchroniser evolution avec le serveur à chaque démarrage il suffit de faire ceci :
crontab -e
et d'entrer ensuite, ce qui suit en remplaçant toto par votre nom de connexion:
@reboot /usr/local/bin/syncevolution votre_serveur > /home/toto/log
on quitte (avec Ctrl + x). Au prochain démarrage la synchronisation sera automatique et un fichier appelé log sera ajouté dans votre home attestant du bon fonctionnement de la procédure. On peu également lui demander de faire cette action tous les jours, toutes les heures ou à un moment donné de la journée… Reportez-vous à la page cron dans la documentation pour plus d'infos )
Connexion à internet passant par un proxy
Il va falloir créer un script pour que ça marche derrière un proxy bien que vous ayez défini le proxy dans les préférence de votre serveur (cron ne prend pas en compte la variable proxy définie dans gnome et qui semble nécessaire pour la librairie libcurl). Créez le fichier syncevol.sh
avec ce qui suit comme contenu en remplaçant par votre proxy et votre serveur :
#!/bin/sh export http_proxy="http://proxy.domaine.fr:3128" /usr/local/bin/syncevolution <votre-serveur>
Rendez-le éxécutable. Puis comme précédemment éditez crontab:
crontab -e
et ajoutez la ligne du type:
@reboot /home/votre_nom_d'utilisateur/syncevol.sh > /home/votre_nom_d'utilisateur/log
Installation/synchronisation du client sur le SmartPhone
Si vous utilisez un serveur funambol, vous trouverez ici des clients pour Smartphone (Android et WindowsMobile), Blackberry et iPod.
Pour un smartphone sous Windows Mobile
Comme souvent avec Windows, même mobile…. une re-initialisation est parfois nécessaire avant la synchronisation pour que cette dernière soit prise en compte. Donc démarrez sous windows et re-initialiser complètement le smartphone.
Établissez un partenariat avec active-sync en lui demandant de NE PAS synchroniser le calendrier, l'agenda et les tâches.
Téléchargez le client pour WindowsMobile ici.
Installez et lancez-le : menu edit>communication setting.
Indiquez l'adresse du serveur, puis votre username
: celui que vous avez copié à l'étape 1 (connectez vous sur www.scheduleworld.com et allez dans préférences)
tapez votre mot de passe: (celui que vous avez reçu par courriel lors de la création du compte).
menu edit → synchronisation setting, cliquez sur ce que vous voulez synchroniser (contacts, calendar, tasks).
laissez votre smartphone connecté à active-sync ou débranchez-le et établissez une connection gprs, Wifi ou autre(3G?) puis lancez la synchronisation…
Pour un smartphone sous Symbian OS
Les téléphones sous Symbian Os ont pour particularité qu'ils intègrent "par défaut" un client SyncML car Nokia et Sony-Ericson ont participé à l'élaboration de cette norme. Pour ces smartphones (type Nokia N95 ou Sony P1 par exemple) il n'y a qu'à configurer la connexion. Cet exemple fonctionne sur un Nokia N95 mais devrait être sensiblement identique pour un autre appareil de la série S60.
Ouvrez le menu : Applications>outils>sync. Puis sur Options > Nouveau mode de sync (répondre "non" s'il vous demande de copier les valeurs d'un autre mode de synchronisation).
Renseignez ensuite les champs comme suit :
Nom du mode de sync : Scheduleworld
Applications>Contacts : oui / card / dans les deux sens
Applications>Agenda : oui / cal / dans les deux sens
Applications>Notes : oui / note /dans les deux sens
Paramètres connexion : tout laisser par défaut sauf:
Paramètres connexion > Adresse de l'hôte : http://sync.scheduleworld.com/funambol/ds
Paramètres connexion > nom d'utilisateur : celui que vous avez copié à l'étape 1
Paramètres connexion > mot de passe : celui que vous avez reçu par email lors de la création du compte
Appuyez sur "retour" pour revenir à la page intitulée "Sync"… et voilà ! Pour lancer la synchronisation il suffit de sélectionner "scheduleworld", d'appuyer sur "option" puis sur "synchroniser".
Les téléphones Nokia n'ont qu'une base de donnée pour le calendrier et les taches. Pour pouvoir utiliser les tâches il faut, après la première synchronisation, éditer le profile de synchronisation correspondant au téléphone dans Scheduleworld et cocher la case "Event and ToDo For Symbian devices only"
Pour le Nokia N900
Installer "SyncEvolution" (apt-get install syncevolution-frontend) puis configurer via l'interface graphique (les services sont pour la plupart préconfigurés).
La configuration manuelle est également possible et identique à celle sur ordinateur (voir ci-dessus).
Installation/configuration d'un serveur Funambol local
Cette démarche ne s'applique qu'au possesseur de pocketPC sous windows mobile 5.
Créer l'interface réseau
mkdir -p ~/Soft/usb-rndis-lite cd ~/Soft/usb-rndis-lite
on telecharge l'archive du pilote :
svn co https://svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite;cd usb-rndis-lite/
il nous faut maintenant le compiler comme ci dessous :
make sudo ./clean.sh sudo make install
Maintenant, si vous branchez votre périphérique vous avez accès à une interface réseau : rndis0
regarder son adresse IP en faisant :
ifconfig rndis0
si vous avez quelque chose comme :
rndis0 Lien encap:Ethernet HWaddr 80:00:60:0F:E8:00 inet adr:169.254.2.2 Bcast:169.254.2.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:8050 Metric:1 Packets reçus:58 erreurs:45 :0 overruns:0 frame:0 TX packets:110 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:7706 (7.5 KiB) Octets transmis:18941 (18.4 KiB)
dans ce cas, félicitation ! Votre PPC est reconnu par votre système vous pouvez passer à la suite. Sinon essayez :
sudo dhclient rndis0
Configuration de syncevolution
cd .sync4j/evolution
Pour les versions récentes de syncevolution, l'emplacement est celui-ci :
cd ~/.config/syncevolution
telecharger mes fichiers de configuration :
wget http://linux.triskell.org/fichier/sync4jconf_all.tar.bz2;tar -xjz sync4jconf_all.tar.bz2
Installation du serveur funambol
Reportez-vous à la page Funambol. installation du serveur funambol l'installation est plutôt simple :
cd ~/Soft;wget http://download.forge.objectweb.org/sync4j/funambol-6.0.bin sudo ./funambol-6.0.bin
suivez les instructions elles sont assez clair puis on va configurer le serveur, il vous faut juste créer un utilisateur : Se placer dans le répertoire d'installation de Funambol (par défaut /opt/Funambol/admin/bin ) et lancer "funamboladmin":
cd /opt/Funambol/admin/bin sudo ./funamboladmin
Connectez vous en cliquant sur "File→Login→Login" (ne toucher pas au login ni au mot de passe)
puis Cliquez sur "user" et "add user" et créez votre utilisateur.
Un fois cela fais, vous pouvez quitter l'interface de gestion.
Ouvrez le fichier de configuration pour la synchronisation .sync4j/evolution/local/spds/syncml/config.txt et modifiez-le comme suit :
# authorization for the SyncML server username = USER password = PASS
en remplaçant USER et PASS par ceux créé précédemment. Lancez la Synchronisation en exécutant cette commande :
syncevolution local