StatsJS : compter les visites avec un mouchard javascript

Ce plugin sert à compter les visites à partir d’un mouchard javascript, au lieu du mouchard PHP classique.

Quel intérêt ?

— homogénéité : en utilisant un mouchard javascript au lieu de regarder les hits sur les pages HTML, StatsJS permet de compter les visites de la même façon que les autres systèmes de statistiques, comme piwik ou google analytics.

— performance : Si l’on met son site derrière un cache (proxy inverse) du type Varnish (http://www.varnish-cache.org/), la plupart des hits sur les pages ne vont plus jusqu’au serveur PHP, car ils sont servis directement par Varnish. Dès lors, pour comptabiliser les visites, il faut provoquer un autre hit, sur un script spécifique.

En termes d’affichage, rien ne change pour le webmestre : les pages de statistiques sont rigoureusement les mêmes qu’avant. Le visiteur, en revanche, pourra constater (s’il regarde les requêtes faites par son navigateur), un hit supplémentaire, à chaque page, vers l’URL adressedusite.tld/?action=stats&....liste+de+données+collectées.

Technique

— piwik.js : plutôt que de réinventer la roue, le mouchard JS intégré dans ce plugin est celui du logiciel libre piwik. http://piwik.org/

— données collectées : si le plugin reçoit bien toutes les données envoyées par piwik.js (notamment : dimensions de l’écran, présence de l’extension gears, présence de JS, etc), il n’en fait rien, et se borne à enregistrer les mêmes données que le mode PHP des stats de SPIP : c’est-à-dire l’article vu, et le referer. On pourrait vouloir développer cela, mais si on veut utiliser tout piwik, je recommande plutôt... d’installer piwik.

Discussion

5 discussions

  • Les pages reçoivent un nom identifiant composé à partir des id_ reçues dans l’environnement (quand cet identifiant n’est pas déjà ajouté par le squelette). Cependant seulement le dernier id_ est retenu :

    foreach($GLOBALS['contexte'] as $k => &$v) {
      if (preg_match(',^id_(\w+)$,S', $k, $r) AND ($id = intval($v))>0) {
            $identifier = $r[1].$id;
    }

    Ne faudrait il pas concaténer plutôt qu’écraser la valeur ? (Ou sinon autant sortir de la boucle à la première réponse)

    Reply to this message

  • 1

    Bonjour,

    ça peut donc servir dans le cas des pages AMP, étant donné que celles-ci sont mises en cache par google lors du passage du robot?

    Quelqu’un peut confirmer Svp?

    Merci

    • Oui c’est probable. Mais je ne suis pas sûr que le JS inséré soit compatible AMP.

    Reply to this message

  • 1

    Bonjour,

    Est ce que le plugin est fonctionnel avec spip 3.2? Merci.

    • Salut,

      la dernière version du plugin est compatible, c’est juste la doc qui n’a pas été automatiquement mise à jour.

    Reply to this message

  • Ok, je croyais que ça permettais d’afficher un compteur de visite sur mon site public. Merci !

    Reply to this message

  • 1

    Bonjour,

    J’ai installé le plug, mais je fais comment après pour voir mon compteur ?

    • cela s’affiche exactement comme avant dans les stats de SPIP (qu’il faut activer bien entendu). C’est seulement a manière d’engranger les stats qui est différente.

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom