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.
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.
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 !
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.
Pour modifier l'emplacement du répertoire synchronisé, il faut :
C:\Users\<USER>\SparkleShare
.</user>
:<folders_path>E:\Dossiers synchros\</folders_path>
.. évidemment, remplacer E:\Dossiers synchros\
par le chemin voulu.
ss sync
vers E:\Dossiers synchros\
)