Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
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.

Avant de passer à l'étape suivante, vérifiez la réussite de l'installation :

$ 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.

Si vous êtes sous Feisty, pensez à bien suivre les instructions spécifiques à cette version d'Ubuntu.

Avant de passer à l'étape suivante, vérifiez que Tomcat est bien démarré et en écoute sur le port 8180 (par défaut) en cliquant sur le lien : http://localhost:8180.

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
  1. Installez le gestionnaire de base de données en suivant le guide de PostgreSQL.
  2. Installez le paquet libpg-java du pilote JDBC (Java Database Connectivity) pour PostgreSQL nécessaire à la communication entre Java et la base.
  3. 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

-S → pas un super-utilisateur
-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
  1. Téléchargez l'archive contenant le Data Synchronization Server.
  2. 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

La procédure d'installation s'est bien déroulée … jusqu'à cette commande ! "bash: bin/install.sh: Permission non accordée "

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.

On utilise explicitement la commande 'bash' pour éviter les erreurs dues à l'utilisation de 'dash' sous Edgy (cf. http://forum.ubuntu-fr.org/viewtopic.php?pid=738472).

Vérifiez la réussite de l'installation en accédant à la page d'accueil de Funambol : http://localhost:8180/funambol/.

Si Tomcat vous renvoie une erreur 404 [La ressource demandée (/funambol) n'est pas disponible.], essayez de désactiver l'utilisation du Java security manager de Tomcat en éditant le fichier /etc/init.d/tomcat5.5 pour modifier la valeur de la variable suivante :

# Use the Java security manager? (yes/no)
TOMCAT5_SECURITY=no

Cette "solution" présente un risque de sécurité. Il serait plus judicieux d'écrire une policy spécifique à Funambol.

Il existe un fichier de policy fourni avec le serveur Funambol. Pour l'utiliser, et ne pas modifier /etc/init.d/tomcat5.5 :

$ 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

L'administration n'est a priori pas possible en ligne de commande. Cependant, le module d'administration est un simple client qui peut se connecter en tant qu'admin depuis un ordinateur distant, via une connection internet.

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.

Faites une copie de sauvegarde de l'archive (pour le cas où) qui sera supprimée lors de l'extraction du tar par gunzip :

$ 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 &

Pour ajouter un raccourci à votre menu Gnome, définissez ainsi les propriétés de votre lanceur :

  • 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.

Par défaut l'identifiant (User name) est admin et le mot de passe (Password) est sa.

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 :

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 :

Vous pouvez installer l'extension de votre choix en ouvrant simplement avec Thunderbird le .xpi que vous avez téléchargé.

Si vous téléchargez l'extension avec Firefox, il tentera de l'installer dans sa propre liste d'extensions. Choisissez plutôt d'enregistrer le fichier sur le disque.

Les extensions ci-dessus ne sont pas compatibles avec thunderbird 3 mais des versions 1.0 beta sont disponible ici

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.

Chez moi (Ubuntu Gutsy / Thunderbird 2.0.0.6), cette extension (version 0.4) a la fâcheuse habitude de planter mon Thunderbird en indiquant une Segmentation fault (core dumped) lors d'une tentative de synchronisation. NB - La JRE 1.6 des depots Ubuntu semble être instable, nombreux problèmes avec d'autres applications Java (Azureus, …)

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.

Liens

1) Tomcat n'est pas, à proprement parler, un serveur d'applications mais plutôt un "conteneur de servlets".


Le contenu de ce wiki est sous licence : CC BY-SA v3.0