Plugin Statistiques Brèves

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

L’objectif de ce plugin SPIP est de fournir des statistiques sur la fréquentation des brèves de votre site.

[3 mai 2017] CE PLUGIN N’EST PLUS MAINTENU. Il est avantageusement remplacé par le plugin Statistiques Objets

[01 aou 2012] La version pour SPIP 2.1.x de ce plugin vient d’être réalisée (0.96).

Même méthodologie de comptabilisation et plus...

Les contraintes de réalisations que nous nous sommes fixés ont été les suivantes :

  • que ces statistiques soient issues de la même méthodologie de comptage que celles des articles ;
  • pouvoir corriger/faire évoluer (éventuellement) ce plugin sans modifier les données déjà sauvegardées ;
  • pouvoir désinstaller proprement le plugin. En effet, une nouvelle table est créée à l’installation ainsi qu’un nouveau champ dans la table spip_breves.

Prérequis à l’installation

  • nous avons testé ce plugin sur des versions SPIP 1.9.2.x et 2.1.x ;
  • les brèves doivent être activées ;
  • les statistiques doivent être activées ;
  • la balise #CRON doit être présente dans vos squelettes. Cette balise est présente dans la page inc-pied.html de la distribution.

Installation du plugin

L’installation se fait selon la procédure normale

Accès aux statistiques

Après avoir installé et activé le plugin, un simple survol du bouton Statistiques fait apparaitre le bouton Statistiques brèves (en plus des autres).

Les tableaux fournis sont les suivants

  • un tableau général fournissant titre, date de mise en ligne et nombre de visites pour toutes les brèves ayant été visitées au moins une fois. Il est possible de trier ce tableau suivant les différentes colonnes, par ordre croissant ou descendant.
  • un tableau fournissant un tri par ordre décroissant les brèves les plus consultées depuis l’activation du plugin.

Pour ces deux tableaux, un clic sur le titre permet d’accéder à la page avec l’évolution des visites de la brève elle même.

Nouveaux champs et nouvelle table = nouvelles possibilitées dans les squelettes

Depuis SPIP 1.8 il est possible d’accéder sans programmation supplémentaire, dans les squelettes, à n’importe quel champ d’une table à travers la balise #NOM_DU_CHAMP.
Voir spip 1.8

  • Le plugin ajoute le champ visites dans la table spip_breves.

Il est alors possible d’utiliser la balise #VISITES ainsi que le critère {par visite} dans une boucle BREVES.

Ci-joint un exemple d’utilisation du critère {par visite}

<BOUCLE_breve_populaire(BREVES) {age<30} {par visites} {inverse} {0,4} {exclus}>
<li><a href="#URL_BREVE">#TITRE</a></li>
</BOUCLE_breve_populaire>

...permet d’afficher les 4 brèves les plus visitées dans les 30 derniers jours dans l’ordre chronologique inverse.

Le plugin crée la table spip_visites_breves qui est l’image de la table spip_visites_articles

Discussion

26 discussions

  • 3

    Je suis très interrogatif quant à la fiabilité d ce plugin.
    Où alors j’ai un site qui cartonne et je ne le sais pas ! Exemple : une brève postée le 16 janvier en serait, selon le plugin, à 60 884 visites ! Bravo ! Sauf que avec AWStats je ne retrouve pas ces chiffres.
    www.oulala.net Version : SPIP 2.0.10 [14698]
    A mon avis il y a un blème quelque part.
    Une idée ?

    • Bonjour,

      le plugin marche bien jusqu’à la version 2.0.9 il semblerait. (j’ignorais que cela ne marchait pas pour la 2.0.10 ?!?) Mais le comportement que vous décrivez est effectivement anormal.

      La refonte pour les versions >= 2.1.8 de SPIP est en cours.

    • Merci beaucoup pour votre réactivité et votre travail de développement.

      Cordialement

    • Merci pour votre travail, on attend la nouvelle version.

      Merci

    Répondre à ce message

  • Merci pour ce plugin très important et bon courage pour la réalisation de la version compatible avec spip 2.1.x, on l’attend avec impatience.

    Répondre à ce message

  • 6

    Je peux me tromper mais j’ai (plus que) l’impression que depuis que j’ai activé ce plugin, le compteur de visiteurs connectés (lame du couteau suisse) de mon site déraille complètement. Alors que je suis en réalité à environ 450 visites par jour le compteur affiche plus de 800 simultanées !! C’est agréable mais c’est faux : ces chiffres ne sont pas corroborés par les stats. A suivre ?

    • Je confirme. C’est le plugin qui est responsable.

    • Allo ? Y a-t-il quelqu’un au bout du clavier ?

    • Oui il y a quelqu’un au bout du clavier. Et je reposte mon précédent message qui manifestement n’est apparu : quelle version de SPIP utilises-tu ?

    • Oups ! Autant pour moi... Je suis en 2.1.2.

    • Pas de soucis.

      Je suis en train de travailler sur la version pour SPIP 2.1.x et j’espère l’avoir terminé pour janvier (début janvier ?).

      Je vous tiens au courant...

    • Merci :-) Ce plugin me semble très intéressant ! Bon courage.

    Répondre à ce message

  • Bonjour,

    On a alors à présent des statistiques pour les articles et pour les brèves. Est-il possible d’en avoir aussi pour les autres éléments du site, comme les rubriques ?

    Merci.

    Répondre à ce message

  • 3

    Bonjour,

    Merci pour ce plug-in.

    J’ai un petit souci :
    -  L’installation s’est bien passée, j’ai bien accès à l’icône des stats ;
    -  Le plug-in liste bien toutes mes brèves (jusqu’ici tout va bien :D) ;
    -  En revanche, elles sont toutes à 0 visite...

    La table spip_visites_breves a bien été créée, mais elle reste desespérement vide. Le champ visites de la table brèves itou.

    La doc (plus haut) précise que la balise #CRON doit être appelée. Je suppose que c’est une petite coquille et qu’il s’agit de #SPIP_CRON ? Si oui, elle est toujours dans mon inc-pied.html (et j’ai évidemment visité des brèves depuis l’installation du plug-in :)).

    Qu’ai-je raté ?
    Mes visites peuvent-elles ne pas être prises en compte pour des bonnes raisons ?

    Merci à ceux qui pourront me débloquer :)

    • Bonjour Marc,

      peux-tu me donner la version de SPIP que tu utilises ? Toutes autres infos techniques que tu pourras fournir seront également le bienvenue.

      Pierre

    • Merci de ta réponse, peetdu.

      Voici mes infos :
      -  Spip : SPIP 1.9.2d 10268
      -  Plugin : Version 0.85
      -  Testé en local (EasyPHP 2.0b1 : PHP 5.2.0 - Apache 2.2.3 - MySQL 5.0.27)

      J’ai par ailleurs une quinzaine d’autres plugins installés.

      Quels tests sont pertinents pour essayer de cibler le problème (désactiver tous les autres plugins, tester sur la dernière version stable de Spip...) ?

      Merci de ton aide. :)

    • Je suis l’anonyme du dessus...

    Répondre à ce message

  • 1

    If you upload files on the zone we can contribute to the plugin...

    If you add the file balise/total_visites_breves.php with the following code :

    <?php
    
    if (!defined("_ECRIRE_INC_VERSION")) return; 
    
    function balise_TOTAL_VISITES_BREVES($p) {
        return calculer_balise_dynamique($p, 'TOTAL_VISITES_BREVES', array('id_rubrique'));
    }
    
    function balise_TOTAL_VISITES_BREVES_dyn($id_rubrique) {
    if (''!=$id_rubrique) $rub_select=" WHERE id_rubrique=$id_rubrique";
    else $rub_select='';
      $my_q="SELECT sum(visites) FROM spip_breves $rub_select";
           $result = spip_query($my_q);       
           if($num_breves=mysql_fetch_array($result))
           {
             $tot_num_breves =(int) $num_breves[0];
             echo $tot_num_breves;
            }
    }

    This add to your plugin the balise #TOTAL_VISITES_BREVES that returns the total number of visits for breves.

    This is also contextual : if it is inside of a RUBRIQUES boucle then returns just the total visits to the breves of that rubrique

    • You can do the same with a statique balise :
      the code should be then, for the same file

      <?php
      // Statique balise
      if (!defined("_ECRIRE_INC_VERSION")) return; 
      
      function balise_TOTAL_VISITES_BREVES($p) {
         // recupero il campo id_rubrique se presente
         // questo non è direttamente accessibile ma può essere usato come aargomento da passare a una funzione e funziona
         $id_rubrique=champ_sql('id_rubrique', $p);
      
         // inserisco il codice che genera l'output della BALISE
         $p->code = "get_tot_breves_visited($id_rubrique)";
         // dichiaro lo statuto di questo codice: php viene eseguito, html no
         // Le statut 'php' est sur, le statut 'html' passe le retour par le filtre 'interdire_scripts'.
         $p->statut = 'html';
         
         // Retour du resultat
         return $p;
      }
      
      // funzione che esegue il calcolo del totale visite
      function get_tot_breves_visited($id_rubrique='')
      {
         if (''!=$id_rubrique) $rub_select=" AND id_rubrique=$id_rubrique";
         else $rub_select='';// 
         $my_q="SELECT sum(visites) FROM spip_breves WHERE statut = 'publie' $rub_select";
         $result = spip_query($my_q);       
         if($result)
         {
            if($num_breves=mysql_fetch_array($result))
            {
               $tot_num_breves =(int) $num_breves[0];
            }
         }
         else $tot_num_breves='';
         return $tot_num_breves;
      }
      ?>

    Répondre à ce message

  • 5
    luckyroma

    I installed the plug-in on my local web site for test.
    I noted added in the data base the field « visites » in the table « spip_breves ». The table « spip_visites_breve » was not created.

    I can see the visites of some breve in the new private area created by the plug-in.

    But the balise #VISITES in a BOUCLE breve is empty, dont show the number of visites of that breve.

    Do you have any suggestion ?
    I would be very interessed to the results of such plug-in.

    • Hi,

      Can you tell me which version of SPIP you’re using ?

    • luckyroma

      The version I use is SPIP1.9.2a

    • Hmmm...not sure but I think that until SPIP 192d you have to add the following line...

      <?php
      include ('ecrire/base/serial.php');
      global $tables_principales;
      $tables_principales['spip_breves']['field']['visites']= "int NOT NULL DEFAULT ''";
      ?>

      ...in a mes_fonctions.php file. Once you’ve done that, save the file in the /ecrire directorie.

      You will then be able to use the #VISITES.

      see also http://www.spip.net/fr_article2991.html

      I’ll have to check why the the table « spip_visites_breve » was not created.

      keep you in touch

      Cheers

    • luckyroma

      Following your instruction I saved a file mes_fonctions.php in the ecrire directory. Then I do « Empy the cache ». But #VISITES still don’t appear.

      To the mail address peetdu@gmail.com I sent the file mes_fonctions.php and the image of the « Statistiques brèves » as I found in my private space on-line.

      I installed the plug-in and the file mes_fonctions.php on-line also. You can find in the first page of www.scenaillustrata.com on the left the list of the articles and on the right the list of the breves. Going with the mouse over the title of an article you can see in brackets the visites of the article. The same code (#VISITES) is in the title of the breves an you can see empty brackets. Only the first breve had 2 visites, accordingly with the picture I sent to you and what I found in the DB.

      Many thanks for the suggestion and the attention.

    • Add the lines :

      	<fonctions>
      	mes_fonctions_stats_breves.php
      	</fonctions>

      in plugin.xml and the file
      mes_fonctions_stats_breves.php

      with the same lines as above :

      <?php
      include ('ecrire/base/serial.php');
      global $tables_principales;
      $tables_principales['spip_breves']['field']['visites']= "int NOT NULL DEFAULT ''";
      ?>

      at the root of the plugin.

      be sure to deactivate and reactivate the plugin, and recalcul the page.

    Répondre à ce message

  • 3
    Guillaume

    Bonjour,
    je n’ai pas, quant à moi, de page blanche ou bizarre, mais il semble que le plugin ait eu un étrange effet sur les stats générales, qui se sont retrouvées bloquées le lendemain de la mise en place du plugin (au moment ou il a donc commencé à enregistrer des résultats). J’ai donc désactivé le plugin pour l’instant.

    • Bonjour Guillaume,

      peux-tu me préciser la version SPIP que tu utilises ?

      Si en plus tu peux me fourni la version PHP et MySQL qui tournent sur le serveur de ton site ?

      d’avance merci
      Peetdu

    • Guillaume

      1.9.2b / php 5.2 / MySQL 5

      Et je peux dire en passant qu’une fois le plugin décoché, les stats générales se sont en quelques sorte réactivées, en reprenant le compte, chaque fois que je rechargeais la page, par tranches de 100. Ce qui veux dire aussi qu’elles été mesurées mais que le plugin, apparemment, empêchait qu’elles soient prises en compte dans le tableau, du moins immédiatement. Juste une question de délai ?

    • Bonjour,

      le comportement que tu décrits ressemble à un site en SPIP dans lequel on aurait oublié/supprimé la balise #CRON.

      Dans le Dist, elle est incluse dans le fichier inc-pied.html.

      est-ce bien le cas ?

      Peetdu

    Répondre à ce message

  • 1

    Bonjour,

    Otez-moi d’un doute : la balise #VISITES dans une boucle brève n’est pas possible ?

    merci
    dd

    • C’est possible. Voir le nouveau paragraphe Nouveau champ et nouvelle table dans la base de données

    Répondre à ce message

  • 6
    Perline

    Bonjour,
    L’installation me donne bien accès au menu mais :
    -  sur l’accès au bouton stat brèves, on me dit « aucune brève » (il ne considère pas les brèves déjà là, mais qui n’ont pas encore été mesurées ?)
    -  plus grave : la page des plugins est sans aucun plugin, en d’autres termes j’ai juste le titre « gestion des plugins ».

    J’ai de nombreux autres plugins installés.
    Merci

    • Bonsoir,

      il semblerait que des problèmes différents se sont produit :

      N°1- le message « aucune brèves » pourrait venir du fait que le plugin n’ai pas pu rajouter un champ dans la table spip_breves comme c’est prévu dans l’installation. Pourquoi ? On a pas trouvé encore mais on cherche.

      N°2- « la page des plugins est sans aucun plugin ». Ce problème apparait sur certains serveurs et pas sur d’autres. Là aussi on cherche...

      On a réussi à trouver un site avec lequel le problème N°2 apparait et pas le N°1. On pense donc que les deux problèmes ne sont pas liés

      On vous tiens au courant. Si vous pouviez me donner le nom de votre hébergeur, cela nous aiderait...

      désolé pour ce contre temps et merci pour votre patience.

      P.

    • Perline

      Koumbit.org, on peut leur demander très efficacement des réponses pour des problèmes techniques. Si tu as des questions spécifiques, n’hésite pas.

    • Vincent

      Bonjour

      Mon hébergeur est Nuxit.
      Ma version de SPIP est la 1.9.2d [11132].

      Merci pour votre réactivité !
      Bonne journée,

      Vincent.

    • Bonjour,

      le problème venait d’une instruction très PHP5 (mécanisme d’exception). C’est maintenant compatible PHP4.

      -  J’ai pu constater que cela réglait le problème de la page blanche ;
      -  Je pense que cela doit également régler le problème du message « aucune brèves »

      la nouvelle version censée corriger le bug est la 0.85 du 20 mars 2008.

      Peetdu

    • Bonjour,

      le problème venait d’une instruction très PHP5 (mécanisme d’exception). C’est maintenant compatible PHP4.

      -  J’ai pu constater que cela réglait le problème de la page blanche ;
      -  Je pense que cela doit également régler le problème du message « aucune brèves »

      la nouvelle version censée corriger le bug est la 0.85 du 20 mars 2008.

      Peetdu

    • perline

      Bravo, maintenant je n’ai plus de problèmes.
      La fonction que j’attendais depuis des années... champagne ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom