Accueil > Recettes Techniques > Divers > PhpMyVisit : Insérer les codes

PHPMYVISITES

PhpMyVisit : Insérer les codes

Où glisser le code javascript à insérer sur les pages

jeudi 15 mars 2007, par Julien Falconnet

J’ai récemment voulu mettre en place un outil qui me permettrait de suivre d’un coup d’oeil l’évolution de l’ensemble de mes sites web. J’ai testé quelques temps Google Analytics, mais outre le faite que Google commence à me faire peur, la technologie flash qui est utilisée est incompatible avec Linux. J’ai donc opté pour l’excellent phpmyvisites qui permet de faire du suivi de stats multisite. Aprés une installation facile, s’est posée la question de mettre en place les codes de traçage, et là les choses sont devenues plus compliquées !!!

 Introduction

Phpmyvisites a besoin pour pouvoir suivre ce qui se passe sur un site qu’un code javascripts soit inséré sur toutes les pages à auditer. Si cela parait simple avec un site réalisé à la main, les chose se corsent lorsqu’on cherche à avoir des statistiques d’outils clef en main comme phpBB, MediaWiki ou SPIP.

Je vous livre ici, le résultat de mes recherches et expériences.

 Sites "maison"

La meilleure solution pour les sites maison reste d’ajouter le code dans un fichier qui est appelé dans toutes les pages. Si un tel fichier n’existe pas, c’est le moment de le créer, et de l’appeler dans toutes vos pages.
En général un fichier, on fait un fichier footer ou bas-de-page pour assurer que la présentation du bas de la page soit homogène. C’est idéal A défaut, on trouvera certainement un fichier menu. D’autres possibilité sont aussi possible. En cas d’hésitation, choisissez plutôt celui qui est appelé en dernier. Il faut bien sur que ce fichier serve a générer du code HTML et que le code javascript soit inséré dans ce HTML.

Une fois le fichier idéal repéré, il ne reste plus qu’à copier coller le code fourni par l’interface d’administration.

PS : je laisse l’option d’insertion automatique par .htaccess de coté, car elle est plus compliquée et demande qu’Apache soit configuré de manière adéquate.

 PHPBB

Pour phpBB le problème est un peu plus compliqué puisqu’on est tributaire de la structure du site. Aprés quelques recherche il semble que la meilleure solution soit d’insérer le code juste avant le </body> dans le fichier overall_footer.tpl du template que vous utilisez (par défaut : /templates/subSilver/).

Par contre si plusieurs templates sont utilisés avec phpBB, il faut l’ajouter au niveau de chaque template (toujours dans overall_footer.tpl)

Attention en cas de mise à jours de phpBB ou des templates, il faudra recommencer la manipulation.

Source : FAQ phpmyvisites

 MediaWiki

Pas de piste vraiment officielle pour Mediawiki. La moins mauvaise solution (qui marche en tous cas) consiste à ajouter le code au niveau du skin utilisé. Il faut donc l’ajouter dans /skins/nom_du_skin.php, à la fin de la fonction execute(), juste avant </BODY>

Attention si vous changez de skin sous Mediawiki, à bien refaire la manipulation.

 SPIP

Sans doute le plus compliqué puisque tout dépend du jeu de squelettes utilisé par SPIP. Voici une procédure possible, dans le cas où le squelette de base (dist) est utilisé (version1 1.9.2).

  • créer un répertoire "squelettes" à la racine de SPIP.
  • recopier le fichier inc_pied.html de /dist/ vers /squelettes/
  • dans /squelettes/inc_pied.html ajouter le code aprés

Par contre le code pose un problème de validation xhtml. En effet le code inséré fait perdre sa conformité xhtml stricte aux pages SPIP. Pour éviter ce problème il faut modifier le code fournit, voici un exemple de modification :

<!-- 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 = num;
var phpmyvisitesURL = "http://mon.site.tld/phpmv2/phpmyvisites.php";
//-->
</script>
<script src="http://mon.site.tld/phpmv2/phpmyvisites.js" type="text/javascript"></script></a>
<noscript><p><a href="http://www.phpmyvisites.net/" title="phpMyVisites | Open source web analytics">phpMyVisites | Open source web analytics
<img src="http://mon.site.tld/phpmv2/phpmyvisites.php" alt="Statistics" style="border:0" />
</a></p></noscript>
<!-- /phpmyvisites -->

Messages

  • Enfin un article synthétique et utile sur phpMyVisite...

    Une astuce pour que le logo n’aparaisse pas : rajouter style="display:none" dans la balise... Evidemment c’est contraire à leur politique, mais parfois on a pas envie de voir le gros logo en bas du site...

  • Bonjour,

    VOtre explication est très claire.
    Malheureusement, je ne suis même pas capable de saisir les informations les plus simples... glurp.

    Le problème que je rencontre avec PhpMyVisites semble pourtant des plus simples :
    J’ai ouvert un site sur free.fr en utilisant le logiciel webstudio (pas cher, pas besoin de maitrise le Php ou leHTML).
    Free.fr propose un compteur en insérant un code sur chaque page. J’ai fait ce petit copier/coller sur chacune de mes pages.... MAIS CA NE MARCHE PAS !!!

    Suis-je si bête ?
    Ai-je raté quelque chose de basique ?
    Y-a-t-il une impossibilité technique quelconque ?

    Beaucoup de questions existentielles et aucune réponse sur aucun forum... je suisdésespéré.

    Si vous êtes celui qui peut me répondre, alors j’implore votre secours ! (J’en fais peut-être beucoup, là, mais je suis réellement gêné et à la recherche d’une main secourable).

    Je vous remercie.

    Pour me répondre : azzzo72 yahoo.fr

    • Bonjour,

      Je ne suis pas certain de comprendre votre problème. Est-ce que vous utilisez le compteur de free ou est-ce que vous utilisez phpmyvisite ?
      Je suppose que le site que vous avez installé sur free est votre site principal. Mais où avez vous installé phpmyvisite lui même ?

      Pour mémoire, vous devez avoir un site A (celui dont on veut les stats) éventuellement avec une base de donnée. ET vous devez avoir un site phpmyvisite (pour la consultation des stats) avec sa propre base de donnée.

      Enfin, un conseil si vous posez des questions sur les forums : évitez la tournure ’ca ne marche pas’ qui est incompréhensible pour un technicien et essayez plutôt de décrire ce qui ne marche pas ("aucune visite n’est prise en compte", "plus rien ne s’affiche", "les codes empêchent l’affichage de la page ", etc...). Enfin, comme un petit exemple vaut mieux qu’un grand discours, un petit lien vers le problème peut valoir la peine (sans tomber dans l’auto-promotion éhontée).

      Cordialement