NouvaBox Wiki¶
Objectif et présentation¶
L'objectif principal de ce qu'on cherche à faire est ceci :
- l'utilisateur lance l'application nouvabox
- il décide du / des répertoires qu'il souhaite répliquer dans sa nouvabox
- le machin tourne en tâche de fond et synchronise le répertoire local avec un répertoire distant
- le machin détecte les collisions et demande à l'utilisateur ce qu'il souhaite faire
- le machin permet d'afficher la liste des fichiers qui sont en cours de synchro et la progression
- le machin est multiplateforme
- le machin est libre (GPL)
- le machin doit-être totalement autonome (ie pas lié à un serveur particulier)
En bref, on fait déjà ça depuis des années avec unison (http://www.cis.upenn.edu/~bcpierce/unison/) ...
Serveur libre¶
Mon choix est fait :
- webdav avec un certificat SSL
- application serveur owncloud http://owncloud.org/ que l'utilisateur peut choisir d'héberger là où il le souhaite
Client libre¶
Pour la partie cliente c'est un peu plus compliqué, soit on le fait à l'ancienne (ie, ce que je fais sur mon ordinateur):
- fusermount https://serveur/owncloud/files/webdav.php /mon/point/de/montage
- unison configuré pour gérer la synchro entre mon répertoire et ce point de montage
Soit on décide de proposer une solution un peu plus user friendly pour les gens normaux ... et ça me semble indispensable. Dans cette optique, je vais m'appuyer sur
- synkron mais en le simplifiant, il propose beaucoup trop d'option http://synkron.sourceforge.net/
- qwebdav pour ajouter le support webdav à synkron http://xf.iksaif.net/dev/qwebdav.html
- et quand tout marchera bien en synchro périodique + manuelle, on verra pour automatiser les synchro sur les évènements de type inotify ... daemonfs pour piocher le code de qt QFileSystemWatcher https://launchpad.net/deamonfs/+download
- voir le travail en cours sur csync et mirall
Crypto ?¶
Je ne m'embarque pas dans ce domaine, le transport en davfs https me suffit, si vous voulez faire de la synchro de données cryptées lancez un encfs local ou gpg cryptez vos fichiers, il y a plein de solutions pour ça. Envoyer des données cryptées rendrais la navigation par le web de owncloud moins sympathique ...
Installation¶
Pour les développeurs et testeurs, ça se passe ici
- installation du serveur
- nouvabox-devel