Synchroniser les contacts et l’agenda avec un téléphone portable

Utilisation de Multisync et Evolution
jeudi 9 février 2006
par  Olivier Duquesne (DaffyDuke)
popularité : 1%

Transférez vos contacts du carnet d’adresses d’Evolution, le PIM (Personnal Information Manager) de GNOME, vers votre téléphone portable, et inversement. Quelques clics suffisent pour synchroniser vos données.

L’ensemble de cet article a été rédigé sur une distribution Debian SID. Il est possible qu’il faille utiliser yum/urpmi/yast au lieu d’apt-get et/ou que les versions logicielles ne soient pas exactement les mêmes suivant votre distribution.

Il a pour but la mise en application d’une expression à la mode, la convergence numérique. Nous utiliserons ici le logiciel libre evolution pour gérer les contacts, les tâches et l’agenda. La méthode employée passe par un canal infrarouge. Elle doit être applicable à un téléphone Bluetooth. N’hésitez pas à le confirmer dans le forum.

Matériel utilisé

- Un ordinateur portable de marque Fujitsu Siemens, modèle Amilo M Series : http://www.fujitsu-siemens.fr/produ... visiblement ma machine n’est plus au catalogue de Fujitsu-Siemens, on ne trouve rien avec les différents numéros d’identifiant ou de série figurant sous l’appareil. Bref, passons, c’eut été utile pour aider le lecteur à identifier la carte infra-rouge supportée, à titre de comparaison.

- Un téléphone portable de marque Sony Ericsson, modèle K500i http://www.sonyericsson.com/spg.jsp... Cela aura son importance dans la suite de l’article, le forfait associé à ce téléphone est un forfait Orange Pro.

Installer les logiciels

- Evolution s’installe très facilement : apt-get install evolution . Faites attention à installer également les dépendances. Lors de mes premiers tests, les plugins n’existaient pas, je ne saurais dire maintenant s’ils sont indispensables. Quoiqu’il en soit, voici les versions des paquetages installés sur ma machine :

ii  evolution                          2.2.3-5                       The groupware suite
ii  evolution-data-server              1.2.3-8                       evolution database backend server
ii  evolution-exchange                 2.2.3-4                       Exchange plugin for the Evolution groupware
ii  evolution-plugins                  2.2.3-5                       All bundled plugins for Evolution 2.2
ii  evolution-webcal                   2.2.1-3                       webcal: URL handler for GNOME and Evolution
ii  libebook1.2-3                      1.2.3-8                       Client library for evolution address books
ii  libecal1.2-2                       1.2.3-8                       Client library for evolution calendars
ii  libedata-book1.2-2                 1.2.3-8                       Backend library for evolution address books
ii  libedata-cal1.2-1                  1.2.3-8                       Backend library for evolution calendars
ii  libedataserver1.2-4                1.4.2.1-1                     Utility library for evolution data servers
ii  libedataserverui1.2-4              1.2.3-8                       GUI utily library for evolution data servers
ii  libevolution-cil                   0.10.2-2+b1                   CLI bindings for Evolution
ii  libevolution-ruby                  0.5-2                         revolution, ruby binding for the evolution m
ii  libevolution-ruby1.8               0.5-2                         revolution, ruby 1.8 binding for the evoluti

On en trouve d’autres comme ceux concernant l’intégration de certains modules d’Evolution avec OpenOffice.org, Gaim ou autres. Mais ce n’est pas là notre propos.

- L’outil de synchronisation utilisé sera MultiSync et son plugin evolution :
apt-get install multisync libmultisync-plugin-irmc libmultisync-plugin-evolution . Il existe un méta paquet pour installer tous les plugins d’un coup : libmultisync-plugin-all . An final, voici ce que l’on peut obtenir :

ii  libmultisync-plugin-all            0.82-5.1                      Complete MultiSync suite
ii  libmultisync-plugin-backup         0.82-5.1                      Backup plug for MultiSync
ii  libmultisync-plugin-evolution      0.82-5.1                      Ximian Evolution plugin for MultiSync
ii  libmultisync-plugin-irmc           0.82-5.1                      IrMc Mobile plugin for MultiSync
ii  libmultisync-plugin-irmc-bluetooth 0.82-5.1                      Adds Bluetooth support to the IrMC pluginii  libmultisync-plugin-opie           0.82-5.1                      Opie plugin for MultiSync
ii  libmultisync-plugin-palm           0.82-5.1                      Palm plugin for MultiSync
ii  libmultisync-plugin-syncml         0.82-5.1                      SyncML plugin for MultiSync
ii  multisync                          0.82-5.1                      A program to synchronize PIM data

- Installez le module Infra-Rouge sur le portable : apt-get install irda-utils . Le système debian propose de gérer en tâche de fond l’Infra-Rouge via port série ou USB ou laisser choisir le noyau. Choisissez la simplicité, ni "ttyXX" ni USB ! La configuration ainsi obtenue donne ceci :

daffy@colerpia:~# cat /etc/default/irda-utils
# Set your startup settings for irattach, the IrDA-daemon, here.

# Set this to 'false' if you do not need to start irattach. Otherwise set it
# to 'true'.
ENABLE="true"

# Set discovery mode which usually is a good idea for finding other devices.
DISCOVERY="true"

# Set IRDA device to access (e.g. /dev/ttyS1 or irda0).
# In case of irda0, the proper module for FIR-mode has to be set in
# /etc/modutils/irda-utils (2.4) or /etc/modprobe.d/irda-utils (2.6)
DEVICE="irda0"

# Set dongle type, e.g. none, tekram, esi, actisys, actisys+, ep7211, girbil,
# litelink, airport, old_belkin, mcp2120, act200l, ma600). You do not need
# a dongle for FIR mode.
DONGLE="none"

# Set the serial device to quiet with setserial. This is only useful on some
# machines in FIR-mode, so most people should leave it blank. See
# README.Debian for more information.
SETSERIAL=""

Chargez ensuite les modules kernel [1] via l’utilitaire modconf :

root@colerpia:~# lsmod |grep ir
irda_usb               17348  0
irtty_sir               9152  0
sir_dev                19244  1 irtty_sir
via_ircc               26416  0
irda                  197120  4 irda_usb,irtty_sir,sir_dev,via_ircc
crc_ccitt               2144  1 irda
usbcore               118980  8 irda_usb,uhci_hcd,usbkbd,usbmouse,ndiswrapper,usb_storage

Démarrez ensuite le démon comme tous les autres services :

root@colerpia:~# /etc/init.d/irda-utils start
Starting IrDA service: irattach

Dans /var/log/syslog , vous voyez alors l’entrée suivante :

Jan 22 22:42:29 localhost irattach: executing: '/sbin/modprobe irda0'
Jan 22 22:42:29 localhost irattach: executing: 'echo colerpia > /proc/sys/net/irda/devname'
Jan 22 22:42:29 localhost irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Jan 22 22:42:29 localhost irattach: Starting device irda0
Jan 22 22:42:29 localhost kernel: irlap_change_speed(), setting speed to 9600

Les entrées de /proc sont consultables pour vérification. Très honnêtement, je ne connaissais pas ces entrées avant que Fabrice Eudes ne m’en parle. Chez moi tout a marché du premier coup :-)

Utilisation des applications

- Je ne détaillerai pas ici l’utilisation d’Evolution , il existe déjà une aide très complète écrite par la communauté et la société Novell, elle est disponible ici : http://www.gnome.org/projects/evolu.... En gros, pour créer un contact, effectuez un clic droit sur un mail reçu puis choisissez Ajouter au carnet d’adresses. Eventuellement utilisez le bouton Editer si vous souhaitez mettre des informations complémentaires. L’intérêt d’Evolution réside dans son format vcard qui reprend une norme internationale. Par ailleurs, il respecte parfaitement la norme icalendar pour l’agenda.

- Quant à multisync, voilà qui est plus délicat.
Démarrez multisync, soit depuis le menu GNOME, soit depuis une console. Ne vous étonnez de traces de debuggage si vous l’avez démarré depuis la console, c’est normal.

  • Cliquez sur le bouton New et choisissez en First plugin : Ximian Evolution 2, en Second plugin : IrMC Mobile Device. Mettez comme nom Synchro Phone par exemple. Vous pouvez laisser les trois options cochées en Data types to synchronize, à savoir Calendar, Addressbook, Tasks.
  • Là où ça se corse, c’est dans les options concernant Evolution. Choisissez Personnel dans Calendar. Vous accédez à tous les calendriers. Donc, me concernant, je pourrais synchroniser le calendrier de mon entreprise connecté lui-même à Evolution grâce au plugin evolution-exchange . On comprends d’un coup le côté génial de cette application. Tout ce que voit Evolution, je peux le faire entrer dans mon téléphone ! En fait, ici, cochez Personnel dans les trois rubriques, et validez votre choix.
  • Sur le téléphone, allez dans le menu Connexions, puis choisissez Activation IR et enfin 10 minutes. Pas la peine de laisser la batterie se décharger, ça ne durera pas plus longtemps. Une nouvelle icône apparaît à côté de l’indicateur de signal.
  • Continuons la configuration de MultiSync. Dans les options IrMC Device , choisissez Connection Type : IR ; et optez pour Search for Units. Si tout se passe bien, le numéro de série apparaît dans la boîte de dialogue. Vous pouvez valider. Une dernière fois essayez Test Connection..... Tout va bien, vous avez une popup Connection succeeded !. Vous validez et passez aux choses sérieuses.
  • Dans les options du device, il est possible de définir d’autres choses sympas comme l’encodage (UTF-8 , ISO-8859-1), l’ordre de synchronisation, les alarmes du calendrier. Validez, le choix par défaut est pas mal.
  • Ce n’est pas fini. On retrouve d’autres options, encore plus fines dans les Synchronize options du profil. Personnellement, je force Always use the entry from the first plugin. Pourquoi ? J’ai déjà eu des soucis avec la synchro dans les deux sens à cause de formats vcard différents, je me suis retrouvé avec tous les contacts en double. Quand à la résolution manuelle, elle ne marche pas. Bref, c’est un bon compromis.
  • Il semble que l’on puisse affecter des règles de filtrage ou synchroniser (ou pas) des évènements particuliers, je n’ai pas encore eu à tester ces options.
  • Validez une dernière fois. Ouf, le profil est prêt !

- Vous pouvez alors synchroniser avec le bouton Resync : Validez le message d’erreur qui essaye de vous faire peur, en gros, il dit Attention vous allez perdre toutes les données sur le téléphone. Bah c’est le but, allez-y en toute confiance. C’est parti, le téléphone reçoit les contacts. Quelques secondes après c’est terminé.

- Dans la fenêtre de debug, on peut lire

[...]
END:VTODO
END:VCALENDAR
[evo2-sync] INFORMATION: Done searching for changes. Found 580 changes
sync_done


- Je ne sais pas pourquoi mais la valeur numérique n’est pas identique dans le bouton Log où on lit

Sun Jan 22 23:17:00 2006 : Synchronization of 579 entries succeeded.

Critiques, limites et améliorations probables

Les contacts sont bien synchronisés, à la seule et unique condition qu’il y ait un numéro de téléphone dans la fiche issue d’Evolution. C’est idéal, ça permet d’éviter de mettre les contacts qui ne serviront jamais (quoique). Les numéros doivent être renseignés dans Evolution (personnel, professionnel ou portable), le champ Autre n’est pas pris en compte.
Une seule adresse mail sera envoyée vers le téléphone, celle qui correspond au premier champ Email de la fiche Evolution du contact, quel que soit son attribut. Bien faire attention quand vous avez des contacts personnels et/ou professionnels. L’intérêt du mail, envoyer un MMS pardi !

L’adresse de la page Web est elle aussi intégrée dans la fiche, parfois les notes également. Avec ce type d’appareil, on n’a pas exactement les mêmes fonctionnalités que sur un PDA (Personal Digital Assistant), la fiche complète n’est parfois pas correctement interprétée. Il m’a été répondu sur la liste des développeurs de MultiSync que le format vcard des téléphones était souvent trop ancien et ne pouvait intégrer certains champs. De même, si un contact Evolution contient une photo, sa fiche arrivera toute "bousillée" dans le téléphone. C’est-à-dire que seule la photo sera connue du téléphone, les numéros et emails seront perdus (précision : uniquement dans le téléphone). A l’inverse, un contact avec photo ajoutée par le téléphone apparaîtra correctement dans Evolution, mais certains champs seront non-modifiables (adresses postales par exemple). On n’observe aucun problème d’encodage comme entre l’application propriétaire de Sony et Outlook Express de Microsoft.

- Les tâches sont parfaitement synchronisées, avec deadlines (date de fin de tâches), et suivi.

- L’agenda est parfaitement intégré, même les rendez-vous avec plusieurs rappels avant ou après. On n’observe aucun décalage de timezone comme parfois entre Evolution et Exchange de Microsoft .

- Parmi les problèmes pénibles, un souci récurrent à l’usage, concerne la synchronisation incrémentale. En effet, l’utilisation du bouton ReSync ne se fait théoriquement que la première fois, ensuite on utilise Sync. Pour ce faire, des verrous sont positionnés dans le répertoire de l’utilisateur, le diff n’est pas fait à la volée. Problème, si un contact a été modifié entre temps, que ce soit dans le téléphone ou dans le PIM, il n’est plus envoyé. Je résous donc ce problème de façon radicale. Sur le téléphone, avant synchronisation, je purge tous les contacts, tâches et rendez-vous. Je supprime les verrous sur l’ordinateur :

daffy@colerpia:~$ find .evolution/ -name "*sync*" | xargs rm

puis j’utilise ReSync.

Pour aller plus loin

Le téléphone supporte le protocole SyncML. C’est à dire qu’en le configurant comme précisé dans la partie Votre espace du site Orange.fr, vous pouvez envoyer tous les contacts de la carte SIM et/ou dans la mémoire du téléphone, vers le webmail Orange et donc les utiliser dans votre webmail Wanadoo.fr. C’est ce qu’on appelle la convergence numérique. Ça, ça marche très bien. Conclusion du moment : Orange.fr supporte bien le SyncML. Je me suis alors mis en tête de faire fonctionner multisync et le plugin SynCML pour synchroniser directement Evolution avec Orange.fr. Ayant obtenu un peu d’informations de la part du service clientèle, qui ne m’a pas envoyé balader malgré avoir prononcé linux, le mot classiquement banni des hotlines, j’ai pu ajouter à priori les bons paramètres. A savoir :

serveur : http://repertoire.orange.fr//sync/SyncML/
port : 80
login : mon numéro de téléphone
mot de passe : mon mot de passe sur orange.fr

Problème, pour être sûr de voir ce qui se passe, au vu malgré tout de la réponse très évasive du support, j’ai trouvé ces paramètres en utilisant l’outil binaire propriétaire non configurable sous Windows (livré avec le téléphone) et en traçant la requête TCP/IP avec ethereal. Ce logiciel sous Windows ne me sert plus à rien puisque je n’utilise absolument jamais Outlook Express, et on l’a vu plus haut, il y a un problème d’encodage. Oui, il y a bien deux / entre le serveur et le répertoire, je ne sais pas en quoi c’est important.

Sous Linux, j’ai donc procédé de même, j’ai tracé avec ethereal les paquets qui s’échangent lors de la connexion de MultiSync vers le site http://repertoire.orange.fr, et j’ai obtenu une trace tout à fait différente, un dump XML en fait. J’ai renvoyé cela au support mais comme mon mail est cette fois resté sans réponse près d’un mois plus tard je suppose qu’il va falloir attendre la stabilisation d’OpenSync, le successeur de MultiSync qui ne possède pas encore les bibliothèques pour Evolution.

Encore plus loin

Là on est à la limite du hors-sujet. Voici un petit script pour télécharger les photos, vidéos, et applications depuis le téléphone vers un ordinateur sous Linux. Pour cela, il faut utiliser les outils Obex :

apt-get install obexftp

Ne pas oublier de le rendre exécutable !

daffy@colerpia:~$ cat datas/Photos/phone/sync_sony
#!/bin/bash
#
#

# list folders
DIR=`pwd`
#
# Fuck, obexftp can't do recursive tasks
obexftp -i -l 1 > folders1.txt

# Listing format is not'ls' like but 'xml' like .
cat folders1.txt|sed -e "s/></\>\n</g"|grep -v listing |grep folder|awk -F'"' '{print $2}' > folders2.txt

# parse folders
for dir in `cat folders2.txt`
do

# list photos
       echo "Retreiving photos list ..."
       obexftp -i -c $dir -l 1 > files1_$dir.txt
       cat files1_$dir.txt|grep file|awk -F'"' '{print $2}' > files2_$dir.txt
       echo "Fetching $dir ..."
# obexftp have very troubles with files containing a blank space in their name
       IFS=,
       mkdir $dir
       cd $dir
       for files in `cat ../files2_$dir.txt|sed -e "s/$/\,/g"|tr -d '\012'`
       do
               echo "==== $files ===="
               if [ -f $files ]
               then break
               else
               obexftp -i -c $dir -g "$files"
               fi
               echo "========"
       done
       cd $DIR
       IFS=
done

# remove listing files
rm *.txt

[1Il est à noter que toutes ces opérations ont été effectuées en kernel 2.6.8 stable chez Debian, il m’a été impossible de les réaliser avec un kernel plus récent comme le 2.6.14.


Commentaires

Logo de Delphine
jeudi 12 avril 2007 à 10h05 - par  Delphine

A tout hasard : j’ai aussi un soucis de synchronisation d’un K610i avec le calendrier outlook (par contre pas de soucis avec les contacts et les notes), un message d erreur indique : "type incompatbile ou la valeur 13/12/20060000 de la condition n’est pas valide" a priori un probleme de format de date, savez comment je peux resoudre ca ?

Logo de DaffyDuke
lundi 25 décembre 2006 à 18h39 - par  DaffyDuke

Oui ? Et ? Quel est le problÚme ?

Logo de amar 354
jeudi 21 décembre 2006 à 15h35 - par  amar 354

jai en vie de syncronises mon portable sonyericson w 810i

Logo de DaffyDuke
jeudi 7 décembre 2006 à 07h23 - par  DaffyDuke

Pas que je sache, ceci dit, je n’utilise pas cette techno. Ton téléphone parle t’il Obex ?

A+

jeudi 30 novembre 2006 à 00h11

impossible de synchroniser le K610i

alors que tout allait avec un T610.
des feintes speciales pour que ca marche en bluetooth ?

Logo de Olivier Duquesne (DaffyDuke)
samedi 11 novembre 2006 à 23h12 - par  Olivier Duquesne (DaffyDuke)

Un grand merci pour ton retour, c’est avec des remarques comme celle-là qu’on a envie d’en écrire d’avantage :-)

Logo de Olivier Duquesne (DaffyDuke)
samedi 11 novembre 2006 à 23h11 - par  Olivier Duquesne (DaffyDuke)

J’ai un truc relativement similaire avec mon téléphone, c’est la raison pour laquelle je redémarre irda-utils avant chaque synchro. Curieux tout de même ce truc ....

Un grand merci pour ton retour d’expérience !

mercredi 1er novembre 2006 à 00h32 - par  Thierry Bothorel

Super article qui a été mon point de départ de recherche pour synchroniser mon vieux Nokia 7650 (5 ans) avec Evolution. AprÚs trois jours de combat intensif je suis arrivé à mes fins, sachant qu’il faut s’arracher les cheveux à chaque fois.

Par rapport au K500 de l’article, il y a en plus les problÚmes suivants :

- on ne peut pas utiliser le plugin IrMC et son dérivé bluetooth du à une limitation du Nokia. Il est bien détecté mais sans channel

- du à ce problÚme, il faut utiliser le plugin SyncML de Multisync, sauf que sur le 7650, il n’y a aucun client, il faut donc installer celui de nokia pour ce téléphone

- TroisiÚme problÚme, Nokia a volontairement bridé l’utilisation de tcp/ip sur bluetooth dans les Serie60. Pour passer outre cette limitation, il faut installer le soft gnubox qui est trÚs difficile à trouver car chaque modÚle de téléphone doit utiliser une version spécifique. Pour le 7650, je n’ai trouvé que deux liens sur le net, dont un dont le fichier ne fonctionne pas, et l’autre qui fonctionne, planqué au fond d’un obscur sous-répertoire d’un dépot CVS !

- Enfin dernier obstacle, le fonctionnement du client de synchro SyncML du téléphone fait qu’on ne peut pas initialiser la synchro à partir de Multisync, et donc faire un ReSync. J’y suis parvenu en initialisant la synchro à partir du téléphone et au moment où synchro s’affiche, je lance Resync ! De la haute voltige !

Malgré tout cela, la synchro ne marche pas à chaque coup, parfois il reste bloqué sur « Connexion ». J’en suis arrivé à la conclusion que le problÚme vient de Multisync et son plugin SyncML, car j’ai pu aussi tester la synchro entre le Nokia et le site gratuit mobical VIA bluetooth et celle-ci s’effectue sans problÚme à chaque fois.

Logo de Roudyl
samedi 14 octobre 2006 à 20h36 - par  Roudyl

vraiment tres bien fait ; merci encore pour cette article tres detaillé

Pour info j’ai realisé votre sujet sur ma debian stable version 2.6.17.13 avec un sony-ericsson k700i en bluetooth 2.0

La synchro se passe bien dans les deux sens , agenda comme pour les contacts .

Merci et encore bravo

Roudyl

dimanche 4 juin 2006 à 00h34 - par  DaffyDuke

Bonjour,

Je ne connais pas ces outils, ni Outlook ni Nokia mais a priori dans le téléphone, dans les paramétrages de synchronisation, il existe des options de priorité.

A bientÎt,

jeudi 1er juin 2006 à 22h39

je me demande si vous pouvez m’aider.

J’essaie de synchroniser mon agenda outlook avec un téléphone nokia via pc suite et je perds toutes les notes associes à l’agenda qui se trouve sur le PC.

Comment faire pour les synchroniser et les récupérer sur le téléphone ?

Merci pour votre réponse.

Agenda

<<

2022

>>

<<

Juillet

>>

Aujourd’hui

LuMaMeJeVeSaDi
    123
45678910
11121314151617
18192021222324
25262728293031

Annonces

Annuaire LibreNord

Retrouvez l’annuaire de logiciels libres créé par l’association Club Linux Nord-Pas de Calais sur le site suivant http://www.librenord.org