Marqueur phpMyVisites avancé

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.

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

<script type="text/javascript">
<!--
var pagename=<BOUCLE_hierarchie2(HIERARCHIE){0,n}{tout}{id_rubrique}>['(#TITRE|supprimer_numero|texte_script)/'+]</BOUCLE_hierarchie2>'[(#ENV{noeud}|supprimer_numero|texte_script)]';
//-->
</script>

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.

<a href="sommaire.php3">Accueil</a>
<BOUCLE_hierarchie(HIERARCHIE){0,n}{tout}{id_rubrique}>
  [&nbsp;&gt;&nbsp;<a[ href="(#URL_RUBRIQUE)"]>(#TITRE|supprimer_numero)</a>]
</BOUCLE_hierarchie>
[&nbsp;&gt;&nbsp;(#ENV{noeud}|supprimer_numero)]

[*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.)]

<script type="text/javascript">
<!--
var pagename=' ';
//-->
</script>

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)

<!-- phpmyvisites -->
<a href="http://www.phpmyvisites.net/" title="phpMyVisites | Open source web analytics"
onclick="window.open(this.href);return(false);">
<script type="text/javascript">
<!--
var a_vars = Array();
//var pagename='';

var phpmyvisitesSite = 3;
var phpmyvisitesURL = "http://monserveur/phpMyVisites/phpmyvisites.php";
//-->
</script>
<script language=javascript src="http://monserveur/phpMyVisites/phpmyvisites.js" type="text/javascript"></script>
<noscript>
<p>phpMyVisites | Open source web analytics
<img src="http://monserveur/phpMyVisites/phpmyvisites.php" alt="phpMyVisites" style="border:0" />
</p>
</noscript>
</a>
<!-- /phpmyvisites -->

Voir aussi breve 52 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

Discussion

Aucune discussion

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