Synchronisation des contacts du N900 avec Nookle

Nokia N900 back side, slide open.
Image via Wikipedia

Nookle que j’ai mis en ligne hier ofrrait une synchronisation un peu brutale en remontant tous les contacts du terminal vers google qu’ils aient été modifiés ou pas.

Se baser sur la l’attribut REV de la forme vcard des contacts N900 en le comporant avec le champ updated des entrées ATOM des contacts Google, aurait été une solution mais malheureusement le champ updated de google n’est mis à jour que lorsqu’une modification est faite dans gmail mais pas lorsque Nookle modifie le contact. De ce fait pour limiter les appels HTTP, Nookle conserve désormais pour chaque contact sa valeur REV lors de sa dernière synchronisation.

Ainsi Nookle n’envoie sur Google que les contacts qui on été modifiiés depuis la dernière synchronisation. Il existe néanmoins un option pour forcer l’envoi au cas où.

nookle -u user -p password -f

ou plus verbeusement

nookle -u user -p password --fullSync

Synchronisation de l’agenda et du carnet d’adresse du N900 avec Google

Nokia N900 communicator/internet tablet
Image via Wikipedia

La synchronisation est parfois utile à postériori quand par exemple on  perd son agenda suite à une erreur de manipulation. Contrairement à Android qui utilise nativement un compte google, le N900 n’a pas de service externe privilégié pour effectuer synchronisation et sauvegarde.

Heureusement que la bibliothèque de logiciels linux ou spécialisée maemo nous propose de nombreuses “solutions”. Ainsi SynEvolution est sencé permettre la synchronisation du carnet d’adresse mais dans mon cas même après plusieurs essais se fut un échec. De même la fonction intégrée au N900 pour se synchroniser avec un serveur Exchange fonctionne mal avec google.

Il faut alors se tourner, pour le calendrier, vers une application spécialisée Erminig grâce à laquelle on peut synchroniser les calendriers du N900 avec des calendriers google. L’application propose même une planification des synchronisations.

Quand à la synchronisation des contacts, malgrès l’existence de services comme soocial ou goosync, force est de constater que soit il faut payer pour déverrouiller les limites de la version gratuite, soit cela ne fonctionne carrément pas (s’appuyant sur syncevolution dans le cas de soocial). L’informaticien que je suis reprend alors sa casquette de développeur.

En dépit de la limitation de l’implémentation python de gdata à la version 1, m’obligeant à une gymnastique pour profiter de la mise à jour des données en version 3 (ex. du champ date de naissance), la mise au point d’un outils de synchronisation s’est terminée ce jour. La version trunk de Nookle est disponible. Il s’agit d’une application en ligne de commande dont voici le synopsis:

nookle -u user -p password

Nookle en plus de répondre à mon besoin premier d’avoir une sauvegarde des contacts du N900 vers un compte gmail, rapatrie également les contacts gmail sur le terminal mais uniquement s’ils n’existent pas sur le N900. La carnet d’adresse de ce dernier étant, pour moi, la référence, le carnet d’adresse de gmail ne doit pas l’écraser.

Synchronisation des fichiers multimedia du N900 avec un PC

Nokia N900 communicator/internet tablet
Image via Wikipedia

Dans la catégorie des smatphones le N900 fait figure d’ovni. Il ne jouit pas d’une réputation, justifiée, de machine grand public. La synchronisation des fichiers multimédia en est un exemple. Alors que la concurrences permet une synchronisation sans effort d’une bibliothèque de chansons avec le téléphone, le N900 manque d’application user-friendly . En effet avec un Iphone, on a ITune et même à l’époque des pocket PC, Windows Media Player permettait de garder la synchronisation.

La problématique exposée ici est celle d’amener avec soi sa bibliothèque multimédia afin d’en jouir en mobilité. Le N900 est sans doute la machine la plus à même de répondre à ce besoin avec ses 27 Go disponibles. La solution de la copie plus une synchronisation par rsync satisfont parfaitement mais de nos jours la bibliothèque des fichiers que les gens ont sur leur ordinateur peut dépasser les 27 Go ! Par ailleurs, on peut avoir besoin de place sur le N900 pour d’autre choses (enregistrement vidéo etc).

Le problème est donc de synchroniser un sous ensemble de sa bibliothèque multimedia PC. Bien entendu, cette synchronisation doit être automatique.

Les logiciels pour N900 tel que MediaBox permettent la sélection manuelle des certains fichiers stockés à distance par UPnP (via MediaTomb) mais il faut soi-même supprimer les fichiers obsolètes et en choisir de nouveaux. Le grand public est fainéant.

Heureusement que la solution n’est pas compliquée et facile à implémenter. L’idée est de fournir au N900 une liste de fichiers à prendre sur le PC. Cette liste doit changer car il serait dommage d’avoir toujours les mêmes chansons  à écouter…

L’utilitaire GoMedia écrit en python offre une commande en ligne paramétrable pour générer une liste de fichier. L’exemple suivant sélectionne aléatoirement pour 10 Mo max de fichier audio pris dans le répertoire spécifié par l’option -d et génère un fichier n900_playlist:

gomusic -m 10 -d /home/thierry/Musique/ -o /home/thierry/Musique/n900_playlist

Cette commande sera planifiée par un script /etc/cron.hourly/gomusic

#!/bin/sh
gomusic -m 10 -d /home/thierry/Musique/ -o /home/thierry/Musique/n900_playlist

La fréquence choisie permet de prendre en compte les nouveaux fichiers de la bibliothèque dans l’heure qui suit une modification.

Ensuite pour rendre ce fichier accessible au N900 qui sera l’initiateur de la synchronisation, on peut le mettre sur une url web accessible uniquement depuis le réseau interne en créant le fichier /etc/apache2/conf.d/gomusic

Alias /gomusic /home/thierry/Musique
<Location /gomusic>
 Order Allow,Deny
 Allow from 192.168.0.0/255.255.0.0
</Location>

Ainsi l’url //<mon_ip>/gomusic/n900_playlist ne sera accessible que depuis l’intranet. Lorsque le N900 sera dans le réseau local il suffira de lui faire faire un wget à cette url pour obtenir une liste de fichiers de musique. Le script suivant permet par exemple de synchroniser le répertoire /home/user/MyDocs/.sound/jesus avec cette liste

#!/bin/sh
wget -O /home/user/n900_playlist -T 10 -t 1 -q //192.168.0.12/gomusic/n900_playlist;
if [ $? -ne 0 ]; 
then
 exit 1
fi
rm -r /home/user/MyDocs/.sounds/jesus;
rsync --files-from /home/user/n900_playlist 192.168.0.12::musique  /home/user/MyDocs/.sounds/jesus

L’automatisation de cette tâche peut être faite avec l’outil Alarmed pour être déclenchée par exemple tous les soirs à 23h.

CIGREF Publications: 2010 – Maturité et gouvernance de l’Open Source

Une publication du CIGREF à paraitre qui sera intéressant à lire et à diffuser. Voilà encore une preuve que l’open source est une solution de premier choix et que sa non utilisation doit maintenant être justifiée plutôt que de se demander si on peut ou non s’en servir.

CIGREF Publications: 2010 – Maturité et gouvernance de l’Open Source.