Apportez votre aide…
Installation et configuration de Funambol
Présentation
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 :
- un serveur de synchronisation des données (Data Synchronization Server),
- un serveur de gestion des périphériques mobiles (Device Management Server),
- des connecteurs permettant l'interaction avec des systèmes de fichiers, des bases de données ou des applications tierces,
- des plug-ins pour synchroniser les données depuis des clients qui peuvent être des applications (Outlook, Thunderbird, …) ou des périphériques mobiles (PocketPC, BlackBerry, …),
- un kit de développement pour créer des applications clientes (plug-ins) ou ajouter des fonctionnalités au serveur.
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.
Installation du serveur
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 :
- une version bundle qui contient l'ensemble des composants nécessaires au fonctionnement de Funambol :
- le serveur DS v6.0
- Apache Tomcat 5.5
- le JRE (Java Runtime Environment) 1.5.0
- une base de données Hypersonic
- l'outil d'administration
- une version simple qui contient uniquement l'application Web à laquelle pourront être ajoutés les modules souhaités.
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 .
Version « tout-en-un »
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 :
- arrêt du serveur :
sudo /opt/Funambol/tools/bin/funambol.sh stop
Pour la version 7:
cd /opt/Funambol/bin/ sudo ./funambol stop
- suppression de Funambol : attention toutes les données seront supprimées
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
Version « à la carte »
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.
Java
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
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.
PostgreSQL
La base de données contiendra les infos nécessaires au fonctionnement de Funambol ainsi que vos données personnelles issues de la synchronisation.
Installation
- Installez le gestionnaire de base de données en suivant le guide de PostgreSQL.
- Installez le paquet libpg-java du pilote JDBC (Java Database Connectivity) pour PostgreSQL nécessaire à la communication entre Java et la base.
- Installez, si vous le souhaitez, le client d'administration graphique PgAdmin III.
Préparation pour Funambol
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
-D → pas le droit de créer des bases
-R → pas le droit de créer des rôles
-P → demande un mot de passe pour l'utilisateur
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
Serveur DS
Maintenant que les composants de base sont prêts, il est temps de passer à l'installation de Funambol proprement dit.
Installation
- Téléchargez l'archive contenant le Data Synchronization Server.
- Placez vous dans le répertoire qui contient l'archive pour l'extraire vers le répertoire où vous souhaitez installer Funambol (/opt dans mon cas) :
$ cd download/ $ sudo unzip funambol-ds-server-6.0.6.zip -d /opt
Déploiement de l'application Web
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
Module d'administration
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 &
- Type : Application
- Nom : Funambol Admin
- Commande : gksudo /opt/Funambol/admin/bin/funamboladmin
- Icône : /opt/Funambol/admin/icons/icon_admin.ico
Configuration du serveur
Première connexion
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.
Ajout d'un utilisateur
Sélectionnez le menu Users dans le panneau latéral. Créez un utilisateur, par exemple :
- Username : pikachubuntu
- Password : pikachubuntu
- First Name : Pika
- Last Name : Chubuntu
- E-mail : pikachubuntu@free.fr
- Roles : User
Ajout d'un client (device)
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.
Installation et configuration du client pour PocketPC
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.
Installation
Téléchargez et installez le client pour :
- Smartphone (.cab) : http://download.forge.objectweb.org/sync4j/funambol-smartphone-plugin-6.5.14.cab
- Smartphone (.exe) : http://download.forge.objectweb.org/sync4j/funambol-smartphone-plugin-6.5.14.exe
- Android (.apk) : soit directement sur l'Android Market, soit à l'adresse https://android-client.forge.funambol.org/
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/
Configuration et utilisation
Exécutez l'application Funambol sur votre PocketPC / Smartphone.
Configurez votre compte (Menu / Account) :
- Server location : http://192.168.0.1:8080/funambol/ds (remplacez 192.168.0.1 par l'adresse IP de votre serveur ainsi que le port : 8080 pour une installation bundle)
- Username : pikachubuntu (remplacez par l'utilisateur que vous avez précédemment créé dans le module d'administration)
- Password : pikachubuntu (même remarque que pour Username)
Configurez les paramètres de synchonisation (Menu / Sync Settings) en cochant les éléments que vous voulez synchroniser avec votre serveur :
- Email : vos emails
- Contacts : vos contacts
- Calendar : votre calendrier
- Tasks : vos tâches
- Notes : vos notes
- Briefcase : vos fichiers (présents dans le répertoire de votre choix)
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).
Installation et configuration du client pour Thunderbird
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.
Installation
Il existe 2 extensions pour Thunderbird :
- l'extension SyncML Tsync de Tobias disponible ici.
- l'extension officielle Funambol Mozilla Synchronizer disponible ici (version 0.9.1 pour 32 bits ) ou là ici (version 0.9.1 pour 64 bits ).
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.
Configuration et utilisation
Tsync
Configurez la synchronisation via le menu Outils / Sync Settings.. :
- Username : pikachubuntu (remplacez par l'utilisateur que vous avez précédemment créé dans le module d'administration)
- Password : pikachubuntu (même remarque que pour le Username)
- Database name : card (le nom par défaut de la base qui contient les contacts)
- URL : http://192.168.0.1:8180/funambol/ds (remplacez 192.168.0.1 par l'adresse IP de votre serveur)
Lancez la synchronisation via le menu Outils / Sync.
Funambol Plugin
Configurez la synchronisation via le menu Outils / Funambol Plugin… / Options :
- Server Url : http://192.168.0.1:8180/funambol/ds (remplacez 192.168.0.1 par l'adresse IP de votre serveur)
- Username : pikachubuntu (remplacez par l'utilisateur que vous avez précédemment créé dans le module d'administration)
- Password : pikachubuntu (même remarque que pour le Username)
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.