Popularité

Les differentes demandes concernant la notation des articles par les visiteurs
n’ont pas trouvé des masses d’echo.
Son résultat pourrait pourtant intervenir dans le critère de popularité
(déjà très intéressant! Thank’s Arno), qui deviendrait
une pondération entre visites, refferers, age et notation…
Ce serait aussi un pas vers un systeme de vote, qui devrait intéresser pas mal de monde, non?
Même si celà en a dégouté bien d’autres… :slight_smile:
Qu’en pensez vous, quelqu’un a t’il déjà fait qq chose dans le genre?
Merci, bonne continuation, Pierre

Ps, Si vous trouvez une grande barraque au bord de la mer,
spip@ rezo.net
Même si ya pas de téléphone, on se débrouille!

Ca m'intéresse !

En fait, j'ai déjà modifié quelque peu mon spip à moua pour tenir compte
d'une popularité.

Car pour moi, c'est inutile d'additionner des visites de pages, les plus
anciennes auront forcément plus de visiteurs que les récentes, et ça ne
m'avancera pas plus pour connaître quels sont les articles à succès.

Alors j'ai ajouté un champ dans une table qui s'appelle popularité, qui
n'est rien d'autre que le nombres de visites divisé par l'age de
l'article en jours. ça donne mathématiquement des [visites/jours], et
pour moi, c'est une sorte d'index de popularité, c'est suffisant.
Le champ est mis à jour lors des visites des articles.
J'ai ajouté une balise spip #POPULARITE.

Si quelqu'un à un algo de calcul de popu plus raffiné... !!!

cordialement
Thierry

Le Thu, 8 Aug 2002 15:45:39 +0200
"Troll" <troll@dionysos.org> a écrit:

    > Les differentes demandes concernant la notation des articles par les visiteurs
    > n'ont pas trouvé des masses d'echo.
    > Son résultat pourrait pourtant intervenir dans le critère de popularité
    > (déjà très intéressant! Thank's Arno), qui deviendrait
    > une pondération entre visites, refferers, age et notation...
    > Ce serait aussi un pas vers un systeme de vote, qui devrait intéresser pas mal de monde, non?
    > Même si celà en a dégouté bien d'autres.... :slight_smile:
    > Qu'en pensez vous, quelqu'un a t'il déjà fait qq chose dans le genre?
    > Merci, bonne continuation, Pierre
    >
    > Ps, Si vous trouvez une grande barraque au bord de la mer,
    > spip@ rezo.net
    > Même si ya pas de téléphone, on se débrouille!
    >

Thierry

mailto:tpo@gmx.net

Le champ est mis à jour lors des visites des articles.
J'ai ajouté une balise spip #POPULARITE.

Peux-tu expliquer comment gérer ce genre de chose (ajout d'une balise spip)?

Guillaume

je vote POUR (le vote des redacteurs en interne, et des visiteurs en externe).
Cà parait débile dans une approche marchande (ou anti-marchande comme celle des créateurs de SPIP), mais c’est très bien pour fonctionner collectivement et booster la participation interactive.

On n’a encore rien fait de plus démocratique que le vote (non truqué).

Walk

----- Message d’origine -----
De : Troll
À : SPIP
Envoyé : jeudi 8 août 2002 15:45
Objet : [Spip] Popularité

Les differentes demandes concernant la notation des articles par les visiteurs
n’ont pas trouvé des masses d’echo.
Son résultat pourrait pourtant intervenir dans le critère de popularité
(déjà très intéressant! Thank’s Arno), qui deviendrait
une pondération entre visites, refferers, age et notation…
Ce serait aussi un pas vers un systeme de vote, qui devrait intéresser pas mal de monde, non?
Même si celà en a dégouté bien d’autres… :slight_smile:
Qu’en pensez vous, quelqu’un a t’il déjà fait qq chose dans le genre?
Merci, bonne continuation, Pierre

Ps, Si vous trouvez une grande barraque au bord de la mer,
spip@ rezo.net
Même si ya pas de téléphone, on se débrouille!

    > Ben donne-le le code (ou bien la démarche à faire) ça peut pas mal
    > interesser de spinautes en effet.

Je vais essayer de vous montrer ça !

C'est basé sur la version 1.4c5.

Partie 1 : SQL

Bon, commençons par le plus facile : d'abord j'ai ajouté un champ
'popularite' dans la table des articles, du type 'float'

Attention, cette modif serait à intégrer dans l'installation de SPIP,
sinon obligation de modif manuellement la base de donnée pour toute
nouvelle installation.

Partie 2 : AJOUT D'UNE BALISE #POPULARITE
-------------------------------------------------------

Ensuite, modification des fichiers. Mes modifs y sont encadrées entre
commentaires //TP> et //<TP (mes initiales, ça me permet de reporter mes
modif dans la prochaine version de spip). La ligne originale, s'il y en
a une, est copiée et mise en commentaire. Les nos de lignes sont
approximatifs, +/- 5

-------------------------------------------------------
Fichier inc-calcul-squel, ligne 223
      if ($table) {
        if ($type == 'articles') {
//TP>
// $s = "$table.id_article,$table.id_rubrique,$table.id_secteur,$table.surtitre,$table.titre,$table.soustitre,$table.date,$table.date_redac,$table.visites,$table.statut,$table.accepter_forum";
          $s = "$table.id_article,$table.id_rubrique,$table.id_secteur,$table.surtitre,$table.titre,$table.soustitre,$table.date,$table.date_redac,$table.visites,$table.statut,$table.accepter_forum,$table.popularite";
//<TP
-------------------------------------------------------

Fichier inc-calcul-squel, ligne 792

  $c = array('NOM_SITE_SPIP', 'URL_SITE_SPIP',
//TP>
    'POPULARITE',
//<TP
    'ID_ARTICLE', 'ID_RUBRIQUE', 'ID_BREVE', 'ID_FORUM', 'ID_PARENT', 'ID_SECTEUR', 'ID_DOCUMENT', 'ID_TYPE',
-------------------------------------------------------

Fichier inc-calcul-squel, ligne 865

  $rows_articles = array(
//TP>
    'POPULARITE' => 'popularite',
//<TP
    'ID_ARTICLE' => 'id_article',
    'ID_RUBRIQUE' => 'id_rubrique',
-------------------------------------------------------

Partie 3 : CALCUL DE POPULARITE

Fichier inc-stats, function ecrire_stats : là je vous la livre en
intégrale

function ecrire_stats() {

  global $HTTP_REFERER;
  global $id_article;
  global $admin_ok;

  $my_ref = $HTTP_REFERER;
  $my_ref = "\n".substr(md5($my_ref), 0, 15);

  $query = "SELECT visites, referers, (to_days(now())-to_days(date))
  as age FROM spip_articles WHERE id_article=$id_article AND
  statut='publie'";

  $result = spip_query($query);

  if ($row = mysql_fetch_array($result)) {
    $visites = $row['visites'];
    $referers = $row['referers'];

    $visites++;

    $age = ($row['age']);
    $popularite = $visites / $age;
    $popularite = Round ($popularite * 10) / 10;

    if (!ereg($my_ref, $referers)) {
      $referers .= $my_ref;
      spip_query("UPDATE spip_articles SET
      visites=$visites, referers='$referers',
      popularite='$popularite' WHERE
      id_article=$id_article");
    }
    else {
      spip_query("UPDATE spip_articles SET
      visites=$visites, popularite='$popularite' WHERE
      id_article=$id_article");
    }

    $num_ref = strlen($referers) / 16;
    if ($admin_ok) echo "<small>[$visites visites - $num_ref referers - $popularite visites/jours]</small>";
  }
}

-------------------------------------------------------

Et voilà, je n'ai pas encore adapté la consultation des stats dans la
zone admin. Si une bonne âme peut le faire...

Statistiquement,
Thierry

Le Fri, 9 Aug 2002 13:53:32 +0200
"mdivol" <mdivol@netcourrier.com> a écrit:

    > Bonjour,
    >
    > Ben donne-le le code (ou bien la démarche à faire) ça peut pas mal
    > interesser de spinautes en effet.
    >
    > A+
    >
    > Michel
    >
    > www.ouvaton.coop
    > L'hébergement à 1 euro par mois !
    > ----- Original Message -----
    > From: "Thierry Portmann" <thierry66ch@gmx.net>
    > To: <spip@rezo.net>
    > Sent: Friday, August 09, 2002 1:25 PM
    > Subject: Re: [Spip] Popularité
    >
    >
    > > Ca m'intéresse !
    > >
    > > En fait, j'ai déjà modifié quelque peu mon spip à moua pour tenir compte
    > > d'une popularité.
    > >
    > > Car pour moi, c'est inutile d'additionner des visites de pages, les plus
    > > anciennes auront forcément plus de visiteurs que les récentes, et ça ne
    > > m'avancera pas plus pour connaître quels sont les articles à succès.
    > >
    > > Alors j'ai ajouté un champ dans une table qui s'appelle popularité, qui
    > > n'est rien d'autre que le nombres de visites divisé par l'age de
    > > l'article en jours. ça donne mathématiquement des [visites/jours], et
    > > pour moi, c'est une sorte d'index de popularité, c'est suffisant.
    > > Le champ est mis à jour lors des visites des articles.
    > > J'ai ajouté une balise spip #POPULARITE.
    > >
    > > Si quelqu'un à un algo de calcul de popu plus raffiné... !!!
    > >
    > > cordialement
    > > Thierry
    > >
    > > Le Thu, 8 Aug 2002 15:45:39 +0200
    > > "Troll" <troll@dionysos.org> a écrit:
    > >
    > > > Les differentes demandes concernant la notation des articles par les
    > visiteurs
    > > > n'ont pas trouvé des masses d'echo.
    > > > Son résultat pourrait pourtant intervenir dans le critère de
    > popularité
    > > > (déjà très intéressant! Thank's Arno), qui deviendrait
    > > > une pondération entre visites, refferers, age et notation...
    > > > Ce serait aussi un pas vers un systeme de vote, qui devrait
    > intéresser pas mal de monde, non?
    > > > Même si celà en a dégouté bien d'autres.... :slight_smile:
    > > > Qu'en pensez vous, quelqu'un a t'il déjà fait qq chose dans le
    > genre?
    > > > Merci, bonne continuation, Pierre
    > > >
    > > > Ps, Si vous trouvez une grande barraque au bord de la mer,
    > > > spip@ rezo.net
    > > > Même si ya pas de téléphone, on se débrouille!
    > > >
    > >
    > >
    > >
    > > Thierry
    > >
    > > mailto:tpo@gmx.net
    > >
    > > _______________________________________________
    > > liste spip
    > > spip@rezo.net - désabonnement : spip-off@rezo.net
    > > http://listes.rezo.net/mailman/listinfo/spip
    > > Documentation de SPIP : http://www.uzine.net/spip
    > >

Thierry

mailto:tpo@gmx.net

Bonsoir, voici mon souci...

Dans ma page sommaire je voudrais afficher les dernières contributions aux
forums du site. Le code ci dessous marche très bien et me classe les
messages par articles
----
Vos dernières réactions
<BOUCLE_forums(FORUMS){plat}{age>=1}{par date}{inverse}{0,10}>
<BOUCLE_article(ARTICLES){id_article}{doublons}><br>
<a href="#URL_ARTICLE">#TITRE</a> [<i> (#DATE|affdate)</i>]
<BOUCLE_forums_texte(FORUMS){id_article}{plat}{par date}>
<br>
<a href="#URL_ARTICLE#forum#ID_FORUM"><b>..: [(#TITRE)]</b></a>
[..: par <a href="mailto:#EMAIL">(#NOM)</a>] [<i>(le (#DATE|affdate))</i>]
[<br>
(#TEXTE|supprimer_tags|intro)]
</BOUCLE_forums_texte>
</BOUCLE_article>
<br>
</BOUCLE_forums>
----

Mais comme j'utilise dans ce sommaire une boucle récursive pour lister mes
articles dans de jolis tableaux (donc critère doublons obligatoire) je perds
pleins d'articles, donc de contributions.

Est-ce que qqn aurait une idée de code qui ferait la même chose ou une
solution ???

Dorian

    > heu...mais le critere de popularite n'esiste t-il pas déjà dans la table
    > article,
    > et n'est il pas une ponderartion visite, refferer, age?

Heu, non! A part mon champ "popularité" il n'y a rien d'autre à part
visites (qui est un simple compteur) et referers dont je n'ai pas réussi
à identifier vraiment l'usage...

Et d'ailleurs à ma connaissance, il n'y a pas de balise SPIP mettant en
oeuvre cette popularité.

A mon avis la notation des visiteurs est très utile mais devrait être
séparée du calcul de popularité.
Popularité et notation sont deux choses différentes.
il peut exister un article dont le contenu est très utile et recherché mais
incomplet et mal écrit -> popularité ++ et notation -- => note moyenne
alors que l'information importante et recherchée y est quand même !
A l'inverse tu peux avoir un super article, complet, bien écrit mais
dont le sujet intéresse peu de monde.

Donc à mon avis voici deux critères de tri différents.

Le Sat, 10 Aug 2002 10:17:10 +0200
"Troll" <troll@dionysos.org> a écrit:

    > heu...mais le critere de popularite n'esiste t-il pas déjà dans la table
    > article,
    > et n'est il pas une ponderartion visite, refferer, age?
    >
    > Ce que je voudrais, c'est qu'il integre aussi la notation des visiteurs,
    >
    > ----- Original Message -----
    > From: "Thierry Portmann" <thierry66ch@gmx.net>
    > To: <spip@rezo.net>
    > Sent: Friday, August 09, 2002 1:25 PM
    > Subject: Re: [Spip] Popularité
    >
    >
    > Ca m'intéresse !
    >
    > En fait, j'ai déjà modifié quelque peu mon spip à moua pour tenir compte
    > d'une popularité.
    >
    > Car pour moi, c'est inutile d'additionner des visites de pages, les plus
    > anciennes auront forcément plus de visiteurs que les récentes, et ça ne
    > m'avancera pas plus pour connaître quels sont les articles à succès.
    >
    > Alors j'ai ajouté un champ dans une table qui s'appelle popularité, qui
    > n'est rien d'autre que le nombres de visites divisé par l'age de
    > l'article en jours. ça donne mathématiquement des [visites/jours], et
    > pour moi, c'est une sorte d'index de popularité, c'est suffisant.
    > Le champ est mis à jour lors des visites des articles.
    > J'ai ajouté une balise spip #POPULARITE.
    >
    > Si quelqu'un à un algo de calcul de popu plus raffiné... !!!
    >
    > cordialement
    > Thierry
    >
    > Le Thu, 8 Aug 2002 15:45:39 +0200
    > "Troll" <troll@dionysos.org> a écrit:
    >
    > > Les differentes demandes concernant la notation des articles par les
    > visiteurs
    > > n'ont pas trouvé des masses d'echo.
    > > Son résultat pourrait pourtant intervenir dans le critère de
    > popularité
    > > (déjà très intéressant! Thank's Arno), qui deviendrait
    > > une pondération entre visites, refferers, age et notation...
    > > Ce serait aussi un pas vers un systeme de vote, qui devrait intéresser
    > pas mal de monde, non?
    > > Même si celà en a dégouté bien d'autres.... :slight_smile:
    > > Qu'en pensez vous, quelqu'un a t'il déjà fait qq chose dans le genre?
    > > Merci, bonne continuation, Pierre
    > >
    > > Ps, Si vous trouvez une grande barraque au bord de la mer,
    > > spip@ rezo.net
    > > Même si ya pas de téléphone, on se débrouille!
    > >
    >
    >
    >
    > Thierry
    >
    > mailto:tpo@gmx.net
    >
    > _______________________________________________
    > liste spip
    > spip@rezo.net - désabonnement : spip-off@rezo.net
    > http://listes.rezo.net/mailman/listinfo/spip
    > Documentation de SPIP : http://www.uzine.net/spip
    >

Thierry

mailto:tpo@gmx.net

Le Sat, 10 Aug 2002 17:53:41 +0200
"Troll" <troll@dionysos.org> a écrit:

    > #popularite ne donne rien, mais {par popularite} dans la boucle
    > fonctionne...
    > mais je suis pas sûr de la nature du calcul, si il tient compte des
    > refferers et de l'age
    > c'est toi qui a écrit ça ?

oui, si tu as reporté mes modifications, tu as droit à ce critère de tri !
C'est pas du Spip standard !

Mais #POPULARITE fonctionne chez moi. Peut être un bug soit dans ton report
de mes modifs, soit qlq chose que j'ai oublié de transmettre...

    > D'accord pour differencier les deux criteres, mais il faut trouver une
    > securite genre
    > une notation par article et par ip ou qq chose...
    > En tout cas, sorry pais je sais pas faire...;-(((

oui, ça c'est plus lourd à intégrer...
d'autres le feront mieux que moi !

   >
    > ----- Original Message -----
    > From: "Thierry Portmann" <thierry66ch@gmx.net>
    > To: <spip@rezo.net>
    > Sent: Saturday, August 10, 2002 5:05 PM
    > Subject: Re[2]: [Spip] Popularité
    >
    >
    > > heu...mais le critere de popularite n'esiste t-il pas déjà dans la
    > table
    > > article,
    > > et n'est il pas une ponderartion visite, refferer, age?
    >
    > Heu, non! A part mon champ "popularité" il n'y a rien d'autre à part
    > visites (qui est un simple compteur) et referers dont je n'ai pas réussi
    > à identifier vraiment l'usage...
    >
    > Et d'ailleurs à ma connaissance, il n'y a pas de balise SPIP mettant en
    > oeuvre cette popularité.
    >
    > A mon avis la notation des visiteurs est très utile mais devrait être
    > séparée du calcul de popularité.
    > Popularité et notation sont deux choses différentes.
    > il peut exister un article dont le contenu est très utile et recherché mais
    > incomplet et mal écrit -> popularité ++ et notation -- => note moyenne
    > alors que l'information importante et recherchée y est quand même !
    > A l'inverse tu peux avoir un super article, complet, bien écrit mais
    > dont le sujet intéresse peu de monde.
    >
    > Donc à mon avis voici deux critères de tri différents.
    >
    >
    >
    > Le Sat, 10 Aug 2002 10:17:10 +0200
    > "Troll" <troll@dionysos.org> a écrit:
    >
    > > heu...mais le critere de popularite n'esiste t-il pas déjà dans la
    > table
    > > article,
    > > et n'est il pas une ponderartion visite, refferer, age?
    > >
    > > Ce que je voudrais, c'est qu'il integre aussi la notation des
    > visiteurs,
    > >
    > > ----- Original Message -----
    > > From: "Thierry Portmann" <thierry66ch@gmx.net>
    > > To: <spip@rezo.net>
    > > Sent: Friday, August 09, 2002 1:25 PM
    > > Subject: Re: [Spip] Popularité
    > >
    > >
    > > Ca m'intéresse !
    > >
    > > En fait, j'ai déjà modifié quelque peu mon spip à moua pour tenir
    > compte
    > > d'une popularité.
    > >
    > > Car pour moi, c'est inutile d'additionner des visites de pages, les
    > plus
    > > anciennes auront forcément plus de visiteurs que les récentes, et ça
    > ne
    > > m'avancera pas plus pour connaître quels sont les articles à succès.
    > >
    > > Alors j'ai ajouté un champ dans une table qui s'appelle popularité,
    > qui
    > > n'est rien d'autre que le nombres de visites divisé par l'age de
    > > l'article en jours. ça donne mathématiquement des [visites/jours], et
    > > pour moi, c'est une sorte d'index de popularité, c'est suffisant.
    > > Le champ est mis à jour lors des visites des articles.
    > > J'ai ajouté une balise spip #POPULARITE.
    > >
    > > Si quelqu'un à un algo de calcul de popu plus raffiné... !!!
    > >
    > > cordialement
    > > Thierry
    > >
    > > Le Thu, 8 Aug 2002 15:45:39 +0200
    > > "Troll" <troll@dionysos.org> a écrit:
    > >
    > > > Les differentes demandes concernant la notation des articles par
    > les
    > > visiteurs
    > > > n'ont pas trouvé des masses d'echo.
    > > > Son résultat pourrait pourtant intervenir dans le critère de
    > > popularité
    > > > (déjà très intéressant! Thank's Arno), qui deviendrait
    > > > une pondération entre visites, refferers, age et notation...
    > > > Ce serait aussi un pas vers un systeme de vote, qui devrait
    > intéresser
    > > pas mal de monde, non?
    > > > Même si celà en a dégouté bien d'autres.... :slight_smile:
    > > > Qu'en pensez vous, quelqu'un a t'il déjà fait qq chose dans le
    > genre?
    > > > Merci, bonne continuation, Pierre
    > > >
    > > > Ps, Si vous trouvez une grande barraque au bord de la mer,
    > > > spip@ rezo.net
    > > > Même si ya pas de téléphone, on se débrouille!
    > > >
    > >
    > >
    > >
    > > Thierry
    > >
    > > mailto:tpo@gmx.net
    > >
    > > _______________________________________________
    > > liste spip
    > > spip@rezo.net - désabonnement : spip-off@rezo.net
    > > http://listes.rezo.net/mailman/listinfo/spip
    > > Documentation de SPIP : http://www.uzine.net/spip
    > >
    >
    >
    >
    > Thierry
    >
    > mailto:tpo@gmx.net
    >
    > _______________________________________________
    > liste spip
    > spip@rezo.net - désabonnement : spip-off@rezo.net
    > http://listes.rezo.net/mailman/listinfo/spip
    > Documentation de SPIP : http://www.uzine.net/spip
    >

Thierry

mailto:tpo@gmx.net