Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

De Dropbox à Nextcloud
Installer son Cloud privé, c’est possible
Article mis en ligne le 26 septembre 2016
dernière modification le 26 octobre 2023

par Laurent Bloch

*Magie de Dropbox

Il y a quelques années j’ai découvert Dropbox. C’est un service (génial !) d’hébergement et de partage de fichiers appuyé sur l’infrastructure d’Amazon. La société Dropbox a été créée en 2007 par Drew Houston et Arash Ferdowsi.

Drew Houston, alors étudiant au MIT, avait l’habitude, comme tout le monde, lorsqu’il rentrait chez lui le soir, de copier sur une clé USB les documents dont il aurait besoin pour travailler à la maison. Et, comme il arrive à tout le monde au moins une fois par semaine, il s’apercevait dans l’autobus qu’il avait oublié un document important. Il a donc décidé de créer un système en réseau qui lui permette d’éviter de tels accidents, et en plus de partager des fichiers avec des collègues. Dropbox répond merveilleusement à ce cahier des charges, avec soit dit en passant une qualité technique bien supérieure à celle de ses imitateurs, notamment du point de vue de la sécurité et de la confidentialité des données.

Créer un compte est très simple, c’est gratuit jusqu’à 3 gigaoctets de données, et surtout tout le monde sait s’en servir, pour entamer un travail en collaboration avec des gens que l’on ne connaissait pas un quart d’heure plus tôt il suffit de quelques minutes de coordination et hop, on a une base documentaire partagée accessible depuis tout type d’ordinateur ou de smartphone (moyennant quand même quelques précautions).

**Le charme fatal des services gratuits

Je commençai donc à utiliser Dropbox pour tous mes travaux en cours, la synchronisation entre mes différents ordinateurs était automatique (y compris à travers les dispositifs de sécurité tels que pare-feux d’entreprise), c’était donc plus facile d’usage que Subversion, Mercurial ou autres Git. Et aussi pour travailler avec des collègues sur des projets communs. Ultra-commode.

Un beau jour je remarquai que mon espace de travail était passé de 3 à 5 gigaoctets, parce que j’avais converti à Dropbox quelques utilisateurs novices et que cela me donnait droit à ce cadeau, accepté avec gratitude.

Encore quelques mois plus tard, mon espace passa de 5 à ... 53 gigaoctets ! Je crus que c’était toujours un cadeau, et ma gratitude devint indescriptible. Du coup, tout mon travail actif passa sur Dropbox.

En fait, ce que j’appris quelques semaines plus tard, c’est que ces 48 gigaoctets supplémentaires étaient bien un cadeau, mais temporaire, consécutif à l’achat d’une tablette Samsung. Les deux ans de cadeau temporaire allaient expirer, il allait falloir payer ou déménager mes fichiers.

Je n’avais pas d’objection de principe à l’idée de payer pour un service utile, mais l’idée de dépendre entièrement de Dropbox pour mon travail me gênait, d’autant plus que la NSA a une API sur Dropbox (révélation d’Edward Snowden) et que Dropbox a explicitement accès à mes données.

Je me repentis d’avoir cédé au confort empoisonné d’une solution captatrice, et décidai d’en chercher une autre plus respectueuse de la propriété de mes données.

En attendant il me fallut vider mon espace Dropbox, ce qui fut pénible, parce que du coup il fallait synchroniser à la main mes différents ordinateurs et espaces de sauvegarde. J’ai dû réviser la man page de rsync, qui a chauffé...

*Choix d’un hébergement

Il est possible aujourd’hui de substituer à Dropbox un système libre dont l’utilisateur reste le maître, hébergé où il veut.

Installer un tel système sur un ordinateur à la maison ne me semble pas une bonne solution : il faut que cela fonctionne 24h sur 24, 7 jours sur 7, toute l’année, même et surtout quand on est en déplacement ou en vacances, par temps de canicule, etc. Il y a des gens dont c’est le métier, ils font cela très bien et cela ne coûte pas très cher (la solution que j’ai adoptée, décrite ci-dessous, me coûte de l’ordre de 150€ TTC par an).

Dans un premier temps j’avais choisi de louer un serveur (virtuel) chez un prestataire. Ainsi j’étais très indépendant, à moi de m’occuper de l’installation et de la mise à jour du système d’exploitation et des logiciels.

J’ai fini par céder à la paresse et par adopter un compromis qui me semble raisonnable : je loue un hébergement Web mutualisé chez l’excellent hébergeur helvétique Infomaniak. Infomaniak me procure un système installé et configuré, ainsi que les logiciels essentiels, notamment PHP, le SGBD MariaDB (version libre de MySQL, parfaitement compatible) et PHPMyAdmin. Je peux accéder à mon serveur par sftp ou par un shell (ssh), ce qui me permet d’installer les logiciels de mon choix, en l’occurrence Nextcloud (à noter qu’Infomaniak propose un service tout installé Owncloud, l’ancêtre de Nextcloud, mais les connaisseurs m’ont conseillé Nextcloud. Mise à jour septembre 2023 : Infomaniak propose également Nextcloud pré-installé).

Infomaniak permet d’installer très facilement les certificats SSL/TLS gratuits de Let’s Encrypt (cf. ci-dessous) pour assurer l’authentification et le chiffrement des transactions, ce qui est indispensable.

*Installer son propre nuage

Cela fait je pouvais installer le logiciel d’informatique en nuage privée (Cloud privé) de mon choix, en l’occurrence Nextcloud, logiciel éprouvé depuis un certain temps, et dont les forums consultés donnaient une appréciation favorable, notamment pour le travail en entreprise ; Nextcloud procure des clients pour Linux, Windows, MacOS, Android et iOS.

Installer et configurer un tel logiciel, puis se convertir à son usage demande du temps, de la réflexion et de la planification. C’est d’ailleurs le gros avantage de Dropbox : on n’a besoin ni de beaucoup réfléchir ni de beaucoup travailler, cela fonctionne quasiment tout seul, ce n’est qu’ensuite que l’on en découvre les inconvénients.

Certes, la liberté et l’indépendance ont un prix, mais autant ne pas le payer trop souvent (tous les six mois). La maturité et l’espérance de vie du système m’ont amené à choisir Nextcloud.

Aujourd’hui (novembre 2022) la dernière version de Nextcloud est la 24.0.7, dont voici la documentation. Il faut utiliser les paquets de la distribution disponible sur le site Nextcloud. C’est une installation un peu compliquée parce qu’il faut que marchent de façon coordonnée Apache, Nextcloud et le SGBD, mais on n’a rien sans rien et c’est expliqué sur le site.

Si pendant la procédure d’installation vous avez omis d’aller consulter les « options avancées », vous vous retrouvez avec un certain nombre de choix par défaut pas très heureux, comme par exemple une base de données Sqlite. Heureusement c’est réparable après-coup, par un script qui fonctionne bien selon le mode d’emploi donné ici.

Sécurité des transactions : configurer SSL/TLS

Une fois configuré le système, il est indispensable d’assurer la sécurité des échanges en installant le système d’authentification du serveur et de chiffrement des transactions par le protocole SSL/TLS.

Depuis décembre 2015 un consortium mené par l’Electronic Frontier Foudation, la fondation Mozilla, l’Université du Michigan avec la participation d’OVH et de Gandi a lancé une infrastructure de gestion de clés (IGC, PKI en anglais) libre et gratuite, Let’s Encrypt. Le système d’Infomaniak permet de créer et d’installer très facilement des certificats. Sur un autre hébergement on peut procéder selon la procédure suivante : Let’s Encrypt

À ce jour le serveur fonctionne correctement sur mon site hébergé, les dossiers de mon répertoire ${HOME}/nextCloud se synchronisent comme un charme, l’agenda aussi, je vois les contacts, également sur mon téléphone.

Pour Android

Les clients CalDAV-Sync (pour synchroniser l’agenda) et CardDAV-Sync (pour le carnet d’adresses), disponibles dans Google Play (ou sur un autre serveur si on utilise une version libre d’Android comme par exemple celle de la /e/ foundation) fonctionnent correctement. Si votre arborescence nextCloud sur le serveur est dans le répertoire nextcloud, par exemple, l’adresse de serveur à donner pour configurer le client est de la forme (c’est remote.php/dav/ qui est important) :