PHPMYVISITES

PhpMyVisit : Insérer les codes Où glisser le code javascript à insérer sur les pages

, 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 -->