Syncthing, pour synchroniser vos fichiers

logo syncthing Jusqu’à ce jour, j’utilisais la solution Bittorrent Sync pour les besoins de synchronisation de fichiers entre le PC et le smartphone (voir l’article Bittorrent Sync pour synchroniser PC et smartphone).

Ça fonctionnait très bien, même si l’interface manquait de possibilités à mon goût ; l’autre point négatif était que ce n’est pas du logiciel libre, et que l’on est obligé de croire sur parole les développeurs de Bittorrent quant à la confidentialité de nos données (code source non disponible).

Il existe maintenant une solution équivalente, mais libre, j’ai nommé Syncthing !  Techno P2P, trafic des données chiffré sur le réseau, node accessible par certificat d’authentification : en fait c’est comme Bittorrent Sync, sauf que là on peut aller vérifier dans le code que c’est bien ce qui se passe (et rien d’autre). Et bien sûr il y a également une version Android de disponible, pré-requis dans mon cas.

Voyons comment installer syncthing sur le PC Ubuntu et sur le smartphone android.

Quelle version installer ?

MAJ 08 mai 2015 : La version android v0.6 vient de sortir sur f-froid. Elle intègre la v0.11.2 de syncthing, plus besoin de se limiter à la v0.10 dorénavant. Tout est donc plus simple : la dernière version côté android, et côté PC via le PPA. Ce qui suit n’a plus vraiment d’intérêt.

Syncthing est toujours en développement : la dernière version qui  vient de sortir (v0.11.x) apporte des améliorations de performance, mais n’est pas compatible avec les versions précédentes :

Syncthing v0.11 does not support synchronizing with older versions (v0.10 or older).

Et comme l’application Android est toujours en version 0.10, c’est donc celle-là que j’ai installé sur le PC, en attendant la mise à jour de la version Android.

Installation

Pour l’installation sur Ubuntu, tout est expliqué sur la page de webupd8. Ils ont même créé un PPA pour faciliter l’installation, c’est donc très rapide :

sudo add-apt-repository ppa:ytvwld/syncthing
sudo apt-get update
sudo apt-get install syncthing

Il ne reste plus qu’à lancer Syncthing :

/usr/bin/syncthing

Note : on peut l’ajouter à la liste des applications au démarrage :

syncthing-auto

L’interface web s’ouvre immédiatement :

interface Syncthing

Côté smartphone, rien de plus simple, à partir du dépôt F-Droid par exemple, mais aussi sur Google Play. Le premier lancement prend un peu de temps, il faut générer des clés. L’application propose également une interface web en plus de la sienne propre.

Configuration

Ensuite, la première chose côté smartphone à faire est d’ajouter une machine, c’est-à-dire votre PC. Nous allons utiliser les QRcode, beaucoup plus pratique que de taper l’ID à la main…

Montrer l'ID Côté PC donc, cliquer sur la roue dentée en haut à droite, et choisir « Monter l’ID ». Un magnifique QRcode va s’afficher à l’écran.
Côté smartphone, choisissez l’onglet « Machines », puis sur « Ajouter machine » : taper sur la petite icône en forme de QRcode, choisissez votre application pour lire les QRcode (j’utilise Barcode scanner disponible sur f-droid). Voilà, c’est fait, le PC est maintenant connu.

Reste à faire la même chose dans l’autre sens. Sur le smartphone, à partir du menu de syncthing, choisir « Partager ID  machine ». Plusieurs options vous sont proposées, le plus simple est de s’envoyer un mail, puis de l’ouvrir côté PC. Copier alors l’ID, puis passer par l’interface en choisissant ajouter un périphérique, puis Coller. Voilà, les deux machines se connaissent dorénavant, et vont pouvoir synchroniser des dossiers.

Principe

Disons maintenant que je veuille créer deux répertoires : le premier pour synchroniser les photos prises sur le smartphone vers le PC, et un second pour synchroniser des fichiers du PC vers le smartphone. Comme vous le voyez, le sens de copie est différent, ce sera la notion de « répertoire maître » que l’on va voir en créant les dossiers.

  1. Pour chaque besoin, il faut ajouter un dossier de chaque côté, en utilisant obligatoirement le même ID (il s’agit d’un nom, comme ‘Camera’ ou ‘Notes’).
  2. Indiquer ensuite le chemin pour accéder au répertoire correspondant à ce dossier.
  3. Cocher la case « Répertoire maître » selon ce que vous voulez faire : dans mon cas, je vais cocher cette case côté smartphone pour le dossier ‘Camera’, mais côté PC pour le répertoire ‘Notes’.
  4. Ne pas oublier de cocher la case de la machine avec qui vous voulez partager le dossier. Côté smartphone, il faut éditer le dossier, puis sélectionner ‘Machines’, et cocher la case.

Attention : si vous supprimez des photos sur le smartphone, à la prochaine synchro, ils seront également effacés du répertoire du PC. Syncthing est un outil de synchronisation, pas de sauvegarde !

Voilà ce que cela donne une fois terminé côté smartphone :

dossiers

Et côté PC :

interface web PC

Firewall

Si vous rencontrez des problèmes de connexion, ouvrez les ports suivants sur le PC (trafic entrant) :

  • Port 22000/TCP
  • Port 21025/UDP

Divers

Il sera demandé plusieurs fois de redémarrer syncthing, selon les modifications/ajouts faits (contrairement à btsync). Cela s’améliorera sans doute avec les nouvelles versions.

À noter qu’une interface GTK est disponible pour Ubuntu, mais uniquement avec la version 0.11. Intégration dans le gestionnaire de fichiers, tray icon, etc… Voir ici.

Sinon, voilà, tout cela se fait assez vite, et fonctionne parfaitement.

6 réflexions sur « Syncthing, pour synchroniser vos fichiers »

  1. J’utilise également syncthing depuis peu, début de la semaine derniere.
    Ça marche fichtrement bien et il y a plein d’option très intéressantes comme le versionning, le dossier maître etc, etc.
    En tout cas merci pour le tuto =)

  2. Bonjour,
    Est-ce qu’on peut installer switching sur openmedavault ?
    Si oui, pouvez-vous me dire comment faire ou me donner un lien qui explique la marche à suivre ?
    Je vous remercie d’avance.
    Bien à vous.
    John

    1. Bonjour,
      J’imagine que vous parlez de syncthing et pas de switching ? 😉
      De ce que je vois, c’est effectivement possible, et le mieux est de le faire avec Docker. Il y a un tuto ici.
      Et , on trouve une discussion à propos d’installer syncthing sans Docker : dans ce cas, il semble que ce soit « hors d’OMV », à savoir le paquet debian de syncthing installé sur l’OS, donc à côté d’ OMV. Autre solution après tout…
      Voilà…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *