Quelles alternatives libres et sécurisées à Dropbox?

Publié le 19 octobre 2014 par Edeation @edeation

DropBox : les faits

Petit retour en arrière. DropBox annonçait, le 9 avril 2014, le parachutage dans son conseil d’administration de Condoleezza Rice. Vous avez bien lu, Condoleezza Rice, conseillère spéciale aux Affaires de sécurité nationale, puis secrétaire d’État des États-Unis sous George W. Bush Jr ; celle dont le Sénat américain a révélé qu’elle avait autorisé l’utilisation de méthodes de tortures musclées ; celle qui a soutenu les programmes de la NSA ; celle qui fait déjà partie de plusieurs conseils d’administration d’importance. Alors il n’en fallait pas plus pour provoquer une vive polémique, au sein de la société Dropbox et ailleurs, qui a débouché sur la création de l’initiative « Drop Dropbox » (« Lâchez Dropbox ») : http://www.drop-dropbox.com. Comment une start-up comme Dropbox peut-elle accepter la nomination d’un tel personnage, elle dont l’un des slogans est « Partagez vos fichiers en toute confiance »? A l’instar du problème posé par Skype, dont je parlais la semaine dernière, ce conflit d’intérêt pose la question des alternatives libres aux outils de communication leader du marché. Ma question est donc simple : existe-t-il des alternatives sérieuses à Dropbox?

Deux façons de remplacer Dropbox

Évidemment, je vais parler ici des alternatives open-source de Dropbox, et non des autres rejetons estampillés GAFAM (Google Drive, Microsoft OneDrive…), dont la seule différence est de proposer d’autres tarifs ou d’autres volumes de stockage. Il existe concrètement deux façons de stocker et synchroniser vos fichiers : utiliser un serveur ou passer par le peer-to-peer. Je parlerai essentiellement de la première solution, qui me semble plus naturelle et plus populaire (quitte à revenir sur le peer-to-peer dans un autre billet).

Utiliser un serveur peut se concevoir de deux façons : avoir son propre serveur ou utiliser un serveur chez un provider soigneusement choisi pour son engagement de confidentialité (de préférence en France, sans excès de paranoïa). La première solution est radicale dans la mesure où la synchronisation de vos fichiers s’effectue sur votre propre serveur. Mais elle suppose d’avoir certaines compétences, et aussi un certain budget, surtout si vous exigez un serveur réactif. Cette solution sera donc privilégiée par les entreprises ou les « gicques ». Si vous êtes moins riche ou plus paresseux, il vous reste à choisir un hébergeur de confiance. Une fois le serveur en place, il nous faut donc installer un logiciel libre de synchronisation de fichier.

La première solution qui vient à l’esprit est la solution open-source OwnCloud, très complète, qui nécessite un serveur OwnCloud et qui bénéficie d’un large panel d’hébergeurs officiels (en France Zaclys par exemple). OwnCloud supporte PHP (au moins 5.3), ainsi que SQLite, MariaDB, MySQL ou PostgreSQL. En revanche, Mac OS n’est pas encore supporté actuellement, en raison d’un problème avec le support unicode de Mac OS.

On trouve ensuite SparkleShare, sous licence GPL v3, qui nécessite un serveur Git. Il est simple à utiliser. Vous pouvez le configurer sur votre propre serveur Git ou alors ouvrir un compte chez Gnome, Github ou Gitorious (l’équipe de SparkleShare recommande d’utiliser un de ces services si l’on souhaite travailler sur un projet de ce type ou si l’on souhaite tester SparkleShare avant avant de mettre en place son propre serveur). SparkleShare supporte actuellement Linux et Mac OS (et bientôt Windows).

Seafile est un logiciel libre, développé par Seafile Ldt, sous licence GPLv3 avec restriction. Cité par RTSinfo comme un système permettant de « mieux protéger sa vie privée sur Internet », Seafile est bâti sur trois composants : un serveur Seafile, une interface web SeaHub (sous licence Apache), permettant de consulter les fichiers gérés par Seafile directement via le web, et un client de synchronisation. Seafile dispose de nombreuses fonctionnalités opérant sur ces trois composants, et supporte Windows et Linux.

On trouve ensuite SpiderOak, sous licence GPLv3, qui se distingue en fournissant un chiffrement de haut niveau. SpiderOak utilise en effet un chiffrement généré par le client, ce qui fait que SpiderOak n’a aucun moyen d’accéder aux données des utilisateurs (approche dite de la « connaissance-zéro »). Par ailleurs, contrairement à d’autres solutions qui peuvent effacer des fichiers sans l’avis préalable de l’utilisateur, aucun fichier ne peut être effacé ou écrasé de la sauvegarde du serveur, sauf si l’utilisateur l’efface manuellement sur le client SpiderOak. La sécurité et la confidentialité des données ont valu à SpiderOak le « Editor’s Choice Award » de MacLife Magazine (2009), et on se souvient, pour la petite histoire, qu’Edward Snowden avait récemment recommandé l’utilisation de Spideroak (plutôt que Dropbox).

Syncany est une autre solution de synchronisation de fichier, écrite en Java, permettant d’utiliser une large variété de protocoles de stockage distants : NFS, FTP, SFTP, IMAP, Google Storage, Amazone S3 , RackSpace Cloud Files, Webdav, album web Picasa, Windows Share, Box .net. Syncany possède une couche de chiffrement et une interface ergonomique. Selon mes informations, Syncany est pour l’instant disponible sur Linux, mais Windows et Mac OS sont annoncés pour bientôt.

Citons ensuite le « vétéran » iFolder (créé en juin 2001!), qui n’est donc pas la solution d’Apple comme son nom pourrait l’indiquer, mais un authentique projet open-source distribué sous licence GPL par Novell. Malgré une technologie un peu vieillissante, iFolder reste une solution de synchronisation attrayante, accompagnée d’une documentation riche et complète. L’interface peut gérer les utilisateurs dans un LDAP et permet de synchroniser de gros fichiers. Petit bémol, iFolder ne fournit pas de versioning. Il est en revanche disponible pour Linux, Windows et Mac.

Il existe aussi Unison, un logiciel libre sous licence GPL écrit en OCaml. Unison a la particularité de fonctionner selon deux modalités : en mode local, où le client peut comparer deux versions d’un répertoire pour en effectuer la synchronisation, et en mode distant, où le client contacte le serveur (par exemple en SSH) pour sécuriser le répertoire. Le système suppose que les version d’Unison soient identiques entre le client et le serveur. Unison est disponible pour Windows, Linux, et Mac OS X.

Enfin, je termine avec les solutions françaises, qui n’ont rien à envier aux solutions étrangères. Je citerai d’abord Cozycloud, qui est l’une des 13 sociétés figurant dans le « Plan Cloud » d’Arnaud Montebourg, et qui vient de lever 800 000 euros. À la différence des autres serveurs cloud, Cozy est une solution de PaaS (donc non auto-hébergeable), permettant de déployer des applications web personnelles en un clic : notes, Todos, Agenda, Contacts, Photos… Mais Cozy permet aussi d’utiliser des applications Node.js (voire d’en créer, grâce en particulier à de nombreux tutoriaux disponibles). Mais le support d’applications Python et Ruby est également prévu.

Pydio est une autre start-up française lancée il y a tout juste un an. Destinée aux entreprises, Pydio est parti de deux constats : 1) 9 employés sur 10 stockent des documents de travail sur des appareils personnels, 2) 4 employés sur 10 apportent leur propre outil de stockage au bureau. Pydio met l’accent sur la sécurité et le contrôle des données, mais également sur la facilité d’installation et d’utilisation de leur solution (comparable à un logiciel grand public). À noter qu’une édition Entreprise offre un support professionnel, une personnalisation, et un déploiement sur les terminaux mobiles.

Voilà, sans être exhaustif, ce billet vous offre un bon panorama des alternatives open source à Dropbox, en tant que logiciels libres de synchronisation de fichiers. Pour plus d’information, je renvoie les intéressés aux projets eux-mêmes, ou aux comptes-rendus plus techniques des autres blogs.

Pour conclure, un dernier mot sur les solutions Peer-to-Peer. La synchronisation d’un fichier peut être unidirectionnelle ou bidirectionnelle. Une synchronisation unidirectionnelle demande un serveur unique : les modifications sont appliquées seulement d’un endroit primaire (le client) vers un endroit secondaire (le serveur). Dans le cas d’une synchronisation bidirectionnelle (qui maintient identiques les contenus des endroits primaire et secondaire), plusieurs fonctionnements sont possibles. On peut garder un serveur unique, auquel cas le programme de synchronisation fonctionne sur un seul endroit (le serveur), et l’utilisateur doit renseigner les endroits primaire et secondaire. Soit le programme de synchronisation fonctionne sur les deux endroits, et il y a donc deux serveurs. Le principe du Peer-to-Peer consiste à généraliser cette approche, qui est un modèle client-serveur où chaque client est aussi un serveur. Dans cette catégorie, je me contenterai de citer syncthing et ClearSkies, qui sont des équivalents open-source du très populaire logiciel (non-libre) BitTorrent Sync.