Gloubiboulga et serveur

Publié le et mis à jour le par /

C’était cette après-midi. Je faisais la vaisselle, cherchant une excuse pour retourner devant le clavier. C’est alors que m’est venue cette Révélation, que je me suis empressé d’aller gazouiller : « Je me suis trompé sur le Web. J’aime HTTP, mais ça reste un protocole client-serveur, donc fondamentalement centralisateur. Toute solution impliquant d’installer un serveur est réservée à une élite, donc ne peut être émancipatrice. Il nous faut remettre l’intelligence à la marge, dans les mains des gens, dans leurs ordiphones plutôt que sur des serveurs, fussent-ils Web. » Plusieurs d’entre vous ayant eu la gentillesse de répondre, je vais développer un peu plus le contexte.

Lorsque j’ai reçu il y a quelques mois mon FirefoxPhone, je me suis dit que ça allait enfin être l’occasion de pouvoir lire les Internets pendant les interminables heures que je passe dans les transports. Je me suis donc mis à la recherche d’une application Web libre pour lire sur ordiphone en étant déconnecté. On m’a rapidement conseillé Poche, mais j’ai tout aussi promptement décidé qu’il ne convenait pas à mon besoin. Poche est une application PHP qu’on installe sur un serveur. Je ne veux plus installer d’applications PHP sur mes serveurs. Ni Ruby ou Python d’ailleurs. Parce qu’héberger une telle application demande une vigilance quotidienne. Il suffit d’être déconnecté ou occupé ailleurs quelques jours pour louper l’annonce d’une faille critique dans le logiciel ou la pile sous-jacente, et perdre le contrôle de son serveur et ses données. Sans même parler de faille, des évolutions des plateformes peuvent modifier les réglages par défaut et nécessiter de reconfigurer les applications. Mes priorités actuelles font que je n’ai plus beaucoup de temps à consacrer à ça. Je m’astreins à des apt-get upgrade quotidiens de toutes les machines dont je m’occupe, mais ça ne va pas plus loin. Je ne veux plus installer d’applications ouvertes au monde sur mes serveurs. Et les journaux de mes serveurs Web me confortent dans mon choix, à chaque fois que de nouvelles tentatives par des robots d’accès à certaines URLs m’informent d’une probable nouvelle faille dans phpMyAdmin ou Wordpress.

La sécurité informatique est un domaine trop sérieux pour le confier à des machines, c’est pourquoi je ne crois plus guère qu’apparaitra un jour un jour un serveur d’auto-hébergement grand public, fonctionnant tout seul sans demander d’interventions expertes.

Ce que je veux aujourd’hui, ce sont des applications qui fonctionnent directement sur les périphériques que j’utilise, qui soient faciles à installer, utilisables par quiconque, et relativement sécurisées.

C’est pour cela que je suis en train de créer mon propre lecteur hors-ligne, Àlir (et aussi, je l’avoue, parce que je n’aime rien autant que réinventer la roue et utiliser des versions cuisinées à la maison des logiciels prêts à porter). Il peut fonctionner de manière complètement autonome sur un FirefoxPhone, sans nécessiter le moindre composant sur un serveur. Il suffit de l’installer sur le terminal et de lui envoyer des articles depuis le butineur. Alternativement, on peut également le synchroniser via le génial protocole remoteStorage, ce qui permet de pousser des articles vers l’application depuis n’importe quelle source capable d’envoyer un POST (j’utilise actuellement une extension Firefox et une macro Mutt pour faire le boulot). La synchronisation nécessite dans ce cas de passer par un serveur, on a le choix entre installer son propre serveur remoteStorage, en utiliser un d’un prestataire commercial comme 5apps ou utiliser un compte Dropbox ou Google Drive, avec lesquels remoteStorage est compatible.

Mais je m’éloigne.

Second exemple de ma nouvelle croisade Sans Serveur. Comme je le signalais récemment, je suis un grand utilisateur de DocHub, interface agréable pour consulter de nombreuses documentations informatiques. Malheureusement le projet semble en sommeil, je l’ai donc forké cette semaine pour l’installer. Et rapidement déchanté. Comme pour tout projet Node.js, il faut pour l’installer télécharger la moitié de Github. Puis démarrer un serveur sur un port spécifique, mettre en place éventuellement un proxy inverse… Toutes choses qui m’ont rapidement fait abandonner l’idée d’utiliser ma propre instance de DocHub. Par curiosité, j’ai regardé si La Source de Toute Documentation Web était accessible via CORS. Par chance, elle l’est partiellement. Je me suis donc empressé d’écrire une version de DocHub fonctionnant entièrement dans le navigateur, sans nécessiter d’installer quoi que ce soit sur un serveur. Ainsi naquit MDNHub : votre navigateur aspire le contenu de MDN et le stocke dans une base de données locale où vous pouvez le consulter à loisir. Comme d’habitude, j’ai torché ça rapidement, ça marchote à peine, donc à utiliser avec des pincettes, mais c’est juste pour illustrer l’idée : je ne veux plus qu’on me demande d’installer des trucs sur un serveur là où une appli dans un butineur suffit (éventuellement dans un butineur sous amphétamines comme Firefox OS).

Dans ma secte d’amoureux de drosophiles bâtisseuses de toile, nous organisons de fréquentes séances de lamentation collective sur l’évolution du Web. Ce nouveau média dont nous pensons qu’il a des propriétés émancipatrices est ces jours ci en train d’enfermer nos semblables dans quelques silos. Facebook, Google+, Twitter pour citer les plus communs. Pocket également pour la lecture différée. Et nous ne comprenons pas pourquoi #lesgens se laissent enfermer de la sorte alors que pour gagner en autonomie, il leur suffit d’installer une instance de Diaspora, Poche, Status.net reloaded… Non. Ce « suffire » est déjà de trop. Dire que pour échapper aux silos il « suffit » d’avoir son propre serveur, est aussi irréaliste que de conseiller de faire son potager pour échapper aux grandes chaines agro-alimentaires. Juste sur le papier, très difficile à grande échelle dans la réalité.

HTTP est un protocole merveilleux, mais encore trop lié à une logique client-serveur (intrinsèquement ou par l’usage qu’on en fait, je ne sais pas trop). Au commencement, lorsqu’il n’était utilisé que par des passionnés, le paradigme émancipateur fonctionnait : chacun peut publier librement en installant son serveur. Mais installer un serveur n’est pas une réponse qui résiste à la démocratisation de la technologie. Avec cette démocratisation est venue l’utilisation de serveurs tiers, et, assez logiquement me semble-t-il, des silos actuels. Je ne suis donc plus du tout sûr que, sur ce continent de l’univers Internet qu’on appelle le Web, on puisse désormais connaître autre chose qu’un modèle fortement centralisé.

Heureusement, Internet ne se limite pas au Web, et on a vu il y a quelques années des réseaux très grands publics et fortement décentralisés se mettre en place, à l’époque de la vogue du P2P. Le rêve d’un Internet a-centré n’est donc sans doute pas mort, mais peut-être à chercher ailleurs que sur le Web. À moins que nous soyons capables de repenser, d’inventer, un Web de pairs à pairs.

Accessoirement, peut-être que nombre de nos contemporains n’ont pas envie d’être autonomes mais se sentent parfaitement bien dans les jardins privatifs totalement sécurisés, aseptisés, confortables. Et qu’avec nos histoires de serveurs-à-la-maison nous ne cherchons pas à répondre à un besoin mais à promouvoir notre vision de ce qui serait bon pour l’humanité connectée.

Cette esquisse a notamment été inspirée par :

Cette esquisse a été citée par :

Pour réagir, n'hésitez-pas à m'écrire : clochix chez clochix.net ou à soumettre l'url de votre commentaire :
(Je traite les mentions à la main, elles peuvent mettre plusieurs jours avant d'apparaître)

Si vous avez un compte Github, vous pouvez me proposer des corrections en éditant ce billet

Fork me on GitHub