L’année dernière, j’avais (trop) rapidement parcouru la documentation de Syncthing et j’avais tourné le dos à cet outil, car sur le coup, son fonctionnement m’avait un peu dérouté et je n’avais pas de besoin impérieux.

Mais depuis quelques mois, mon épouse utilise deux PC, transférant manuellement les fichiers de l’un à l’autre via une clé USB. Ces dernières semaines, elle a (enfin) accepté d’utiliser KeePassXC et, maintenant qu’elle a compris l’intérêt du logiciel, elle est ravie. Du coup, la nécessité d’automatiser la synchronisation de ses données entre les deux PC s’est faite plus pressante. Je devais lui proposer une solution bidirectionnelle et conviviale.

Pour ma part, j’utilise depuis de nombreuses années Unison et cet outil me convient à merveille, mais il était inconcevable de mettre dans les pattes de mon épouse un outil en ligne de commande. Quant aux outils dotés d’une interface graphique auxquels je songeais, j’ai découvert qu’ils étaient tous plus ou moins à l’abandon. J’ai donc fini par envisager derechef Syncthing, car un outil qui s’occupe de tout silencieusement m’est soudain apparu éminemment souhaitable.

Après avoir mis le nez dans la documentation en ligne et ajouté le dépôt de paquets de Syncthing, j’ai installé le logiciel sur les deux PC, activé le service et plongé dans son interface web. Elle se prend rapidement en main. On déclare le premier PC sur le second via son « ID » et réciproquement, puis on définit sur l’un d’entre eux le(s) répertoire(s) à partager et le PC avec lequel on souhaite établir ce partage. Après quelques instants, une notification apparait sur l’interface web ouverte sur l’autre PC, annonçant la proposition de partage. Quand on l’accepte, on peut modifier le répertoire cible si le chemin diffère de celui annoncé par l’autre PC. On peut aussi activer la gestion de version des fichiers, ce que je me suis empressé de faire des deux côtés pour parer à la propagation trop rapide d’un effacement malencontreux.

Et c’est là que les choses deviennent un peu perturbantes pour un geek habitué à tout contrôler, notamment ses sauvegardes et synchronisations de données. Car rien ne s’est passé sur le champ. Par contre, après quelques minutes, Syncthing a initié la synchronisation de données. Une fois celle-ci terminée, j’ai ajouté des fichiers dans le répertoire synchronisé, j’ai ajouté des entrées dans la base KeePassXC (et donc modifié le fichier qui la stocke). Et là, comme par magie, ces modifications ont rapidement été répercutées sur l’autre PC.

Syncthing utilise un protocole P2P et cela présente au moins deux avantages. Le premier est que mon épouse, qui n’a pas la moindre idée de ce qu’est une clé SSH, n’a pas eu à en créer une et je n’ai pas eu à autoriser son compte à se connecter en SSH sur l’un ou l’autre des PC (un risque en moins). Le second est que ce protocole fonctionne aussi lorsqu’elle n’est pas à la maison, pour peu que les deux PC soient allumés. Ainsi, lorsqu’elle est revenue de son cabinet, elle a eu le plaisir de découvrir que les fichiers qu’elle avait créés là-bas avaient déjà été copiés sur le PC fixe. Elle est déjà conquise !

Convaincu par cette nouvelle expérience, j’ai décidé d’utiliser Syncthing pour synchroniser – de manière unidirectionnelle cette fois-ci – les données de mon smartphone sur mon PC à des fins de sauvegarde. Cela fonctionne parfaitement, mais la magie a ses limites : Syncthing ne va pas jusqu’à exporter lui-même les contacts du carnet d’adresses au format VCF dans le répertoire synchronisé. Dommage. :)

Bien sûr, je vais devoir attendre quelques mois pour me prononcer définitivement sur cette solution et découvrir ses éventuelles faiblesses. Mais j’ai vraiment l’impression d’avoir trouvé une réponse satisfaisante à deux problèmes qui me chagrinaient. Outre que les données de mon épouse sont désormais synchronisées, je vais désormais pouvoir, par l’entremise de Syncthing, intégrer le contenu des smartphones aux sauvegardes effectuées par BorgBackup.