Je me présente, je suis Julien, le tout dernier blogueur accepté par le souverain Messire FX, au sein de la communauté très fermée des chevaliers de la Table ronde du royaume de Cachem !
Ce n’est pas sans une certaine émotion que je prends mon clavier érodé afin de vous faire partager mes connaissances en matière de systèmes informatisés ! J’espère vous proposer des tests et tutos qui pourront vous servir à la fois chez vous ou à votre travail.
La connaissance est la seule richesse qu’on puisse répandre sans que ceux qui la répandent s’appauvrissent.
Trêve de bavardage et passons aux choses sérieuses!
SparkleShare, qu’est-ce que c’est que ce truc-là?
SparkleShare (sparkleshare.org) est un outil open-source permettant la synchronisation « instantanée » de dossiers et fichiers, à l’instar de Dropbox (www.dropbox.com).
Ainsi, lorsqu’un dossier est partagé, tout son contenu se retrouvera dans le dossier de la machine liée.
Exemple :
- On crée le dossier FOLD1.
- On lie la machine A (Windows) au dossier FOLD1.
- On lie la machine B (Linux) au dossier FOLD1.
- On lie la machine C (Mac) au dossier FOLD1.
- Si nous déposons une image dans le dossier FOLD1 sur la machine A, cette image se retrouvera automatiquement dans les dossiers FOLD1 des machines B et C!
Bon, d’accord c’est pas mal, mais quel est l’intérêt de faire tout ça alors que Dropbox existe ???
Pour les particuliers :
L’intérêt, mes chers amis, c’est déjà (et surtout) que vous êtes maître du serveur sur lequel les données partagées sont stockées. Sachez tout de même qu’en utilisant un système comme Dropbox, Skydrive, GoogleDrive,…, toutes les données que vous stockez chez eux et deviennent LEUR propriété ! C’est un argument qui me paraît assez pertinent.
Ceci étant, qu’ils soient propriétaires de mes photos du baptême du petit Hugo est peut-être la dernière de vos préoccupations. Effectivement, vue comme cela!
L’autre aspect est celui de l’espace de stockage. Et oui… Dropbox et GoogleDrive limite à 5Go par défaut et Skydrive à 7Go.
Imaginez 500 Go de données totalement partagées entre vos différentes machines… Ça fait rêver! Et bien le rêve peut devenir réalité grâce à SparkleShare !
Pour les professionnels, les bénéfices de ce type de système sont tous trouvés :
- Maitrise de l’espace de stockage
- Réplication de dossiers en temps réèl entre 1 et X serveurs
- Le partage de documents entre collaborateurs
Déploiement
Prérequis
- Adresse IP :
- Un ou plusieurs PC (virtuel ou physique) :
- Connectable à Internet
- Suffisamment d’espace de stockage selon vos besoins
- Le(s) client(s) SparkleShare téléchargé selon votre machine (PC Windows/Linux ou Mac) sur sparkleshare.org
- .NET Framework V4.0.30319 minimum installé sur le client Windows (Télécharger ici)
- Linux Ubuntu Server (www.ubuntu.com)
Phase 1 : Installation du serveur
Pour ce tuto, nous utiliserons une version stable d’Ubuntu server que vous pouvez télécharger par ici. Nul besoin de prendre la version LTS (Long-Term Support) !
Un petit tuto vidéo, que je vous ai concocté : ici
Phase 2 : Installation du serveur SparkleShare
Une fois votre serveur prêt, connectez-vous dessus en ssh :
- Sous windows :
- à l’aide de putty
- Sous Linux / MacOSX :
- Ouvrez un terminal et tapez la ligne de commande : ssh administrateur@[Adresse IP du serveur]
- Directement sur le serveur :
- Authentifiez-vous avec le compte utilisateur que vous avez créé lors de l’installation
Une fois 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 de nouveau le mot de passe. une fois l’opération terminée, vous devriez avoir un message de sortie comme celui-ci :
% 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é!
Il faut maintenant configurer le serveur. Pour cela, exécutez la commande suivante :
sudo dazzle setup
Le script va installer les paquets manquants nécessaire au bon fonctionnement du serveur. Une fois la commande achevée, le message suivant apparaît :
1/4 | Installing the Git package... -> apt-get --yes install git Lecture des listes de paquets... Construction de l'arbre des dépendances... Lecture des informations d'état... Les paquets supplémentaires suivants seront installés : git-man liberror-perl Paquets suggérés : git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb Les NOUVEAUX paquets suivants seront installés : git git-man liberror-perl 0 mis à jour, 3 nouvellement installés, 0 à enlever et 43 non mis à jour. Il est nécessaire de prendre 6 824 ko dans les archives. Après cette opération, 15,3 Mo d'espace disque supplémentaires seront utilisés. Réception de :1 http://fr.archive.ubuntu.com/ubuntu/ quantal/main liberror-perl all 0.17-1 [23,8 kB] Réception de :2 http://fr.archive.ubuntu.com/ubuntu/ quantal/main git-man all 1:1.7.10.4-1ubuntu1 [634 kB] Réception de :3 http://fr.archive.ubuntu.com/ubuntu/ quantal/main git amd64 1:1.7.10.4-1ubuntu1 [6 165 kB] 6 824 ko réceptionnés en 16s (402 ko/s) Sélection du paquet liberror-perl précédemment désélectionné. (Lecture de la base de données... 52990 fichiers et répertoires déjà installés.) 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-1ubuntu1_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-1ubuntu1_amd64.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de liberror-perl (0.17-1) ... Paramétrage de git-man (1:1.7.10.4-1ubuntu1) ... Paramétrage de git (1:1.7.10.4-1ubuntu1) ... 2/4 | Creating account "storage"... -> useradd storage --create-home --shell /usr/bin/git-shell --password "*" --user-group 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".
Bon, la 1ère étape est terminée.
Phase 3 : Création d’un dossier partagé
- Dossier à accès public :
Pour créer un dossier partagé public, c’est-à-dire qui sera accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :sudo dazzle create DOSSIER1
- Dossier à accès privé :
Pour créer un dossier partagé public, c’est-à-dire qui sera accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :sudo dazzle create-encrypted DOSSIER_CRY1
Après la création d’un dossier, le message suivant devrait s’afficher :
Creating project "DOSSIER1"... -> /usr/bin/git init --bare /home/storage/DOSSIER1 -> /usr/bin/git config --file /home/storage/DOSSIER1/config receive.denyNonFastForwards true -> echo "*.ISO -delta" >> /home/storage/DOSSIER1/info/attributes -> chown --recursive storage:storage /home/storage Project "DOSSIER1" was successfully created. To link up a SparkleShare client, enter the following details into the "Add Hosted Project..." dialog: Address: ssh://storage@XXX.XXX.XXX.XXX:22 Remote Path: /home/storage/DOSSIER1 To link up (more) computers, use the "dazzle link" command.
Voilà, vous savez tout sur la création de dossiers.
Phase 4 : Paramétrage de la connexion entre le serveur et le client
Une fois le client installé, une icône apparaît dans la barre de notification. Cliquez une fois dessus, un menu s’affiche.
Cliquez sur le bouton « Add hosted project… »
Si cette dernière fenêtre apparaît, c’est tout à fait normal !
En effet, le serveur est prêt, le client est prêt mais il faut maintenant les lier ensemble.
Pour cela, Rendez-vous à la Phase 5. Ah, elle est juste en dessous… Mais que c’est bien 😉
Phase 5 : Liaison d’un client au serveur
- Sur le client : Il faut aller récupérer la chaine d’authentification du client, c’est-à-dire l’empreinte qui permettra au serveur de « connaitre » le client.
Pour cela, il faut se rendre dans le profile utilisateur, puis le dossier SparkleShare :
- Sous Windows XP : C:\Documents And Settings\[UTILISATEUR]\SparkleShare
- Sous Vista, 7 ou 8 : C:\Utilisateurs\[UTILISATEUR]\SparkleShare
Ensuite, ouvrez le fichier « [Utilisateur enregistré]’s link code.txt ».
Sélectionnez son contenu (Ctrl + A) et copiez-le (Ctrl + C).
Exemple de contenu :
ssh-rsa AAAAB3ABIwAAA.........Y7JCRaNrKF8ipz9mHwr26elQN.........aiclCn9lECE+qvL9Ew== VM-WIN7PRO-JC
Rendez-vous en ssh ou en terminal sur votre serveur (comme dans la Phase 2 de ce Tuto).
Exécutez la ligne de commande suivante :
sudo dazzle link
Le serveur vous demande alors de saisir le link code :
Paste the contents of "~/SparkleShare/Your Name's link code.txt" (found on the client) into the field below and press <ENTER>. Link code:
Collez ou ré-écrivez le contenu du fichier précédemment Copié et tapez la touche « Entrée ».
Le serveur vous donnera l’information suivante, expliquant que le client peut désormais se connecter et de répéter l’opération pour tous les clients que vous souhaiteriez connecter :
The client with this link code can now access projects. Repeat this step to link more clients.
Voilà, c’est fait !
Vous pouvez maintenant répéter l’opération de la Phase 4. Sauf que cette fois-ci, la dernière fenêtre sera :
Petite précision :
Si vous avez créé un dossier crypté (sudo dazzle create-encrypted DOSSIER_CRYPT1), une fenêtre vous demandera la saisie d’un mot de passe :
Ce qui vous permettra de protéger le contenu et de ne le rendre accessible que par vous qui connaissez le mot de passe. C’est sioux, ça…
Phase 6 : Utilisation
Cliquez une fois sur l’icône de notification de SparkleShare, un menu s’affiche.
Si vous cliquez sur « DOSSIER1 », 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 disponibles dans les autres ordinateurs!
Conclusion :
Voilà ! Le 1er Tuto 100% réalisé par mes soins est terminé. N’hésitez pas à me remonter les moindres incompréhensions ou doutes sur ce Tuto !
J’ai encore beaucoup à apprendre de vous. J’espère avoir été à la hauteur de vos attentes. Si vous avez aimé, n’oubliez pas de partager !