====== SparkleShare, un Dropbox-like Open Source ======
===== Présentation =====
SparkleShare (site : [[http://sparkleshare.org/]]) est un outil open-source de synchronisation « instantanée » de dossiers et fichiers, comme Dropbox ([[http://www.dropbox.com/]]).
Ainsi, lorsqu’un dossier est partagé, tout son contenu se retrouvera dans le dossier des machines liées.
Exemple :
{{http://www.cachem.fr/wp-content/uploads/2012/12/SparkleShare-ubuntu.jpg}}
* Créez le dossier **FOLD1**
* Liez la machine A (Windows) au dossier FOLD1.
* Liez la machine B (Linux) au dossier FOLD1.
* Liez la machine C (Mac) au dossier FOLD1.
* Si vous déposez une image dans le dossier FOLD1 sur la machine A, cette image se retrouvera automatiquement dans les dossiers FOLD1 des machines B et C.
==== Avantages ====
* Maîtrise du serveur sur lequel sont stockées les données partagées. Les données stockées sur les serveurs Dropbox, Skydrive, GoogleDrive, etc. deviennent LEUR propriété...
* Pas de limite de l’espace de stockage (Dropbox et GoogleDrive limitent à 5Go par défaut et Skydrive à 7Go)
* Réplication de dossiers en temps réel
* partage de documents entre collaborateurs
===== Pré-requis =====
* une adresse IP :
* adresse IP fixe (Free,…) ou dynamique avec [[http://dyndns.org/|DynDNS]] ou [[http://no-ip.com/|NoIP]], le routeur étant en mode accès distant
* ou adresse IP locale accessible du réseau
* Un ou plusieurs PCs (virtuels ou physiques) :
* connectés à Internet
* avec suffisamment d’espace de stockage selon besoins
* client SparkleShare téléchargé sur [[http://sparkleshare.org/|sparkleshare.org]] selon la machine (PC Windows/Linux ou Mac)
* .NET Framework V4.0.30319 minimum installé sur le client Windows (Télécharger [[http://www.microsoft.com/fr-fr/download/details.aspx?id=17851|ici]])
* Linux Ubuntu Server ([[http://www.ubuntu.com/|www.ubuntu.com]])
===== Installation du serveur SparkleShare =====
Connectez-vous en ssh sur la machine serveur, selon le cas :
* sous windows, à l’aide de putty
* sous Linux / MacOSX : Ouvrez un terminal et tapez la ligne de commande :ssh administrateur@[Adresse IP du serveur]
* ou directement sur le serveur : Authentifiez-vous avec le compte utilisateur créé lors de l’installation
* ou, sous n'importe quel OS, utilisez le module complémentaire FireSSH dans Firefox
Dans le terminal, exécutez la commande suivante :
* sudo curl https://raw.github.com/hbons/Dazzle/master/dazzle.sh --output /usr/bin/dazzle && sudo chmod +x /usr/bin/dazzle
Entrez le mot de passe ; une fois l’opération terminée, il s'affiche ceci :
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7752 100 7752 0 0 13860 0 --:--:-- --:--:-- --:--:-- 18154
Le script serveur est installé. Pour configurer le serveur, exécutez la commande suivante :
* sudo dazzle setup
Le script installe les paquets nécessaires au bon fonctionnement du serveur. Une fois la commande achevée, le message suivant apparaît :
pi@framboise ~ $ sudo dazzle setup
1/4 | Installing the Git package...
-> The Git package has already been installed (version 1.7.10.4).
2/4 | Creating account "storage"...
-> Account already exists.
3/4 | Configuring account "storage"...
-> 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".
pi@framboise ~ $
===== Création des dossiers partagés =====
Pour créer un dossier partagé public, accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :
* sudo dazzle create Public
Pour créer un dossier partagé privé, il suffit d’exécuter la commande suivante :
* sudo dazzle create-encrypted Prive
Après la création d’un dossier, le message suivant devrait s’afficher :
pi@framboise ~ $ sudo dazzle create Public
Creating project "Public"...
-> /usr/bin/git init --bare /home/storage/Public
-> /usr/bin/git config --file /home/storage/Public/config receive.denyNonFastForwards true
-> echo "*.DMG -delta" >> /home/storage/Public/info/attributes
-> chown --recursive storage:storage /home/storage
-> chmod --recursive o-rwx /home/storage/Public
Project "Public" was successfully created.
To link up a SparkleShare client, enter the following
details into the "Add Hosted Project..." dialog:
Address: ssh://storage@:22
Remote Path: /home/storage/Public
To link up (more) computers, use the "dazzle link" command.
pi@framboise ~ $
===== Installation des clients =====
==== Sur une machine Ubuntu ====
Installer les paquets :Installez le paquet **[[apt>sparkleshare,libwebkit1.1-cil,git-core,python-nautilus]]** ou en ligne de commande :$ sudo apt install sparkleshare libwebkit1.1-cil git-core python-nautilus
Lancer sparkleshare :$ sparkleshare start
Renseigner quelques informations (nom, prénom, adresse mail) :{{ logiciel:internet:disque:sparkleshare:sparkleshare-01.png |}}
un petit tuto s'affiche.{{ logiciel:internet:disque:sparkleshare:sparkleshare-03.png |}}
{{ logiciel:internet:disque:sparkleshare:sparkleshare-04.png |}}
{{ logiciel:internet:disque:sparkleshare:sparkleshare-05.png |}}
==== Sur une machine Windows ====
===== Paramétrage de la connexion entre le serveur et les clients =====
==== Liaison d’un client au serveur ====
Une fois passée cette présentation, il va falloir relier le client avec le serveur.
=== Sur le client à relier ===
Récupérez la chaine d’authentification du client, c’est-à-dire l’empreinte qui permettra au serveur de connaître le client.
Pour cela, allez dans le profil utilisateur, dossier SparkleShare :
* Sous Windows XP : C:\Documents And Settings\[UTILISATEUR]\SparkleShare
* Sous Vista, 7 ou 8 : C:\Utilisateurs\[UTILISATEUR]\SparkleShare
* Sous Ubuntu :
* Quand le client est installé, une icône apparaît dans la barre de notification.
* Cliquez une fois dessus, un menu s’affiche.{{ logiciel:internet:disque:sparkleshare:sparkleshare-06.png |}}
* Cliquez sur SparkleShare : le répertoire SparkleShare de votre homedir s'ouvre.
Ce dossier contient un fichier texte r **[Utilisateur enregistré]‘s link code.txt** contenant la clé publique du client
Exemple de contenu :
ssh-rsa AAAAB3ABIwAAA.........Y7JCRaNrKF8ipz9mHwr26elQN.........aiclCn9lECE+qvL9Ew== VM-WIN7PRO-JC
Sélectionnez son contenu (Ctrl - A) et copiez-le dans le bloc-notes (Tout sélectionner = Ctrl - A puis copie = Ctrl - C).
=== Sur le serveur, via ssh ===
Retournez sur le serveur via ssh ou en terminal et lancez la commande suivante :
* sudo dazzle link
Le serveur demande de saisir le link code :
pi@framboise ~ $ sudo dazzle link
Paste your Client ID (found in the status icon menu) below and press .
Client ID:
Collez le contenu du fichier précédemment copié et tapez la touche Entrée.
Le serveur affiche l’information suivante :
...
Client ID: xxxxx...xxxxx
The client with this ID can now access projects.
Repeat this step to give access to more clients.
pi@framboise ~ $
Le client peut désormais se connecter et il faut répéter l’opération pour tous les clients à connecter.
==== Configuration ====
Cliquez une fois sur l'icône dans la barre de notification. Un menu s’affiche :
{{ logiciel:internet:disque:sparkleshare:sparkleshare-06.png |}}
Cliquez sur **Ajouter un produit hébergé...**
{{ logiciel:internet:disque:sparkleshare:sparkleshare-07.png |}}
{{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_paramok.png}}
Une fenêtre d'erreur apparaît :
{{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_oops.png}}
C’est tout à fait normal ! En effet, le serveur est prêt, le client est prêt mais il faut maintenant les lier ensemble.
==== Liaison d’un client au serveur ====
=== Sur le serveur ===
Vous pouvez maintenant répéter l’opération de la Phase 4. Sauf que cette fois-ci, la dernière fenêtre sera :
{{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_ok.png}}
Si vous avez créé un dossier crypté (sudo dazzle create-encrypted Prive), une fenêtre vous demandera la saisie d’un mot de passe :
{{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_crypt_password.png}}
Ce qui vous permettra de protéger le contenu et de ne le rendre accessible que par vous qui connaissez le mot de passe.
==== Utilisation ====
Cliquez une fois sur l’icône de notification de SparkleShare, un menu s’affiche :
{{http://www.cachem.fr/wp-content/uploads/2012/12/M1-1.png}}
Si vous cliquez sur **Public**, une fenêtre s’ouvrira dans ce dernier.
Si vous avez partagé ce dossier entre 2 ou N ordinateurs, tout ce que vous stockerez dedans sur l’ordinateur A sera disponible dans les autres ordinateurs.
===== Références =====
* [[http://www.cachem.fr/installer-sparkleshare-dropbox-like-open-source/]]