SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Administration > Statistiques > PHPMyVisites et SPIP

Marqueur phpMyVisites avancé

vendredi 29 septembre 2006, par ventrea. Dernier ajout dimanche 26 novembre 2006


Petit retour d’expérience sur l’implémentation d’un marqueur de statistiques de visites phpMyVisites avec gestion de l’arborescence du site


Petit retour sur une implémentation du marqueur phpMyVisites.

Introduction

L’implémentation basique du marqueur n’affiche que des stats de visites basées sur l’url, nous avons essayé d’aller plus loin en reconstituant la hiérarchie des rubriques et articles SPIP, chose possible via le paramtre "pagename" du marqueur.

PNG - 12.9 ko
Exemple de rendu
Page de stats de visites sur l’arborescence d’un site SPIP

Gestion de l’arborescence

Au début de la page un include permet d’inclure le chemin du fichier : <INCLURE{fond=chemin}{id_rubrique}{noeud=#TITRE}> il y a 2 paramètres :

  1. pour les éléments de hiérarchie envoyer l’ "id_rubrique"
  2. le paramètre "noeud" permet de passer un titre quelconque (article, plan de site, contact ...)

Le squelette inclus "chemin" contient au minimum le code ci dessous

Détail du code : le chemin inclus dans la variable pagename est découpé en tronçons de javascript à cause de la limite de longueur des chaînes de Firefox (sans cela cela provoque une erreur javascript).

Complément possible : Cet include peut aussi générer le "fil d’ariane" du squelette à partir d’une boucle quasi identique.

[*Ce code doit toujours figurer dans la page avant le marqueur lui même*] afin que le javascript du marqueur puisse lire la valeur du chemin.

[(! Attention le pagename doit toujours exister même à vide donc s’il n’y a pas d’inclusion du fichier chemin laisser dans la page un bout de code initialisant la variable javascript.)]

Le marqueur en pied de page

Enfin le pied de page inclus le marqueur phpMyVisites standard. à prendre en cliquant sur le lien javascript à intégrer dans la page d’admin du site sur phpmyvisite. Ensuite [*penser à commenter la ligne var pagename =*] pour ne pas écraser l’arborescence du chemin définie plus haut dans la page.

Idéalement mettre le pied de page dans un include à cache longue durée et sans paramètre ce code est statique

Exemple de javascript, à personnaliser en fonction de l’url de son serveur phpmyvisite (http://monserveur/phpMyVisites/) et de l’id du site à mesurer (phpmyvisitesSite = 3)

P.-S.

Voir aussi Mesurer l’audience d’un site SPIP avec PHPMyVisites pour plus de détails sur le fonctionnement et le paramétrage de phpMyVisites.

2 Plugins sur le même thème :
- marqueur stats
- phpmyvisites


Répondre à cet article

  • Marqueur phpMyVisites avancé

    27 juillet 2007 15:33, par MaKoTo

    Bonjour,

    Un article vraiment obscure que celui-ci...

    Aucune indications d’où placer ces codes cités, sauf pour le dernier "Le marqueur en pied de page", dans le squelette...enfin on le suppose.

    Quel est le rapport avec le "marqueur phpMyVisites" :
    - est-ce par le rajout de ces codes je ne sais où, qu’on se fabrique cette fonction ?
    - Est-ce un plugin ? qu’on installe, et donc puisqu’on parle de "Petit retour sur une implémentation du marqueur" est-ce une modification du code de ce plugin ?

    Bref pour moi, utilisateur de spip et bidouilleur façon copier/collé de code, l’article n’a ni queue ni tête. Pourriez-vous m’éclairer ? car j’aimerais vraiment pouvoir obtenir une "arborescence des pages vues" dans les statistiques de phpmyvisites.

    Ma config : SPIP 1.9.2a et phpMyVisites 2.2 (pas le plugin, installation séparée!)

    Merci.

    Répondre à ce message

    • Marqueur phpMyVisites avancé 26 septembre 2007 15:14, par MaKoTo

      ...Et donc ?

      Répondre à ce message

      • Marqueur phpMyVisites avancé 26 septembre 2007 20:24, par ventrea

        Ce n’est pas un plugin, juste un bout de code à poser "à la main" dans ses squelettes.

        L’idée de départ est de reconstruire une chaîne de texte reproduisant l’arborescence de rubriques pour l’envoyer en paramètre à phpmyvisites.

        var pagename="Accueil/rubrique1/rubrique1.1/rubrique1.1.1/article"

        C’est le rôle de la boucle HIERARCHIE

        le reste est là pour gérer les cas particulier


        Pour faire plus simple il est possible de mettre en fin (avant /body) d’un squelette rubrique.html le code du marqueur javascript fourni par phpmyvisites et insérer dedans

        var pagename = <BOUCLE_hierarchie(HIERARCHIE){id_rubrique}> ['(#TITRE|supprimer_numero|texte_script)/' +]</BOUCLE_hierarchie>['(#TITRE|supprimer_numero|texte_script)';

        pour article.html mettre id_article à la place de id_rubrique

        les accents et caractères non standards peuvent poser pb à phpmyvisites parfois, il peut être nécessaire de créer un filtre qui fait le ménage dans les caractères de #TITRE si texte_script ne suffit pas.

        Répondre à ce message

        • Marqueur phpMyVisites avancé 27 septembre 2007 14:04, par MaKoTo

          Ah d’accord, je cible mon incompréhension ... je pensais qu’il fallait rajouter des boucles quelque part et... Bref, c’est très clair now !! Je comprend bien mieux, merci !!

          En reprenant le code sus-cité, çà ne fonctionne pas, mais en prenant celui du début d’article, c’est tout bon ! (j’ai pourtant omis le chiffre "2" ... sais pas à quoi il sert) Voilà ce que j’ai modifié dans le script phpMyVisites du fichier "rubrique.html"

          <!-- var pagename = document.title; -->

          var pagename=<BOUCLE_hierarchie(HIERARCHIE){0,n}{tout}{id_rubrique}>
['(#TITRE|supprimer_numero|texte_script)/'+]
</BOUCLE_hierarchie>'[(#ENV{noeud}|supprimer_numero|texte_script)]';

          Par contre, pour le script phpMyVisites du fichier "article.html", changer id_rubrique en id_article ne suffit pas, et c’est ce qui m’a donné pas mal de recherches et essais avant de comprendre que çà fonctionnait à moitié, le chemin des rubriques étant indiqué, mais pas le nom de l’article, ... j’ai donc modifié la fin du code comme cela

          <!-- var pagename = document.title; -->

          var pagename=<BOUCLE_hierarchie(HIERARCHIE){0,n}{tout}{id_article}>
['(#TITRE|supprimer_numero|texte_script)/'+]
</BOUCLE_hierarchie>'[(#TITRE|supprimer_numero|texte_script)]';

          Maintenant l’arborescence est renseignée, et en dessous, "index" est écrit s’il s’agit d’une consultation de rubrique, le nom de l’article s’il est consulté.

          Répondre à ce message

    Retour au début des forums

  • Personne n’a essayé d’appliquer cette méthode avec le plugin SPIP phpMyVisites ?

    J’aimerais savoir comment procéder, et en particulier comment éviter que le code phpMyVisites inclus automatiquement n’écrase la variable pagename.

    <!-- phpmyvisites -->
    <div style="display:none;">
    <script type="text/javascript">
    <!--
    var a_vars = Array();
    var pagename='';
                           
    var phpmyvisitesSite = 1;
    var phpmyvisitesURL = "http://www.mysite.org/spip.php?page=phpmyvisites&var_nophpmv=1";
    //-->
    </script>
    <script src="http://www.mysite.org/plugins/phpmyvisites_1_9/spip_phpmyvisites.js" type="text/javascript"></script>

    <noscript>
    <img src="http://www.mysite.org/spip.php?page=phpmyvisites&var_nophpmv=1" alt="phpMyVisites" class="phpmyvisitestag" />
    </noscript>
    </div>
    <!-- /phpmyvisites -->

    Répondre à ce message

    Retour au début des forums

  • Marqueur phpMyVisites avancé - mise à jour de liens

    29 septembre 2006 23:45, par ventrea

    les liens vers les sources des plugins ont changé :
    - phpmyvisites
    - marqueur stats

    a+ Ventrea

    Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net