Remplacement personnel de Dropbox

Pendant quelques mois, j’ai cherché à remplacer mon système courant de partage de données entre mes ordinateurs avec une sauvegarde en ligne sécuritaire. J’avais Dropbox que j’utilisais et je cryptais tout avec TrueCrypt. C’était une solution viable étant donné que même avec des conteneurs TrueCrypt de plusieurs Go, Dropbox ne fait qu’envoyer les parties modifiées plutôt que le conteneur en entier à chaque changement. Tout fonctionne bien, mais mes besoins sont maintenant aussi de:

  • pouvoir rapidement transférer des données entre mes ordinateurs locaux sans avoir à attendre que le fichier soit d’abord mis à jour sur les serveurs de Dropbox pour qu’ensuite une copie LAN se produise;
  • pouvoir choisir un fournisseur de sauvegarde en ligne moins onéreux (si possible);
  • pas besoin de pouvoir partager avec d’autres personnes;
  • pas nécessaire d’être en temps réel.

J’ai essayé plusieurs projets et voici mon expérience avec eux.

OwnCloud

OwnCloud semblait être le projet le plus prometteur, mais pour des raisons obscures, je ne comprends toujours pas comment il peut être rendu à une version au-dessus de 4.5 et ne pas être capable de supporter des tests de base. Selon la description, c’est un projet PHP qui permet de partager des fichiers entre plusieurs utilisateurs et permet aussi d’avoir l’historique des anciens fichiers.

J’ai commencé par mettre un petit fichier texte sur une machine. Ensuite, j’ai attendu qu’il apparaisse sur mon second ordinateur et j’ai fermé les deux clients sur mes deux machines. Puis, j’ai modifié ce fichier sur les deux machines avec du texte différent pour voir comment il allait supporter les conflits. Quand j’ai rouvert mes deux clients, les deux avaient leur fichier respectif et il n’y a jamais eu de synchronisation et de gestion de conflit.

Mon second test a été de copier un répertoire de 500 Mo et après une nuit complète, la copie n’était toujours pas terminée. Je suis sur un réseau local et j’ai autour de 40Go à synchroniser et je ne peux quand même pas attendre des semaines pour que cela se produise.

Un dernier test effectué était pour le partage entre deux utilisateurs. Il était possible de mettre des fichiers dans le répertoire et ils étaient partagés des deux côtés, mais dès qu’un sous-répertoire était copié, ce dernier se faisait effacer tous ses fichiers à l’intérieur… Encore un truc pas possible.

SparkleShare

SparkleShare est très intéressant. Il utilise Git pour gérer les versions et pour propager les mises à jour au serveur. Il fonctionne assez bien. J’ai eu un petit problème avec la résolution de conflits, mais c’était dû à un bogue connu qui devrait être arrangé sous peu.

Il y a deux raisons pour lesquelles ce projet n’est pas bon dans mon cas particulier:

  • Git supporte mal les trop gros fichiers, d’autant plus qu’ils sont en binaire (Git est fait pour du code source à la base);
  •  étant donné que Git est utilisé, si j’ai un projet Git dans un sous-répertoire que je veux partager, celui-ci entre en conflit et le tout explose.

Unison

Unison est un peu plus manuel puisqu’il n’est pas en temps réel comme les autres. Pour ceux qui connaissent, c’est comme un rsync, mais bidirectionnel. Pour avoir plusieurs machines, il est préférable d’en choisir une comme étant le maître et toujours synchroniser avec celui-là. Ainsi, il y a moins de conflits à gérer.

À date, il est très rapide puisqu’il envoie uniquement les changements et il est aussi possible de les compresser sur le réseau. Le serveur principal doit préférablement utiliser openssh pour crypter les connexions, mais il est quand même possible d’utiliser d’autres options.

Malgré qu’il n’est pas en temps réel, il est possible de le configurer pour qu’il synchronise à des moments précis en choisissant un mode par défaut pour la résolution de conflit puisque contrairement aux autres, il ne crée pas deux fichiers visibles lors d’un conflit, mais demande quoi faire avant d’exécuter la synchronisation. J’aime bien ce dernier point puisque je suis certain de ne pas manquer des conflits surtout avec le grand nombre de fichiers que je veux sauvegarder.

S3QL

Après tous ces projets, vous avez peut-être remarqué qu’il y a un de mes besoins qui n’est toujours pas comblé et c’est la sauvegarde sur un service externe. S3QL permet d’utiliser un bucket Amazon S3 comme système de fichiers. Il peut aussi crypter toutes les données alors nul besoin d’utiliser TrueCrypt et il garde aussi un index des blocs de données pour que les redondants ne prennent pas plus d’espaces. Par exemple, si vous avez un répertoire avec toutes vos chansons et un autre avec seulement celles que vous écoutez fréquemment, ce second répertoire ne fera pas grossir votre bucket Amazon S3.

Avec cette option, je vais pouvoir payer uniquement pour ce que j’utilise au Go près plutôt à la centaine de Go. Je vais donc ouvrir le système de fichier, utiliser Unison pour mettre à jour seulement les répertoires que je veux et tout sera sauvegardé et crypté sur les serveurs d’Amazon.

EDIT: Finalement, pour Amazon, au lieu d’Unison j’utilise un simple RSYNC puisque durant le scan alors qu’il y a beaucoup de fichiers, cela était long d’exécution et parfois il restait coincé. De plus, je n’ai pas besoin d’un bidirectionnel pour cette sauvegarde.

Une réflexion au sujet de « Remplacement personnel de Dropbox »

Les commentaires sont fermés.