Balancer ses données dans son p’tit nuage
Il s’agit ici de détailler ma première expérience de mise en place d’un cloud privé, histoire de devenir un peu plus web 2.0 et de s’affranchir un peu de services pseudo gratuit comme Dropbox, Google et autre (je n’ai rien contre ces services, mais je n’aime pas l’idée de confier mes données à une tierce personne, surtout quand ses intentions ne sont pas tout à fait claires et/ou dénuées d’intérêts).
Je suis donc tombé l’autre jour, via un copain, sur ownCloud. Ça avait l’air sexy et pas compliqué à mettre en œuvre, alors, go!
Étape 1: installer ownCloud
Prérequis (à minima) pour une Debian stable:
apache2-mpm-prefork libapache2-mod-php5 php5-suhosin php5-gd php5-mysql php5-sqlite php-mdb2 php-mdb2-driver-mysql php-pear php-xml-parser
Je ne détaille pas, il n’y a rien de compliqué: on récupère l’archive sur le site d’ownCloud, et un petit «tar x…» qui va bien, un p’tit vhost apache qui va bien, et ensuite, il suffit de suivre ce que raconte l’installeur.
NB: s’il n’y a pas de serveur MySQL sur le serveur web (oui, ça arrive), il semble que par défaut on se retrouve avec une base SQLite.
Étape 2: première utilisation
L’interface web de base est assez sympa est simple à utiliser, et on voit de suites quelques bricoles sympathiques:
- tous les contenus sont accessibles depuis cette IHM;
- fichiers accessibles via webdav, pas besoin de configurer de module au niveau du serveur web, ownCloud fournit tout ce qu’il faut;
- calendrier(s) accessibles en CalDav (sympa pour tourner avec les iToys d’Apple ou avec Sunbird/Thunderbird+Lightning), le URLs à utiliser sont facilement accessibles;
- contacts accessibles en CardDav (compatible iToys, carnet d’adresse Thunderbird modulo l’install de l’extension sogo connector, carnet d’adresse android modulo une appli), même simplicité que pour le CalDav;
- possibilité de faire des partages publiques, comme avec Dropbox par exemple;
- possibilité de crypter tout ou partie des données;
- multi-utilisateur ;
- possibilité d’étendre les fonctionnalités en installant des «applis» tierces (il y en a déjà un sacré paquet qui existent).
Avant de me pencher sur les clients de synchro proposés par ownCloud, j’ai tenté de travailler en WebDAV: un peu lent pour être utilisé directement comme dossier de travail. J’ai donc voulu avoir un mode de fonctionnement (qui en fait me paraît assez logique):
- dossier de travail local ;
- montage WebDAV ;
- rsync en crontab qui synchronise les deux.
Ça marche, mais, on ne peut pas se contenter d’un bête «rsync -av local/ webdav», ne serait-ce que parce que l’implémentation du protocole WebDAV d’ownCloud ne permet pas de conserver les permissions (à moins que ça ne soit carrément un défaut du protocole, je n’ai lu la RFC qu’en diagonale).
Étape 3: avec un client de synchro
note 1: Je n’ai pas fait de tests du client sous Windows, je n’en ai pas l’utilité (en plus, je n’ai pas vraiment de windows :-))
note 2: Mes stations de travail tournent avec Debian testing, j’ai du installer les binaires proposés pour Ubuntu 11.10
but: Voir si on arrive à avoir un truc aussi simple qu’avec Dropbox.
Alors, le client de synchro est presque aussi bien foutu que celui de dropbox… Par contre, ça ne marche pas franchement aussi bien:
- par défaut, il crée en local un dossier ~/ownClound et un dossier sur le serveur: ce n’est pas forcément ce dont on a envie, il faut donc ensuite créer le partage/synchro tel qu’on le veut, quitter le client, éditer sa conf à la main pour virer le dossier dont on pas envie/besoin, et relancer le client ;
- quand on crée un fichier (même vide) via l’interface web, il faut attendre près d’une minute pour qu’il redescende dans le dossier de synchro locale (on peut modifier à la main la conf du client, mais ça n’a l’air d’être pris en compte) ;
- quand on crée un fichier (même vide) en local dans le dossier synchronisé, il faut attendre aussi près d’une minute pour qu’il remonte sur le serveur (même soucis avec la modif de conf du client).
J’ai arrêté le test là: je peux comprendre que synchroniser des fichiers prennent un peu de temps, mais un dossier ou un fichier vide, ça devrait être instantané (comme avec le client dropbox).
Étape 4: oui, mais, et mes smartphones dans tous ça?
À première vue, les applis ownCloud pour smartphone ne sont pas terribles (soit ça ne marche pas, soit ça suce intégralement la batterie), et en plus elles sont payantes (bon, OK, moins d’1€).
De toutes façons, je n’ai pas vraiment besoin d’accéder à mes fichiers depuis un smartphone, ce qui m’intéresse surtout pour eux c’est la partie contacts/calendriers.
Et si j’ai besoin d’accéder à un fichier, je peux toujours tenter d’accéder à l’interface web
iPhone (vieux 3G, iOS 4.2)
Contacts et calendrier sont accessibles via CardDAV et CalDAV. La doc d’ownCloud explique bien comment ça marche, donc je ne reviens pas dessus. Mes tests rapides montrent en tous cas un fonctionnement conforme à mes (simples) besoins.
Si on a besoin d’accéder aux contenus, on peut s’en sortir facilement en passant par l’interface web, même si ça n’est pas hyper-confortable avec un tout petit écran:
Android (Samsung Galaxy Note, ICS)
Pour la partie CardDAV/CalDAV, je n’ai pas testé (les applis sont payantes, et le reste de mes tests ne m’a pas donné envie de faire plus d’efforts que ça).
Pour l’accès aux contenus, via l’interface web, ça marche, et grâce à la taille de l’écran du Note, c’est assez confortable pour une utilisation ponctuelle:
Pour conclure, je ne vais pas être très original puisque je vais rejoindre les avis que j’ai lu un peu partout sur ownCloud… Le projet est prometteur, entre autres parce qu’il permet d’installer et de configurer une appli pour fournir joli petit paquet de services, mais, ça souffre encore de quelques défauts de jeunesse qui le rendent inutilisable sur le long terme. Dommage donc, mais à suivre…