Firefox- Synchroniser ses marque pages, mots de passes entre plusieurs navigateurs sur son propre serveur des synchro

Depuis la version 4, Firefox intègre une fonctionnalité de synchronisation de marque pages, disponible auparavant uniquement sous forme de plugin. Bien qu'il existe d'autre solutions de synchronisation, j'ai souhaité utiliser celle-ci, car :

  • Elle est intégrée à Firefox, et fonctionne sur tous types de plateformes (j'ai du mac, du pc et du linux...)
  • Elle chiffre les données avant de les transmette dans une password store distante
  • La "password store" distante est de plus protégée par login / password qui sont échangés en https (ssl)
  • Il est possible d'utiliser le service de stockage de Firefox, ou de mettre en place le sien.

Voyons voir comment procéder pour installer le tout avec son propre serveur de synchro.

Choix de la techno

ffsync.pngPour mettre en place un serveur de stockage de marque-pages compatible avec la fonction de Synchro intégrée à Firefox 4(et+), il existe au moins 2 possibilités :

  • L'une consistant en la mise en place d'un serveur en grande partie écrit en Python 2.6 ( http://docs.services.mozilla.com/howtos/run-sync.html )
  • Une autre consistant en un ensemble de scripts PHP qui réalisent un serveur 'light': Le Weave Minimal Server

La première possiblité nécessite sur le serveur qui va recevoir l'installation :

  • Python 2.6
  • Virtualenv
  • Open LDAP ou MySQL ou SQLite pour stocker les utilisateurs
  • Un serveur web (Apache ou Lighthttpd)
  • Une technologie permettant de faire fonctionner du Python sur le serveur web (fcgi, mod_wsgi)

Le problème est que mon serveur est installé en Redhat Enterprise 5, et ne dispose que de Python 2.4. Comme beaucoup de scripts du système (et notamment le mécanisme de mise à jour par yum) sont très fortement liés à Python 2.4, il faudrait installer un Python 2.6 'à coté', et le faire fonctionner avec Virtualenv. Ce n'est pas insoluble, mais c'est beaucoup de travail pour une utilisation personnelle. Ce serait tout à fait justifié pour installer un serveur pour des centaines d'utilisateurs dans une entreprise, mais pas ici;

je me suis donc concentré sur la 2e possibilité: le serveur écrit en PHP. Bien qu'il ne soit plus développé depuis le 25/03/2011 (sauf pour des correctifs de sécurité), il reste tout à fait d'actualité pour ce genre d'utilisation.

Méthodologie d'installation :

  • Mettre en place un virtual host sous Apache avec les ssl validés
  • Télécharger l'archive http://people.mozilla.com/~telliott/weave_minimal.tgz et la décompresser dans un répertoire en dehors de l'espace web. Ici nous le ferons sur "/home/webs/monsite.com/weave", sachant que les pages web de ce site sont dans "/home/webs/monsite.com/html"
  • Mettre les droits d'écriture apache à ce répertoire :
chown -R apache:apache /home/webs/monsite.com/weave
  • Intégrer dans la config apache le bloc de config suivant pour ce virtual host:
Alias /weave /home/webs/monsite.com/weave/index.php
  • Note importante : Attention à bien mettre /index.php à la fin du répertoire, c'est ce qui va permettre de gérer la redirection d'url....

Phase de couplage

  • Il est supposé que weave soit visible de l'extérieur par "https://monsite.com/weave"
  • Ouvrir Firefox,
  • Se connecter à "https://monsite.com/weave" et accepter le certificat de sécurité autosigné
  • Paramétrer comme suit la synchro (dans "Outils", "Configurer Sync" :
  • Cliquer sur "j'ai déjà un compte Firefox Sync"

ff-sync1.jpg

  • Cliquer sur le lien "je n'ai pas l'appareil avec moi"

ff-sync2.jpg

  • Renseigner la boite de dialogue en mettant votre adresse email dans le compte, un mot de passe de votre choix, une clé de synchronisation de votre choix, et l'adresse du serveur précédemment installé

ff-sync3.jpg

  • Faire "Suivant" une fois.
  • Un message d'erreur indique que cela n'a pas fonctionné. C'est normal, le but de ce premier accès est de faire créer la base de données vide au programme.

ff-sync4.jpg

  • Se connecter sur le serveur via SSH, et aller dans le répertoire de weave ( /home/webs/monsite.com/weave). Vérifier que le fichier "weave_db" a bien été créé
  • Toujours sous ssh, faire "php create_user". Choisir l'option (c) create user, et renseigner la même adresse email et le même mot de passe que précédemment. Après la création, le script rend la main. Il y a d'autres options dans ce script écrit en php et utilisable en ligne de commande. Je vous laisse les visiter...
  • Revenir sous Firefox et ré appuyer sur "Suivant". Cette fois ci l'assistant devrait se terminer.
  • Voila, c'est fini!!!

Pour raccorder d'autres ordinateurs sur le même compte, il suffit de refaire les phases de couplage, mais sans la phase de création de l'utilisateur dans la base de données.

Cette base de données peut contenir les marque pages de plusieurs utilisateurs. Dans ce cas, refaire la procédure complète, avec la création d' l'utilisateur.

A noter également que dans "Options", onglet "Sync", il est possible de voir l'état du compte, ses réglages. La dernière version de Weaver permet de visualiser les quotas ("Gestion du compte", "Afficher le quota".

ff-sync5.jpg

Le produit et rapide et ne mange pas 100 % de CPU comme Xmarks. Il a pour seul inconvénient de ne pas sauver les favicons avec les marque pages, mais ce n'est pas trop grave...

De plus, avec son propre serveur, les paranos pourront vérifier que leur données sont stockées en environnement connu...

Bonne installation.