Quelques expérimentations avec Diaspora*

Utilisateurs d’internet, nous utilisons de plus en plus de services en ligne soi-disant gratuits: réseaux sociaux, boîtes mail, chats, conversations audio/video, stockage de données,… Ces services sont hébergés et maintenu par des sociétés dont le but est de se faire de l’argent. Or, comment peuvent-elles se faire de l’argent alors qu’elles ne vous demandent pas de payer pour pouvoir utiliser ces services? Et puis, que font ces sociétés avec nos photos de vacances, avec nos conversations hautement phylosophiques sur le lien entre les extra-terrestres et nos ‘dieux’ que j’ai eue hier soir avec un ami, avec mes commentaires sur mon humeur du moment,…? Aussi, comment ces services sont-ils gérés? Sont-ils sécurisés? Existeront-ils encore sous la même forme dans quelques mois ou années? Oh, je n’ai pas de réponses toutes faites à ces questions, et je ne compte pas y répondre dans ce billet. Néanmoins, le simple fait de me poser ces questions m’a poussé à chercher des alternatives à certains de ces services. De plus, c’est tellement amusant et intéressant de pouvoir héberger ses propres services chez soi, dans son salon, sur son RaspberryPi préféré.

C’est d’ailleurs dans cette optique là que j’ai décidé d’héberger moi-même ce blog !

Un autre service qu’il pourrait être possible d’héberger chez soi, c’est le service rendu par les réseaux sociaux, un des plus connus étant Facebook.

Un projet a vu le jours il y a déjà un bon moment dont le but est justement de créer un réseau social open-source, sécurisé, et où les utilisateurs sont maîtres de leurs donnés : Diaspora*. Je n’ai pas pu résister à l’envie d’essayer d’installer un pod (un servur hébergeant le compte d’un ou plusieurs utilisateurs du réseau) sur mon RaspberryPi.

Le projet Diaspora*

Diaspora est un projet open-source ayant pour objectif de créer un réseau social décentralisé, où la protection de la vie privée est garantie et dont les utilisateurs sont maîtres de leurs données personnelles. A terme, Diaspora ambitionne de concurrencer les réseaux sociaux existants, tels que le géant Facebook.

Si j’ai bien suivis l’histoire, ce projet a d’abord été financé sur une platforme de crowdfunding. Ensuite, les personnes à l’origine du projet ont décidé de le mettre dans les mains de la communauté open-source via le site Diaspora Foundation.

Sur le net, j’ai trouvé pas mal de sites et de blogs faisant l’apologie de Diaspora, et quasiment tout autant de gens qui en sont les détracteurs. Le débat porte surtout sur la confidentialité et le respect de la vie privée, qui semble, pour certains, ne pas être à la hauteur des promesses faites par le projet.

Je ne rentrerai pas dans ce débat, car j’estime ne pas m’y connaître suffisamment pour pouvoir donner un avis objectif. Le simple fait que ce projet existe, et qu’il n’est pas dirigé par des objectifs financiers font déjà de lui un projet qui mérite que l’on s’intéresse à lui. De plus, sa philosophie décentralisée est intéressante d’un point de vue technique.

L’installation

Assez de beaux mots, passons aux choses sérieuses: l’installation d’un pod sur le RaspberryPi!

Commençons par la fin de l’histoire : l’installation, bien que longue et complexe, est possible! Bonne nouvelle! Par contre, l’utilisation « en vrai » est limitée par quelques contraintes qui, bien que surmontables, m’ont empêchées d’aller plus loin.

Concernant l’installation, le wiki de la fondation met à notre disposition toute une série de manuels d’installation assez complets. Et ils ont été nettement améliorés depuis la dernière fois que je m’étais intéressé à ce projet. Malgré cela, la procédure demande beaucoup de manipulations, et de temps (pour compiler certains modules, par exemple). Il faudra aussi passer par la configuration d’un serveur web, d’un nom de domaine,…

En effet, Diaspora a beaucoup de dépendances vers d’autres projet open-source : Ruby, Mysql, Redis,… Afin d’installer un pod, il vous faudra d’abord passer par l’installation et la configuration de toutes ces dépendances. Petit conseil : pour certaines étapes de l’installation, j’ai dû assigner le plus possible de mémoire RAM (sur un modèle 512Mo) au CPU, sinon, la quantité de mémoire n’était pas suffisante!

Je ne vais pas rentrer ici dans les détails de l’installation car elle est bien trop complexe (j’en ai oublié tous les détails), et va sûrement évoluer au fil du temps et des versions de Diaspora et de ses dépendances.

Concrètement, j’ai effectué l’installation sur un RaspberryPi 512Mo connecté sur ma connection internet personnelle. J’ai utilisé le serveur web Apache (préconisé par la documentation). Pour le DNS, j’ai utilisé le service gratuit de No-IP afin de pouvoir bénéficier d’un DNS gratuit sur mon adresse IP pas nécessairement fixe.

Les résultats

Comme je l’ai dis dans le chapitre précédent, ça fonctionne! J’ai pu accéder à mon Pod via un navigateur web et créer un compte. Mais… j’étais seul!

Et je ne suis pas allé plus loin. Pourquoi? Il se trouve que les différents pods communiquent entres-eux via une connection sécurisées en HTTPS. Pour pouvoir mettre en place ce genre de connection, il est nécessaire de créer ou d’obtenir un certificat. J’aurais pu en créer un moi-même, mais cela m’aurait donné un certificat « auto-signé », que Diaspora n’accepte pas (pour des raisons de sécurité évidentes, mais cela ne m’arrange pas). Dans ce cas, j’aurais pu me créer un certificat gratuit via StartSSL mais… ce site exige que nous soyons propriétaire du domaine pour nous fournir un tel certificat.

Voyant que le Raspberry était de toutes façons fort limite du côté des ressources nécessaires pour faire tourner un « vrai » pod Diaspora, je n’ai pas eu envie de dépenser de l’argent pour un DNS et un certificat. Pour moi, l’objectif était atteint : j’ai installé et démarré un pod sur mon RaspberryPi. Pour utiliser mon propre pod, ce sera pour une autre fois!

Conclusions

Sur papier, Diaspora est très beau, et très intéressant. Je pense qu’il pourrait arriver à concurrencer les grands réseaux sociaux connus actuellement.

Cependant, je pense qu’il faudra encore pas mal de travail pour y arriver. La décentralisation complète ne sera possible que si un utilisateur moyen peut se créer son propre pod facilement. Bien sûr, il existe un bon nombre de pods publiques. Mais que font les administrateurs de ces pods de nos données personnelles? Comment se rémunèrent-ils? On en revient à se poser les mêmes questions qu’avec les réseaux sociaux « classiques ». Or, actuellement, vu la complexité de l’installation, et les ressources nécessaires, cet objectif est loin d’être atteint.

De plus, les contraintes dont j’ai parlé précédemment, surtout la nécessité d’avoir un certificat signé par un tier de confiance, vont limiter le nombre de personnes ayant les capacités et les moyens de monter son pod.

J’espère donc que le développement de Diaspora va continuer et que, un jours peut-être, il arrive à un point où tout un chacun pourra créer son pod sur son RaspberryPi aussi facilement que d’installer XBMC, par exemple!

Une pensée sur “Quelques expérimentations avec Diaspora*”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *