Afin de maintenir la bête en vie, voici l’un des premiers ricochets produits par la mise en ligne de “Noir sur blanc“. Celui-ci porte avant tout sur certains aspects techniques, suite aux premiers retours enregistrés sur Twitter ce week-end.

Tout d’abord, quelques rapides précisions puisque, semble-t-il, cela n’était pas limpide dans mon propos. Sur le plan des briques logicielles de la solution envisagée, il n’y a pas grand chose à inventer :

  • N’oublions pas qu’il s’agit d’aller un ou deux crans (“seulement“) au-delà du POSSE et qu’une bonne partie de la démarche et des outils proposés par IndieWeb figurera dans la recette. Si je ne l’avais pas précisé explicitement dans le billet, c’est avant tout parce que je radote régulièrement à ce sujet et que je considérais ce lien comme acquis.
  • Il en va de même avec les solutions de blog que je connais, telles que Dotclear et WordPress. Ces outils ont contribué à former la base de ce que nous retrouvons dans les réseaux sociaux. Question d’évolution et d’itération. Je reviendrais peut-être sur ce sujet prochainement. Ces approches ont toujours un rôle de taille à jouer, et non des moindres : maintenir la forme longue en vie.

Ce sera donc dans la façon de les assembler, des les présenter et de les diffuser que devrait se faire la différence. Et il ne faudrait pas non plus considérer qu’une réponse unique conviendrait à tout le monde. Mais, ça, j’en reparlerai un peu plus loin dans ce billet.

Ensuite, au registre des compléments et des nouvelles pistes, un grand merci à Joachim qui m’a fourni des surplus de “came” en me pointant deux projets collant de très près à ce que je tentais de décrire.

Commençons par le moins “palpable”, à mon avis, le projet Solid.

Solid (derived from “social linked data”) is a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles. Solid is modular and extensible and it relies as much as possible on existing W3C standards and protocols.

What does Solid offer?

Le site vitrine est sans doute un peu maigre et laisse rapidement sur sa faim. Par contre, il y a de quoi se mettre sous la dent du côté du dépôt GitHub associé. Un des outils de la boite m’a attiré l’œil un peu plus que le reste : WebID. Il me semble intéressant de gratter de ce côté-là, en particulier. Je pourrais reprocher à la “stack” retenue une certaine lourdeur et un risque de verbosité excessive. Mais c’est sans doute dû à mon récent désamour pour les dialectes XML. Quoi qu’il en soit, malgré l’implication de Sir Tim himself, ce n’est pas l’approche sur laquelle je serais le plus apte à parier.

Le second projet, lui, rentre radicalement dans le vif du sujet. Non seulement il dispose d’un livrable mais il sent également bon le pragmatisme. J’ai nommé : Mastodon.

Mastodon is a free, open-source social network server. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.

Là encore, l’essentiel des informations se trouve du côté d’un dépôt GitHub. Mais au-delà des informations, il y a également le code (en Ruby * sic *). Nous sommes là dans le concret, dans du disponible : c’est possible là et maintenant.

Autant j’avais un vague et lointain souvenir d’avoir vu passer une news au sujet de Solid, autant j’ai eu le sentiment de tomber des nues en découvrant Mastodon. Qui plus est, j’ai trouvé dans la panoplie nécessaire au fonctionnement de Mastodon des confirmations et des réponses qui me manquaient encore.

Mastodon ne correspond pas pour autant à ma façon de voir les choses. Nous sommes en présence d’un produit tellement typé micro-blogging qu’il en singe les réseaux sociaux et leurs applications clientes. De sorte que l’outil doit, une fois encore, encourager les contenus courts et l’instantanéité avant tout. L’autre reproche (mais c’est toujours relatif), c’est indiscutablement le piège que peut représenter une instance. Si chacun peut avoir une instance et la connecter à d’autres, chacun peut également devenir l’opérateur d’un mini réseau social limité à sa seule instance. En invitant ses amis, sa famille ou ses collègues, il recrée un mini Facebook ou un mini Twitter. Et devient ainsi un nouveau silo. Mais ces petites réticences mises à part, je pense que Mastodon mérite un essai approfondi et, vraisemblablement une meilleure visibilité. Et comme je le disais un peu plus haut, il y a de quoi s’inspirer avec ce qu’il a sous le capot…

PubSubHubbub (WebSub)

Sans surprise, c’est PubSubHubbub qui assure le pouls. Pour l’instant, ça confirme ma tendance à vouloir en faire le noyau de toute la partie liée aux interactions entre nœuds. Qui plus est, à très court terme, PuSH présente déjà un intérêt pour ses aspects fondamentaux : la notification et la récupération de nouvelles publications sans avoir à recourir au “polling“.  Limité à ces bons vieux flux RSS/Atom jusque dans sa spécification 0.3, il est devenu plus souple dans la mouture 0.4.

En faisant le tour des “hubs” ouverts disponibles, j’ai même découvert que PubSubHubbub faisait l’objet d’un Working Draft sous le nom de WebSub auprès du W3C. Histoire d’épargner mon ego d’apprenti veilleur, il semblerait que la démarche ne date que de l’automne 2016. Est-il alors surprenant de retrouver Aaron Parecki dans le duo des éditeurs de ce version de travail ? C’est d’ailleurs par l’intermédiaire du hub mis à disposition par Aaron que j’ai découvert ce chapitre WebSub.

Ce nom présente au moins l’avantage de ne plus tous nous faire passer pour des bègues…

Pour en finir avec PubSubHubbub/WebSub, notons également que ce ne sont pas les implémentations qui manquent. La page dédiée sur IndieWeb est une bonne porte d’entrée.

WebFinger

Exemple typique du truc qui m’aide à mesurer le temps que j’ai perdu dans un trou spatiotemporel… Cela fait quelques temps que je me dis qu’il serait tout de même sympa de disposer d’un mécanisme simple pour découvrir les services ou ressources mises à disposition par un site Web, ou quelques informations relatives à son propriétaire. <troll>Je parle d’un truc à peu près “sain”, pas à base de XML-RPC…</troll>.

Ouaip. Ça serait tellement bien que ça existe déjà depuis… 2013. Ça s’appelle WebFinger et ça fait même l’objet d’une RFC. Et j’aime beaucoup le clin d’œil à ce vénérable finger. Honte sur moi de ne pas l’avoir repéré avant, etc.

Samedi, quand je disais sur Twitter que 90% des pièces techniques existaient déjà, j’étais sans doute loin du compte. Je vous vends donc un 95% ce soir. Au passage, je pense que WebFinger doit faire partie des candidats au remplacement de la méthode Host-Metadont la dépréciation semble imminente au sein de l’actuel document de travail WebSub.

Salmon Protocol

Dans la foulée du précédent, même trou spatiotemporel, même réveil tardif : le voilà, ce fameux protocole pour fédérer les commentaires depuis plusieurs points : Salmon.

Outre le fait de définitivement me faire passer pour un demeuré attardé, il est la dernière pièce nécessaire pour envisager une transition souple entre nos systèmes de blog actuels et leurs futures générations ou descendances. Même au risque de n’être qu’un nouvel essai parmi tant d’autres.

D’ailleurs, lorsque j’écrivais hier soir

J’avais même réussi à repousser la tentation de ne pas publier avec l’excuse “À quoi  bon ? Tout cela a déjà été analysé, traité, décortiqué ailleurs, d’une manière et d’une exhaustivité que ne n’atteindrais jamais…”.

Je ne pensais pas si bien dire… D’ailleurs, je vous laisse le constater par vous-même. Reste alors la question de savoir si cela vaut la peine de poursuivre.

Je répondrai par l’affirmative.

Et, une fois de plus, j’insisterai sur le fait que les véritables problèmes qui demeurent ne sont définitivement pas d’un ordre purement technique. Qu’il sera nécessaire d’appuyer là où ça fait mal : l’absence de collaboration entre projets, les querelles de clochers du libre et une réorientation du discours.