Vieux sujet traîné en commun avec Karl et David (mais pas que) : Faire en sorte de décentraliser les blogs et les discussions qui s’en suivent.
L’histoire
Par le passé nous avions Trackback. On envoyait une notification aux contenus liés, avec le lien vers notre contenu, le nom du blog, un extrait et un titre. Le codage caractère était globalement mal géré, les titres et extraits se sont révélés globalement inutiles voire contre-productifs, mais c’était implémenté un peu partout et ça, techniquement, ça fonctionnait assez bien.
Pour faire court, les gens continuaient à commenter dans le billet d’origine plutôt que de commenter dans un nouveau billet chez eux. Par contre les trackbacks étaient très utilisés pour le spam, avec au final un ratio signal/bruit vraiment mauvais et donc l’abandon du système.
Il y a aussi eu Pingback. Système similaire mais avec une autodécouverte plus sympa et l’arrêt de transmission des titres et extraits. Vu que ces derniers n’étaient jamais personnalisés spécifiquement pour la notification, autant les récupérer directement à partir du lien si jamais on en a besoin.
Différence, Pingback proposait de vérifier la présence d’un lien sortant dans le contenu tiers avant de valider une liaison entrante. Cette différence fut peu impactante au finale. L’idée a aussi été implémentée dans les trackback mais les spameurs ont vite appris à faire des liens sortants pour poster leur spam, quitte à faire des liens invisibles pour le lecteur ou des liens temporaires supprimés après l’opération.
Je trouve aussi l’idée discutable dans le sens où la valeur ajoutée du lien n’est pas la même dans les deux sens. Si je réalise analyse sur une dépêche AFP, il peut être utile d’avoir une notification chez plusieurs personnes qui reprennent verbatim cette dépêche, mais cela n’aurait aucun sens d’en lier plus d’un à partir de mon analyse (ce que la vérification de pingback impose).
Wikipedia cite aussi Refback. Je ne l’avais jamais vu formalisé sous ce nom mais la pratique est connue : Explorer les entêtes HTTP Referrer pour repérer de nouveaux liens entrants automatiquement. Les spammeurs jouaient à fausser ces entêtes depuis longtemps donc là aussi ça n’a pas changé grand chose.
Tous ces systèmes ne spécifient que la notification. Il s’agit de parler un langage commun au niveau de cette notification pour que ce soit plus simple pour tout le monde. Il reste à l’éditeur du site lié de choisir ce qu’il fait de la notification : L’afficher automatiquement avec une modération a posteriori, gérer une liste blanche, mettre un système anti-spam automatisé, ou même faire une validation manuelle a priori.
Il y a aussi Salmon, très orienté commentaire, mais extrêmement complexe et quasiment pas implémenté (les deux sont certainement liés). J’ai du mal à voir ce protocole réellement implémenté partout.
Webmention
Aujourd’hui on parle de Webmention. Même sémantique que Pingback, même mécanismes d’autodécouvertes (seule la valeur de « rel » change), même requête initiale et mêmes paramètres (seuls les noms des paramètres changent légèrement pour retirer les trois derniers caractères).
Les différences tiennent exclusivement dans la précision de la méthode HTTP à utiliser (POST) et dans les codes de retours (Webmention utilise les codes HTTP standards et un lien vers la mention créée, là où Pingback renvoie une code de retour dans le corps de la réponse).
C’est techniquement plus satisfaisant pour les afficionados de HTTP mais la valeur ajoutée fonctionnelle est nulle. On ne fait rien de plus, rien de moins, et pas vraiment différemment. J’échoue d’ailleurs à
Sachant que pingback a une implémentation disponible sur à peu près tous les gros moteurs de blogs, je ne trouve pas que cela justifie de lancer un nouveau protocole. En l’état c’est d’une utilité encore plus faible que ce que j’imaginais initialement. Pas de quoi m’embêter à l’implémenter.
En fait à choisir entre pingback et webmention, une fonctionnalité forte de pingback est l’attribut pingback, qui permettrait de faire une notification automatique suivant ce dernier protocole, et donc de remplacer (en opt-in) l’entête HTTP Referrer là où elle est bloquée par HTTPS. Cette possibilité me semble bien plus utile que le respect théorique de HTTP (je sens que je vais attirer pas mal de commentaires avec cette phrase mais j’assume).
Suivi des discussion
Et puis j’ai l’impression qu’on regresse un peu par rapport au trackback initial. Pingback et Webmention notifient d’un lien entrant, pas d’un suivi de discussion.
Je peux avoir un lien entrant sans aucun ajout à la discussion, juste un relai. Inversement je peux avoir un nouveau contenu qui apporte à la discussion et qui mériterait de notifier plusieurs contenus déjà existant sans forcément s’imposer de faire des liens.
Autre commentaire de Karl : Certains aimeront avoir plus qu’un lien, avec un petit texte sur le pourquoi de la notification, de ce qu’ajoute ce nouveau contenu au sujet déjà en cours – par exemple pour orienter la modération et le choix de (non-)publication. Pas forcément pertinent de le rendre obligatoire (ça empêcherait pas mal d’automatismes) mais le rendre possible serait utile.
Et si je n’impose pas de lien dans le contenu notifié, il faudra que je puisse en authentifier l’origine. Un système de signature simpliste devrait suffire mais sera nécessaire.
Faire une spécification qui implémente ça demande deux heures tout au plus. Rien n’empêche même qu’elle soit compatible avec Webmention et qu’on puisse avoir un point d’entrée unique. Simplement ça n’a de sens que si je ne suis pas le seul à jouer.
David, Karl, les autres ? vous en pensez quoi ?
Laisser un commentaire