Table of Contents

SparkleShare

{{:informatique:logiciels:sparkleshare-logo.png|

SparkleShare est un logiciel libre ayant comme fonction de créer un dropbox-like héberger chez soi (sur sa propre machine). Ainsi, on créer sur une machine hôte (un serveur) un dossier, et tous les clients pourront le copier en local et le synchroniser en temps réel.

C'est une solution adaptée au travail en équipe sur des fichiers de petite et moyenne taille.

Installation

Je vous décris ici la procédure “officielle” pour installer la version contemporaine à l'heure où j'écris ces ligne, à savoir la version 1.2. Mon serveur hôte sera une Debian 7.4 et mes 2 clients seront des postes Windows 7.

Installer l'hôte

su -
# téléchargement et lancement de l'assistant :
curl https://raw.github.com/hbons/Dazzle/master/dazzle.sh --output /usr/bin/dazzle && chmod +x /usr/bin/dazzle
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8356  100  8356    0     0  10394      0 --:--:-- --:--:-- --:--:-- 13097
 
dazzle setup
 1/4 | Installing the Git package...
  -> apt-get --yes install git
Lecture des listes de paquets...
Lecture des informations d'état...
Les paquets supplémentaires suivants seront installés :
  git-man libcurl3-gnutls liberror-perl rsync
Paquets suggérés :
Les NOUVEAUX paquets suivants seront installés :
Après cette opération, 15,9 Mo d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://debian.mirrors.ovh.net/debian/ wheezy/main libcurl3-gnutls amd64 7.26.0-1+wheezy8 [321 kB]
Réception de : 2 http://debian.mirrors.ovh.net/debian/ wheezy/main liberror-perl all 0.17-1 [23,6 kB]
Dépaquetage de liberror-perl (à partir de .../liberror-perl_0.17-1_all.deb) ...
Sélection du paquet git-man précédemment désélectionné.
Dépaquetage de git-man (à partir de .../git-man_1%3a1.7.10.4-1+wheezy1_all.deb) ...
Sélection du paquet git précédemment désélectionné.
Dépaquetage de git (à partir de .../git_1%3a1.7.10.4-1+wheezy1_amd64.deb) ...
Dépaquetage de rsync (à partir de .../rsync_3.0.9-4_amd64.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de liberror-perl (0.17-1) ...
  -> mkdir --parents /home/storage/.ssh
  -> touch /home/storage/.ssh/authorized_keys
  -> chmod 700 /home/storage/.ssh
  -> chmod 600 /home/storage/.ssh/authorized_keys
 4/4 | Reloading the SSH config...
  -> /etc/init.d/ssh reload
 
Setup complete!
To create a new project, run "dazzle create PROJECT_NAME".
 
# on créer un dossier partagé chiffré
dazzle create-encrypted ss_sync
Creating encrypted project "ss_sync"...
  -> /usr/bin/git init --bare /home/storage/ss_sync-crypto
  -> /usr/bin/git config --file /home/storage/ss_sync-crypto/config receive.denyNonFastForwards true
  -> echo "*.DMG -delta" >> /home/storage/ss_sync-crypto/info/attributes
  -> chown --recursive storage:storage /home/storage
  -> chmod --recursive o-rwx /home/storage/ss_sync-crypto
 
Project "ss_sync-crypto" was successfully created.
To link up a SparkleShare client, enter the following
details into the "Add Hosted Project..." dialog:
 
      Address: ssh://storage@X.X.X.X:22
  Remote Path: /home/storage/ss_sync-crypto

Notez que la clé de chiffrement ne m'a pas été demandée à cette étape. Elle sera fourni par le premier client qui s'y connectera !

Installation cliente

Téléchargez la version qui_va_bien et installez-la. Une fois installé et lancé, SparkleShare se loge dans la barre des tâches ; cliquez droit dessus / SparkleShare / Add hosted project.

Sélectionner “On my own server” et préciser les paramètres de votre hôte (si vous étiez attentifs vous avez dû remarquer que l'assistant sur le serveur vous les a pré-mâché tout à l'heure !) :

      Address: ssh://storage@X.X.X.X:22
  Remote Path: /home/storage/ss_sync-crypto

Puis, comme je suis le premier client à me connecter, je spécifie le mot de passe d'accès à ce projet.

Retourner sur le serveur hôte afin d'ajouter le client pour qu'il puisse avoir accès aux dossiers partagés : il suffit de recopier sur l'hôte le client ID (la clé SSH générée par l'assistant du client). On peut à tout moment la récupérer dans SparkleShare / Client ID / Copy to clipboard.

Sur le serveur hôte :

dazzle link
Paste your Client ID (found in the status icon menu) below and press <ENTER>.
 
 Client ID: ssh-rsa blablabla[..]XYZ toto
 
The client with this ID can now access projects.
Repeat this step to give access to more clients.
 
To link up (more) computers, use the "dazzle link" command.

Répéter la même chose sur chaque client à ajouter.

Maintenant chaque modification, ajout ou suppression d'un fichier dans ce dossier sera répercuté sur le serveur hôte et tous les autres clients.

Changer le chemin du dossier synchronisé

Pour modifier l'emplacement du répertoire synchronisé, il faut :

  <folders_path>E:\Dossiers synchros\</folders_path>

.. évidemment, remplacer E:\Dossiers synchros\ par le chemin voulu.