Lignes de Fuite MediaWiki (IndieWeb Learning Zone)

 Actions

Parser les webmentions

De xtof

Cette page est destinée à étudier le protocole indieweb webmention.

En quelques heures, lors de l'indiewebcamp UK à Brighton, nous avons pu voir Jeremy implémenter le protocole sur son site :

  • Tous les posts de son blog acceptent les webmentions
  • Discovery seulement avec le lien : rel="webmention" dans le head
  • les posts de blog ont un formulaire de saisie pour coller proprement votre URL de commentaire et envoyer une webmention manuelle

Ce qui suit (et reste à implémener ici) est une traduction à raffiner de l'article de Jeremy Keith : http://adactio.com/journal/6495/

Parser les webmentions

Merci à tous ceux qui m'ont aidé à tester webmentions que j'ai hacké à l'Indie Web Camp le weekend dernier.

Laissez-moi vous expliquer ce que sont les web mentions

Basiquement, un équivalent à pingback. Disons que j'écris quelque chose sur adactio.com. Supposons que je vous demande d'écrire quelque chose en réponse sur votre propre site. Une web mention est un moyen à votre disposition pour me faire savoir que votre réponse existe.

Si vous regardez le head de n'importe lequel de mes billets de blog, vous verrez cet élément link :

<link rel="webmention" href="http://adactio.com/webmention.php" />

C'est mon endpoint webmention : http://adactio.com/webmention.php …c’est une forme de webhook : une URL destinée à être atteinte par des machines plutôt que par des personnes. Ainsi, quand vous publiez votre réponse à mon post, vous pinguez cette URL avec une requête POST qui envoie deux paramètres :

  1. target : l'URL de mon post
  2. source : l'URL de votre réponse.

Idéalement votre propre CMS ou système de blog devrait prendre soin de produire le ping, mais en attendant d'être plus largement implémenté, je fournis ce ce formulaire à la fin de chacun de mes posts :

Dans tous les cas, une fois que vous pinguez mon endpoint-découvrable webmention à travers ce link rel="webmention"—avec ces deux paramètres, j'ai juste besoin de confirmer que votre post contient vraiment un lien vers mon post —en produisant une requête cURL et en parsant votre source— et ensuite, je renvoie une réponse serveur de 202 (Accepted).

Voici le code pour un webmention minimum viable en PHP.

C'est à cette heure tout ce que j'ai reçu lors de l'Indie Web Camp mais suffisant en ce qui me concerne afin de commencer à collecter les réponses aux posts.

Webmentions as links

La prochaine étape est de faire quelque chose avec les réponses. Après tout, j'ai déjà reçu la source de chaque réponse à partir de ces requêtes cURL.

Barnaby a écrit un beau parseur microformats en PHP. J'utilise ça pour vérifier la source cURLé pour toute réponse qui a été marquée en utilisant h-entry. C'est l'un des vocabulaires microformats 2 —un moyen beaucoup plus simple d'écrire du contenu structuré avec des microformats.

Aaron, Amber, et Barnaby ont tous envoyé des réponses qui ont été marquées avec h-entry, ainsi maintenant leurs réponses apparaissent en entier.

Webmentions comme commentaires

Vous avez l'idée. Les commentaires sont désormais ouverts sur chaque post du journal sur adactio.com … le seul truc est que vous devez écrire le commentaire sur votre propre site. Et si vous voulez que le contenu de votre post apparaisse ici (au lieu d'un lien), alors mettez à jour votre gabarit de blog pour inclure quelques classes h-entry.

Sentez-vous libre d'utiliser ce post pour tester. Marquez votre votre blog avec h-entry, écrivez un post de blog qui fait un lien vers cette URL, et entrez l'URL de votre post dans le formulaire ci-dessous.

Tagué avec

Avez-vous publié une réponse à ça ? :

Commentaires

"Parsing Webmentions" by @adactio: http://adactio.com/journal/6495/ A step-by-step explanation of how to receive #webmentions and incremental steps you can take afterwards like: * displaying links to posts that mention yours * displaying such posts in their entirety with attribution Well done Jeremy.

adactio: this is awesome! http://adactio.com/journal/6495/

# Posted by aaronpk on Sunday, September 15th, 2013 at 4:21pm

Jeremy has recently implemented Webmention on adactio.com, and posted an explanation of the small piece of code involved. I I love the simplicity of Webmention, and I love the Indieweb idea of connecting our conversations in the simplest possible way whilst still publishing to our own sites, owning our data. I intend to implement it on this site as soon as I can: both to test it out, and to offer a way of commenting without all the hassle of actually managing comments (sort of).

I do have one teensy tiny criticism though: what’s that little bit of tech-specific junk doing in the Webmention URL, Jeremy? “Dot PHP”? Cool URI:s don’t change, but publishing platforms and script languages do, right? Excuse me sir, your CMS is showing! :-)

In 2007 and 2011 I wrote a pair of articles where I tried to articulate my thoughts on what I saw as the dawning social web. The earliest article was about Google’s OpenSocial API, and the latter, about what I saw as Google’s new social network, built around profiles, rel=me and Buzz.

Neither came to pass. OpenSocial died a slow, painful death, while Buzz was kicked in the teeth, then taken out back and shot. But, what they demonstrated was Google’s attempts at socialising the web itself. Of course, this dream died when Google+ was released as a Facebook-clone and Google returned to only being an advertising company.

But, others have been continued working on freeing the web for us.

IndieWeb

Individuals like Tantek Çelik, Barnaby Walters, Jeremy Keith and many others are tirelessly working on ensuring that the content we create is recognised as ours, controlled by us and, in the end, owned by us. This work is best articulated by the principles of the IndieWeb.

One of the latest pieces of work developed by Jeremy Keith is webmentions.

Webmentions

Webmentions allows conversations, that would usually occur in comments, to take place on your own website. Pinging back responses to the original article allows readers to follow the discussion of articles and comments, while the content itself continues to be hosted on the respondent’s website and owned by them - fulfilling the IndieWeb principles.

Google Buzz performed this kind of aggregation and connecting. It allowed conversations to happen across the web and be followed in one place.

Webmentions picks up where Buzz left off and adds the ability to host the conversation itself to the mix.

A fantastic tool that I can’t wait to implement on this site.

@sandeepshetty @pfefferle cweiske Something new to consider: Jeremy Keith added a webmention sending form to his journal entries to help people who’s websites don’t support webmention already. Being able to test and use webmention through a human visible, interactable form is a huge benefit of using HTTP form encoded data.

We can make this an even stronger case by encouraging success and error responses to be full HTML documents with helpful copy.

See also * http://tantek.com/2013/258/t2/web-protocols-should-use-http-params-no-xml * http://adactio.com/journal/6469/ * http://adactio.com/journal/6495/

Illustrations

Grâce à la magie des tags machine, vous pouvez illustrer ce post en taguant une image sur Flickr avec :