Don't panic, fufe veille...

[like] over nntp

Un grand défi que voici, que voilà. C'est jauni qui en a été le déclencheur. Son idée fixe, c'est de transformer Usenet en un réseau social nntp qui puisse concurrencer fessebouc au niveau de l'audience.


Le début

29 novembre 2012 : première proposition formelle dans <mn.ebf77dcbc77fa44f.30736@sc4x.org> qui montre que non, Usenet n'est pas mort, et que certains pensent encore qu'il y a des trucs techniques kikoolol à faire avec.

Ca dépend à quel niveau tu veux les identifier. Si c'est pour donner la liste des personnes ayant aimé, c'est tellement peu usenet que, nan. Mais si c'est juste pour éviter qu'une personne n'aime deux fois, tu peux faire cela au niveau du serveur, puisque tu dois t'autentifier auprès de lui.

Cela n'empèchera pas ceux qui savent de voter plusieurs fois en utilisant plusieurs comptes/serveurs, mais n'est-ce pas la base de usenet ? Ceux qui savent comment faire sont suffisement intelligent pour ne pas le faire.

LIKE

  Syntax
     LIKE message-id
     LIKE number

   Responses

   First form (message-id specified)
     230    Like accepted
     430    No article with that message-id

   Second form (article number specified)
     230    Like accepted
     412    No newsgroup selected
     423    No article with that number

  Parameters
     number        Requested article number
     message-id    Article message-id

  Description
     The LIKE command increment the 'like' flag for the given article.

     In reaction to this command, the server MUST increment the 'like'
     flag in its own spool, add the right message into its 'like' control
     chan, then raise a flag for to let the given user know that he've
     already liked this article and prevent him to like it twice.

DISLIKE

    Same as the LIKE command, but for to tell that you dislike the
    given message.

UNLIKE

    Lower the 'like' OR 'dislike' flag.

LIKES

  Syntax
     LIKES message-id
     LIKES number

   Responses

   First form (message-id specified)
     231    Response follows
     430    No article with that message-id

   Second form (article number specified)
     231    Response follows
     412    No newsgroup selected
     423    No article with that number

  Parameters
     number        Requested article number
     message-id    Article message-id

   The response is
     ArticleNumber NumberOfLike NumberOfDislike

  Description
     The LIKES command return the number of 'like' and 'dislike'
     for the given article.

Quelques propositions

Ensuite, Doug a proposé le 16 juin 2013, dans l'article ls5v8ax0c7.ln2@actarus.chainon-marquant.org, cette façon de procéder :

Imaginons qu'il existe un groupe fr.usenet.like et que je like un post.

Quand je like, mon client envoie au serveur un pseudo article de
controle, un truc plus ou moins au goût de cancel, qui contient le mid
de l'article liké en dans un entête à définir (X-Like pour simplifier).

Lors de la relève des articles et pour chaque article téléchargé (ah
bah oui, ça coute cher le like), le client vérifie dans fr.usenet.like
la présence d'article ayant un entête X-Like: 

Le client fait sa petite addition (éventuellement stocke le résultat
dans un pseudo .jnewsrc histoire de ne pas refaire tout le boulot à
chaque fois) et l'affiche au looser.

On peut même imaginer des scores négatifs, genre DLFP.
Bref, l'e-Réputation sur Usenet, trop la classe, avec autoplonk
général/UDP pour les articles ayant atteint des scores trop bas (c'est
ptilou qui va faire la gueule).

Synthèse

Il y a effectivement quelque chose à creuser, ne serait-ce que pour la beautée technique du geste. Mais le chemin sera long avant d'arriver à quelque chose qui fonctionne correctement.