La notion de popularité, exposée ci-dessous, apparaît dans SPIP 1.4.
Comment décompter des visites
Des centaines de méthodes statistiques existent pour décompter des visites sur un site donné. La plupart donnent des courbes horaires, ou par jour, qui permettent de savoir si son site « monte » ou « descend », et de vérifier qu’il y a plus de gens sur le net en fin d’après-midi et dans la semaine, que le week-end ou la nuit...
Notre objectif est un peu différent : il s’agit d’attribuer à chaque article une valeur de « popularité » reflétant assez rapidement une tendance, et permettant de comparer l’activité de différents articles, soit de manière globale sur tout le site (hit-parade), soit à l’intérieur d’une rubrique, soit parmi les articles d’un même auteur, etc.
La méthode retenue est la suivante :
chaque visite sur un article ajoute un certain nombre de points à cet article ; 1 point si c’est un article que l’on consulte depuis le site lui-même en suivant un lien, et 2 points si c’est une « entrée directe » depuis un site extérieur (moteur de recherche, lien hypertexte, syndication...)
toutes les 10 minutes, le score obtenu est multiplié par un petit facteur d’escompte, qui fait qu’un point attribué par une visite à 10h12 le mercredi ne vaut plus, le lendemain à la même heure, qu’un demi-point, et, le vendredi à 10h12, un quart de point... ;
le tout est calculé de manière à ce que, dans l’hypothèse où l’article reçoit toujours le même nombre x de visites par unité de temps, son score se stabilise sur cette valeur x. Autrement dit, si la fréquentation de l’article est stationnaire, sa popularité finira par refléter exactement son nombre de visites par jour (modulo le score 2 donné pour les entrées directes) ;
cette popularité s’exprime de deux manières : l’une, la popularité_absolue, exprime le score en question (évaluation de la fréquentation quotidienne de l’article) ; l’autre, la popularité_relative, un pourcentage relatif à l’article du site ayant la plus forte popularité (popularité_max) ;
enfin, la somme de toutes ces valeurs (absolues) sur le site donne la popularité_site, qui permet de comparer la fréquentation de deux sites sous spip...
Balises
Des balises permettent de récupérer et d’afficher ces valeurs. La boucle ci-dessous résume l’ensemble de ces balises :
NB : bien que les données soient représentées, dans la base de spip, sous forme de nombres réels, le rendu de toutes ces balises est toujours donné sous la forme d’un nombre entier, ce qui donnera, sur des sites très peu
fréquentés (sites de tests, notamment), des choses amusantes du genre :
« Cet article a une popularité absolue égale à 1, soit 17 % de 2. Au total, ce
site fait environ 5 visites par jour. »
Critères
Enfin, un critère de tri peu se révéler utile : {par popularite}
, que l’on utilisera par exemple de la manière suivante pour afficher la liste des 10 articles les plus populaires de la rubrique courante :
<BOUCLE_hitparade(ARTICLES){id_rubrique}{par popularite}{inverse}{0,10}>
...
</BOUCLE_hitparade>
(On enlèvera {id_rubrique}
pour afficher un hit-parade du site.)