goucyloun (avatar)

goucyloun

Abonné·e de Mediapart

13 Billets

1 Éditions

Billet de blog 26 juin 2012

goucyloun (avatar)

goucyloun

Abonné·e de Mediapart

Comment taire...

goucyloun (avatar)

goucyloun

Abonné·e de Mediapart

Ce blog est personnel, la rédaction n’est pas à l’origine de ses contenus.

Comment taire nos frustrations avec les commentaires ? Comment améliorer les choses ?

Lorsqu'on arrive sur la page de commentaires d'un article, vous avez bien sûr remarqué que tous les commentaires que nous n'avions jamais vus précédement apparaissent précédés d'un petit rectangle rouge où est écrit "Nouveau".

C'est bien utile pour compléter sa lecture lors d'une nouvelle visite.
Mais comment les programmeurs font-il pour réussir ce prodige ?

A chaque fois que je vais sur un article (ou a chaque fois que je valide un commentaire sur cet article ... et c'est peut-être là le problème qu'on examinera ultérieurement !) le programme va dans la base de donnée de médiapart, qui contient une table qu'on pourrait appeler 'visites', où figurent toutes les visites que les membres font à chaque instant.

Par exemple si je suis l'utilisateur "Goucyloun" et si je vais dans l'article "LeBelArticle" le 26/06/2012 à 15h02, celà provoque l'écriture dans cette table 'visites' d'une nouvelle ligne (on appelle ça un nouvel enregistrement de la table), où sont renseignés, notamment, les informations ou champs suivants :
- Le champ "Utilisateur" rempli avec la valeur "Goucyloun" (... ou plutôt un identifiant propre à l'utilisateur Goucyloun, son code, par ex. 845679)
- Le champ "Article" rempli avec la valeur "LeBelArticle" (... ou plutôt un identifiant propre à l'article LeBelArticle plus ou moins abstrait, par ex. 58563)
- Le champ "DateDeSortie" rempli avec la valeur de "26/06/2012 15h02" (ou un nombre précis pour exprimer cette heure précise d'entrée, par ex. 2012-06-26 15:02:23)

Ainsi, si je vais le lendemain sur l'article "LeBelArticle", avant que de m'afficher la page, le programme recherche dans la table visites, si l'utilisateur "Goucyloun" est déjà venu sur cet article.
Le programme va donc faire ce qu'on appelle une "requête", qui dit à peu près ceci, mais dans un langage assez abstrait :
Parmi les millions de lignes de la table 'visites' (qui recensent tous les milliers d'utilisateurs qui on visité les milliers d'articles à des milliers de dates différentes), y en a t-il un ou plusieurs qui correspondent à l'utilisateur "Goucyloun" et à l'article "LeBelArticle" ?
Si oui, classe-moi les, classe-les moi (je sais qu'il y a un pb mais je n'ai jamais ce qu'il fallait dire :-) par date pour me dire le plus récent ! Sinon, dis-moi le ! Dis-le moi !

Le programme va afficher la page avec tous les commentaires dans l'ordre logique prévu, mais il va faire précéder tous ceux écrits antérieurement à cette date du rectangle rouge 'Nouveau'.
Et s'il n'en a pas trouvé, tous les commentaires seront marqués comme "nouveau"
Grossièrement résumé, vous voyez donc le principe.

Mais là où il y a un problème, c'est ici !
Supposons un article que j'ai déjà lu hier et qui contient, maintenant que j'y reviens, 100 commentaires avec les 6 nouveaux commentaires en position 10, 20, 30, 40, 50, 60 et 70. Si j'ai le malheur de répondre au 60ème commentaire, tous les commentaires seront désormais considérés comme lus (sauf justement mon dernier saisi). Ils ne seront plus repérés par 'Nouveau' !

Où sont les récents ? Où sont ceux que je n'ai jamais lu ? le 10 ? le 20 ? le 50 le 70 ???   Impossible de les retrouver ?... Si, des astuces absurdes et laborieuses existent ! Par exemple rechercher tous les commentaires contenant "26/06/2012" si je ne veux que ceux d'aujourd'hui !

Ce n'est pas satisfaisant. Que proposer pour améliorer ça ? Quelle astuce ? Je ne sais pas encore.

J'ai de vagues idées...

Ce blog est personnel, la rédaction n’est pas à l’origine de ses contenus.