Depuis plusieurs jours je cherchais une solution simple pour partager automatiquement des fichiers entre plusieurs machines, et garder les dossiers synchronisés. Dropbox c’est bien, mais ce n’est pas l’idéal pour plusieurs raisons. D’abord partager des fichiers confidentiels ou sensible n’est pas très conseillé. Il faut aussi placer tous ses fichiers sous un même dossier local. Enfin, dès que l’on dépasse une certaine taille, on est limité par la vitesse de la connexion internet et par la taille du compte (si l’on reste sur un compte gratuit). Aujourd’hui je pense que j’ai enfin trouvé la solution : BitTorrent Sync.
J’en avais entendu parler il y a quelques mois au moment de sa sortie, mais sans m’y intéresser plus que ça. Je viens de retomber dessus au hasard d’une lecture d’actualités.
Le principe du logiciel est simple : après installation, il suffit d’ajouter des dossiers au logiciel pour qu’il les indexe. On obtient pour chaque dossier une clé d’un trentaine de caractères. Sur une autre machine (ou un smartphone) il suffit d’entrer cette clé en l’associant avec un dossier (vide ou déjà synchronisé, même partiellement) de la même manière. Dès lors la magie opère. Les fichiers présents d’un coté mais pas de l’autre sont copiés en utilisant le protocole BitTorrent. Vous n’avez rien à faire, tout est automatique et cela semble plutôt bien fonctionner.
Fonctionnalités principales
- BTSync tourne sous Windows, Linux, Mac OS, IPhone et Android
- Synchronisation des fichiers entre 2 ou plusieurs appareils, sur un réseau local ou par internet
- Transferts sécurisés. Si deux instances ne peuvent pas communiquer à cause d’un pare-feu (par exemple), les données sont routées par un serveur de relais chez BitTorrent. Mais comme ils l’expliquent ici, toutes les données sont chiffrées. Théoriquement il n’y a donc pas de risque qu’ils y mettent leur nez
- Possibilité d’exclure certains fichiers / dossiers de la synchronisation, avec un fichier .SyncIgnore. Ça ressemble un peut au .gitignore de Git
- Connexion avec un appareil mobile simplifiée, via un QR Code
- Possibilité de transmettre une clé en lecture seule (synchronisation unidirectionnelle)
Résolution des conflits
C’est cette partie qui m’a particulièrement intéressé. La gestion des conflits et leur résolution m’a semblé très bien pensée. En gros c’est l’action humaine qui a toujours la priorité. La suppression d’un fichier d’un coté entraîne sa suppression de l’autre, mais une copie est conservée dans un dossier caché pas très loin. Ça apporte un semblant de gestion de version, même si ce n’est évidemment pas du niveau d’un vrai CVS comme Git, Svn, etc.
BTSync semble donc être l’outil rêvé pour dupliquer ses données à plusieurs endroits et réduire le risque de les voir détruites par un crash du disque ou le vol d’un ordinateur. Il peut même servir à partager quelques documents entre potes sans se prendre la tête avec un VPN, pour peu que l’on ait pas besoin de la puissance d’un système de versionning complet, comme dans le cas d’un développement à plusieurs.
Pour le télécharger, il suffit d’aller sur le site officiel BitTorrent Sync.