Synchronisez des fichiers de plusieurs machines directement

La synchronisation de fichiers et de répertoires permet de faire correspondre les contenus de deux (ou plus) emplacements de stockage.

Pulse ou Ind.ie Pulse

voir le site  ici

Anciennement SyncThing, ce programme, partie d’un projet « Stratosphere » permet de synchroniser des répertoires entre plusieurs machines (les noeuds) , le tout de manière sécurisée et en local.

Cela fonctionne même sur une machine virtuelle (virtualbox) windows dont le réseau est défini en « pont » reseauVirtuelOn peut voir le fonctionnement de pulse dans windows 7 sur une machine virtuelle qui partage un dossier sync sur la machine linux. (sous windows,remarquez la console derrière le navigateur)

winVirtuel

Pulse / Syncthing est distribué sous licence GPLv3

  • Logiciel libre ;
  • Multiplateforme ; disponible sous Windows, Mac, Linux, BSD et Solaris
  • il est totalement portable. Vous pouvez donc vous balader avec sur une clé USB et synchroniser vos fichiers, peu importe votre localisation.
  • Données chiffrées pendant les transferts ;
  • Connexion directe entre vos machines (par de serveur central de l’éditeur) ;
  • Réseau formé à votre guise : centralisé ou décentralisé ;
  • Synchronisation à sens unique ou totale (une machine peut être le «propriétaire» du dépôt) ;
  • Contrôle des autorisations (vous devez manuellement valider les accès);
  • Interface web très réussie ; Web GUI. configure et gère les machines dans un navigateur à l’adresse locale http://127.0.0.1:8080/.

installation:

Récupérez le dossier compressé  correspondant à votre OS et décompressez le où vous voulez ! (Sous linux, je l’ai mis dans mon répertoire bin). Au lancement, il ouvre une page de votre navigateur à l’adresse locale http://127.0.0.1:8080/

Attention, sous windows, le programme ouvre une console à ne pas fermer! mais on peut la réduire (ouf!)

ecran0La première chose a faire est de trouver l’identifiant de votre machine ; cet identifiant sera utilisé sur les autres machines qui partagent vos données.

Capture-1L’identifiant est une très longue suite de chiffres et de lettres accompagnée de son QR-code

identifiant

On l’installe en cliquant sur « ajouter un périphérique » (sur une autre machine !)

Le répertoire a synchroniser possède un nom unique (ID=…) sur le réseau; ce nom est indépendant du nom réel du répertoire sur une machine  Lors de l’installation le système propose id=default mais vous pouvez choisir  un mot plus explicite.

Editez foldres et n’oubliez pas de cocher les machines avec lesquelles vous voulez partager. Il faudra donc y revenir de temps en temps.

 

 

Capture

Si j’insiste, c’est parce que le terme id désigne deux choses:

  1. l’identifiant de la machine (nœud) qui est très long et
  2. l’identifiant du répertoire qui est une sorte de lien symbolique vers le vrai répertoire; d’où la confusion possible.il permet de synchroniser des répertoires qui sont nommés différemment entre les nœuds ;
    les répertoires à synchroniser sont simplement associés par un ID unique.

Configuration de la machine

configurationOn peut ajouter un nom d’utilisateur et un mot de passe pour l’environnement graphique

Pour que les nœuds se retrouvent ils peuvent utiliser le service de recherche  discovery.ind.ie:22026 si vous avez spécifié un adresse dynamique dans l’ajout d’un périphérique, sinon il vous faudra préciser l’ip et le port du noeud à relier.

Fichiers de configuration :

Dans le répertoire ~/.config/pulse/

  • cert.pem: clé publique RSA Le nœud, nommé « cert » pour des raisons historiques.

  • key.pem: clé privée RSA du nœud. Cette clé doit être protégée.

  • config.xml: Le fichier de configuration au format XML.

  • https-cert.pem et https-key.pem: Le certificat et la clé pour les connexions HTTPS de l’interface graphique.

  • index /: un répertoire qui contient la base de données avec des métadonnées des fichiers actuellement sur le disque et disponible auprès de pairs.

  • csrftokens.txt: Une liste de jetons CSRF récemment émis .

observons le fichier config.xml; on y retrouve les identifiants assez facilement; ce pourrait être une autre façon simple de les récupérer.

nano ~/.config/pulse/config.xml

<configuration version="6">
    <folder id="default" path="/home/mint/Sync" ro="false" rescanIntervalS="60" 
     ignorePerms="false">
        <device id="A763PPC-........-ZWXVJAX"></device>
        <device id="Z2ZTI2W-.......-R6UWBQ5"></device>
        <device id="S2G33D7-........-CQE4INT-WF3WGQQ"></device>
        <versioning></versioning>
        <lenientMtimes>false</lenientMtimes>
    </folder>
    <device id="S2G33D7-.....-CQE4INT-WF3WGQQ" name="WinVirtuel-Bureau" 
               compression="true" introducer="false">
        <address>dynamic</address>
    </device>
    <device id="Z2ZTI2W-.....-R6UWBQ5" name="michel-mint" compression="false"
       introducer="false">
        <address>dynamic</address>
    </device>
    <device id="A763PPC-....-ZWXVJAX" name="portable" compression="true" 
      introducer="false">
        <address>dynamic</address>
    </device>
    <gui enabled="true" tls="false">
        <address>127.0.0.1:8080</address>
    </gui>
    <options>
        <listenAddress>0.0.0.0:22000</listenAddress>
        <globalAnnounceServer>discovery.ind.ie:22026</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21025</localAnnouncePort>
        <localAnnounceMCAddr>[ff32::5222]:21026</localAnnounceMCAddr>
        <maxSendKbps>0</maxSendKbps>
        <maxRecvKbps>0</maxRecvKbps>