Funambol est une suite logicielle permettant la synchronisation de données telles qu'un carnet d'adresses, un calendrier ou des emails, entre plusieurs ordinateurs et/ou périphériques portables (PocketPC, Smartphone, iPod, …). Il fait donc partie des logiciels de type PIM (Personal Information Manager), acronyme qui désigne par extension les données personnelles gérées.
Funambol comprend :
Funambol est entièrement développé en Java et repose sur le protocole standardisé SyncML (dont le nom est désormais OMA). C'est un logiciel commercial qui est également proposé sous forme d'une édition open-source : la Community Edition. C'est cette version que ce guide vous propose d'installer et de paramétrer.
Nous prendrons comme exemple l'installation du serveur Funambol sur Tomcat servi par une base de données PostgreSQL et de 2 clients : l'application Mozilla Thunderbird et un PocketPC sous Windows Mobile 5.
Le cœur de Funambol réside dans le serveur de synchronisation (serveur DS) qui gère le stockage et la synchronisation des données. C'est en fait une application Web hébergée par un serveur d'application (Tomcat 1), JBoss) qui repose sur une base de données (en fait un Système de Gestion de Base de Données ou SGBD). Il existe deux versions du serveur :
La première version est recommandée pour les utilisateurs qui ne disposent d'aucun des composants (Java, serveur, SGBD) nécessaires à la version simple ou pour ceux qui souhaitent une installation simple et rapide dans le but, par exemple, de tester Funambol.
La seconde version s'adresse plutôt aux utilisateurs qui possèdent déjà Java et Tomcat ou un SGBD, ceux qui préfèrent customiser leur installation ou ceux qui ne savent pas comment occuper leur soirée .
Téléchargez puis installez le binaire de la version bundle :
wget -O funambol-10.0.3.bin http://downloads.sourceforge.net/project/funambol/bundle/v10/funambol-10.0.3.bin?r=&ts=1326758067&use_mirror=freefr sudo sh ./funambol-10.0.3.bin
Pour les version précédentes, voir ici : http://download.forge.objectweb.org/sync4j/, ou là : http://sourceforge.net/projects/funambol/files/bundle/ .
Suivez ensuite les instructions affichées.
La mise à jour (6.0 → 6.5 par exemple) ne se fait pas en douceur, les données (utilisateurs, contacts, etc.) seront écrasées. On peut alors démarrer sur une installation vierge :
sudo /opt/Funambol/tools/bin/funambol.sh stop
Pour la version 7:
cd /opt/Funambol/bin/ sudo ./funambol stop
sudo rm -R /opt/Funambol
Vous pouvez désormais lancer l'installation.
Pour lancer automatiquement le serveur au démarrage, avec la version 10 de Funambol et Ubuntu 10.04 (et plus récentes), il faudra créer un fichier /etc/init.d/funambol et y insérer les lignes suivantes :
#!/bin/sh ### BEGIN INIT INFO # Provides: funambol # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Funambol server ### END INIT INFO cd '/opt/Funambol/bin/' /bin/su -s /bin/bash -l root /opt/Funambol/bin/funambol $1 cd '/etc/init.d'
Le rendre exécutable avec la commande :
sudo chmod +x /etc/init.d/funambol
Puis l'ajouter aux scripts de démarrage avec :
update-rc.d funambol defaults
Pour les précédentes version de Funambol, les instruction du manuel pourront être suivies (testé avec Funambol 8 et Ubuntu 9.10) :
cp /opt/Funambol/bin/funambol /etc/init.d/funambol
Éditer /etc/init.d/funambol et remplacer "FUNAMBOL_HOME=`{ cd .. ; pwd}`" par "FUNAMBOL_HOME=`{cd /opt/Funambol ; pwd}`"
ln -s /etc/init.d/funambol /etc/rc3.d/S30funambol
Cette version est plus compliquée à mettre en place que la version bundle mais elle permet de réutiliser des applications déjà présentes sur son ordinateur et de mieux appréhender l'architecture technique de Funambol. Nous verrons comment installer les différents composants nécessaires au fonctionnement de Funambol. Vous pouvez "sauter" les sections qui décrivent la mise en place de ceux que vous possédez déjà, à condition de vérifier que vous remplissez les requis mentionnés à la fin de chaque étape.
La base de l'application sera la JVM (Java™ Virtual Machine) qui permet d'exécuter le code Java de Tomcat et de l'application Funambol.
Installez au minimum le JRE (Java™ Runtime Environment) de Sun en suivant ce guide.
$ java -version java version "1.6.0_03" Java(TM) SE Runtime Environment (build 1.6.0_03-b05) Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
Tomcat est le serveur qui permettra d'héberger l'application Funambol en faisant le lien entre les requêtes reçues et le code à exécuter.
Plus d'infos et la méthode à suivre dans le guide d'installation de Tomcat.
Votre navigateur doit afficher la page d'accueil de Tomcat ou une page blanche si vous n'avez pas installé le paquet tomcat5.5-webapps.
La base de données contiendra les infos nécessaires au fonctionnement de Funambol ainsi que vos données personnelles issues de la synchronisation.
Créez un utilisateur autorisé à se connecter à la base de données et à créer des tables. Il sera utilisé par Funambol pour accéder à la base qui contiendra les données. Saisissez funambol comme mot de passe :
$ sudo su postgres $ createuser -S -D -R -P funambol Saisissez le mot de passe pour le nouvel rôle : Saisissez-le à nouveau : CREATE ROLE
Créez ensuite une base funambol dont l'utilisateur que l'on vient de créer sera le propriétaire (option -O pour owner) :
$ createdb -O funambol funambol CREATE DATABASE
Maintenant que les composants de base sont prêts, il est temps de passer à l'installation de Funambol proprement dit.
$ cd download/ $ sudo unzip funambol-ds-server-6.0.6.zip -d /opt
Placez vous dans le répertoire racine du serveur DS créé lors de l'extraction :
$ cd /opt/Funambol/ds-server/
Editez le fichier install.properties (en tant que super-utilisateur) et modifiez la section qui n'est pas commentée en fin de fichier pour paramétrer l'accès à la base :
jdbc.classpath=/usr/share/java/postgresql.jar jdbc.driver=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost/funambol jdbc.user=funambol jdbc.password=funambol
Définissez les variables d'environnement nécessaires à l'exécution du script d'installation :
$ sudo bash # export JAVA_HOME="/usr/lib/jvm/java-6-sun/" # export J2EE_HOME="/usr/share/tomcat5.5/"
Excécutez le script d'installation install.sh (en tant que super-utilisateur, c. à d. sans quitter le bash précédent) en indiquant comme paramètre le serveur qui hébergera Funambol :
# bin/install.sh tomcat55
Répondez positivement ('y') aux questions qui vous sont posées concernant les bases nécessaires à Funambol et aux applications de démo uniquement si c'est votre première installation et que les bases ne contiennent pas encore de données.
Vérifiez la réussite de l'installation en accédant à la page d'accueil de Funambol : http://localhost:8180/funambol/.
# Use the Java security manager? (yes/no) TOMCAT5_SECURITY=no
$ sudo cp /opt/Funambol/ds-server/lib/security/server.policy /etc/tomcat5.5/policy.d/60funambol.policy $ sudo chown tomcat55:adm /etc/tomcat5.5/policy.d/60funambol.policy $ sudo chmod u+x /etc/tomcat5.5/policy.d/60funambol.policy $ sudo /etc/init.d/tomcat5.5 restart
Ce module permet, comme son nom l'indique, d'administrer Funambol. Il sert à créer des utilisateurs et à autoriser la synchronisation des différents devices avec le serveur.
Téléchargez l'archive contenant l'Administration Tool.
$ cp funambol-admin-6.0.6.tgz funambol-admin-6.0.6.tgz.bak
Placez vous dans le répertoire contenant l'archive pour extraire les fichiers vers le répertoire qui contient déjà le serveur de synchronisation (/opt si vous avez suivi ce guide à la lettre ) :
$ cd download/ $ gunzip funambol-admin-6.0.6.tgz $ sudo tar xvf funambol-admin-6.0.6.tar -C /opt
Lancez le module d'administration :
$ gksudo /opt/Funambol/admin/bin/funamboladmin &
Lancez le module d'administration depuis le menu que vous avez précedemment créé ou avec la commande suivante :
$ sudo /opt/Funambol/admin/bin/funamboladmin
Puis identifiez-vous en sélectionnant l'option Login du menu File ou en double-cliquant sur le lien Funambol Administration Tool du panneau latéral gauche.
Modifiez le mot de passe de l'administrateur en éditant le profil de l'utilisateur admin via le menu Users du panneau latéral.
Sélectionnez le menu Users dans le panneau latéral. Créez un utilisateur, par exemple :
Il n'est pas nécessaire d'ajouter un client (téléphone / PDA, application de messagerie …) puisqu'il sera automatiquement créé lors de la première connexion au serveur avec un compte utilisateur existant.
Le client que vous installez sur votre PocketPC (ou votre Smartphone) vous permet de synchroniser vos données avec votre serveur. Elles pourront ensuite être synchronisées entre votre serveur et votre application de messagerie par exemple.
Téléchargez et installez le client pour :
Les liens ne sont plus valables, allez sur cette page de lien et trouvez ce dont vous avez besoin http://download.forge.objectweb.org/sync4j/
Exécutez l'application Funambol sur votre PocketPC / Smartphone.
Configurez votre compte (Menu / Account) :
Configurez les paramètres de synchonisation (Menu / Sync Settings) en cochant les éléments que vous voulez synchroniser avec votre serveur :
Lancez une synchronisation en cliquant sur Sync All.
Vous pouvez ensuite vérifier que votre client a bien été ajouté à la liste (menu Devices) en consultant le module d'administration du serveur. Le lien avec l'utilisateur a également été créé (menu Principals).
Le client pour Thunderbird est une extension qui vous permet de synchroniser votre carnet d'adresses avec votre serveur Funambol. Il vous permettra également de synchroniser votre agenda et vos tâches (extension ligthning pour thunderbird)
Si ce dernier a été synchronisé avec votre PocketPC, Thunderbird en recevra les contacts/agenda/tâches. De même lorsque vous synchoniserez votre PocketPC, il recevra les contacts/agenda/tâches issus de Thunderbird, via votre serveur Funambol.
Il existe 2 extensions pour Thunderbird :
Vous pouvez installer l'extension de votre choix en ouvrant simplement avec Thunderbird le .xpi que vous avez téléchargé.
Suite à de trop nombreux plantages, Mozilla a demandé de ne pas laisser la version 1.0 beta accessible au téléchargement. Les développeurs sont invités à participer au développement.
La page du projet.
Configurez la synchronisation via le menu Outils / Sync Settings.. :
Lancez la synchronisation via le menu Outils / Sync.
Configurez la synchronisation via le menu Outils / Funambol Plugin… / Options :
Lancez la synchronisation via le menu Outils / Funambol Plugin… / Click to Synchronize ou le bouton Synchronize de la barre d'outils.
Le problème semble être résolu en passant à la version 0.7 du plugin.
Il est à noter que la synchro du carnet d'adresse n'est pas complète quand on installe le plugin AB-0.5.6.3 ou version supérieure : on observe que la synchronisation des catégories ne fonctionne pas, alors qu'avec outlook la synchronisation des catégories est fonctionnelle. Ce qui pour un outil libre est assez irritant. Mais funambol reste très intéressant avec thunderbird.