Quand j’ai éprouvé le besoin de faire un suivi des statistiques de mes différents sites web, je me suis tourné naturellement vers la solution que j’affectionnais il y a quelques années…. Awstats.
Pour ceux qui ne connaissent pas cet ancêtre, il s’agit d’un script shell qui parse les fichiers logs du serveur web et qui en sort des jolis tableaux dans de jolis pages statiques.
Je connais bien, j’apprécie l’outil et sa complexité, mais dans le cadre de mes projets, il était difficile (mais pas infaisable) de faire une interface en fonction d’un client pour qu’il puisse avoir ses stats, etc…
Devant le manque de temps chronique dont je suis victime, je pose la question à un bon ami, linuxien lui aussi, et qui me dit qu’un collègue à lui utilise un certain Phpmyvisite.
Hum, ça fleure bon le vieux projet php… On va jeter un oeil curieux.
Et de me rendre compte que le projet n’existe bien évidement plus et qu’il a été renommé en Piwik, un outils très complet et que je me suis empressé de tester.
De plus, force est de constater que ce qu’il offre est bien plus complet que mon bon vieu Awstats.
A la différence de ce dernier, pour fonctionner, Piwik n’utilise pas les logs de votre serveur mais nécessite de rajouter du code sur chacune des pages que vous voulez suivre, à la manière de Google Analytics.
Dis comme ça, on peut prendre peur, mais avec les CMS, les templates, etc… l’opération peut être réalisée même par un enfant.
I – Prérequis
– Un serveur Web (avec Apache2, php5, php5-mysql, php5-gd)
– Un serveur SQL
Si vous n’avez ni l’un, ni l’autre, pour avoir une base :
# apt-get install apache2 php5 mysql-server php5-mysql php5-gd
– Un peu de temps
II – Pré-Installation de Piwik
1 – Récupération de l’archive
Sur votre serveur web, direction votre répertoire ou sont stockés les site web pour y télécharger l’archive (disponible qu’en format zip, la bonne idée dis donc…)
# apt-get install unzip
# cd /var/www
# wget http://builds.piwik.org/piwik.zip
Puis, on décompresse l’archive et on supprime au passage un fichier inutil car je suis en train de vous expliquer comment faire.
# unzip piwik.zip # rm How\ to\ install\ Piwik.html
Pour terminer, rendons Apache propriétaire de tout cela avec un petit :
# chown www-data:www-data piwik - R
2 – Configuration du serveur web Apache
Passons maintenant à la création d’un Vhost sur Apache.
# cd /etc/apache2/sites-available/ # nano piwik
Copiez cela (il est au plus simple, libre à vous de rajouter d’autres directives)
<VirtualHost *:80> ServerName piwik.mondomaine.fr DocumentRoot /var/www/piwik/ <Directory /var/www/piwik> Options Indexes FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Évidement, vous adapterez ce qu’il faut 😉
On active le site et on recharge apache :
# a2ensite piwik # service apache reload
3 – Création de la base de données MySQL
On va se connecter au serveur mysql
# mysql -u root -p
Renseignez le mot de passe sql et jouez ces requêtes (et pensez à bien terminer vos commandes avec ; ).
grant all privileges on piwik.* to "piwik"@"127.0.0.1" identified by "piwik"; flush privileges; exit;
Bien sur, vous penserez à changer le mot de passe et l’adresse de loopback « 127.0.0.1 » par l’adresse du serveur web si ce dernier est sur une autre machine (et ce devrait être le cas ! )
III – Installation de Piwik
Lancez votre navigateur web et rendez vous à l’adresse que vous avez défini au préalable dans le Vhost Apache.
La, je ne vous fait pas l’affront d’exposer la procédure d’installation avec des captures, c’est tout ce qu’il y a de plus simple.
Renseignez simplement les champs comme il vous est demande et à la fin, pensez à décocher l’option comme quoi Piwik cache l’ip réel (obligatoire dans certains pays, mais pas chez nous)
Félicitation, votre Piwik est prêt !
IV – Insertion du code de suivi
Au moment de l’installation de Piwik, durant les dernières étapes, il vous a été demandé de configurer un premier site.
Piwik vous a donné un bout de code à insérer.
Comment cela, vous ne l’avez pas copié collé ? C’est malin…
Allez, ce n’est rien, je vous montre ou le retrouver :
Connectez vous à Piwik, puis direction le menu Admin, tout en haut à droite, et Paramètres.
Dans le menu à gauche, cliquez sur Code de suivi.
Vous trouverez ici le code de suivi pour chacun de vos sites (vous utiliserez la liste déroulante pour sélectionner le site dont vous souhaitez le code.
Code qui à cette forme :
<!-- Piwik --> <script type="text/javascript"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//piwik.mondomaine.fr/"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', 1]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="//piwik.mondomaine.fr/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript> <!-- End Piwik Code -->
C’est ce bout de code qui doit être présent sur chaque page.
La, selon votre CMS, plusieurs façons de faire.
Il faut savoir que sur le site de Piwik, vous trouverez des modules pour de nombreux CMS (Prestashop, WordPress, Drupal, Joomla) qui vous permettront de rapidement configurer tout ça.
Personnellement, je préfère éditer moi même ce qu’il faut quand c’est possible.
Je vous donne un exemple sur WordPress.
# cd /var/www/wordpress/wp-content/themes/montheme/ # nano footer.php
Repérez la balise </body> et insérer votre code de suivi juste avant.
C’est aussi simple que cela, nul besoin de s’encombrer de plugins pour quelque chose d’aussi simple.
V – Réglage préliminaire
Première chose à faire avant de tout fausser, excluez vos visites !
Pour cela, rendez vous dans le menu Admin, tout en haut à droite, et Paramètres.
Descendez un peu sur la page et vous trouverez la section permettant d’installer un cookie sur votre machine qui exclura vos visites du suivi.
VI – Conclusion
Et voila, nous avons terminé avec l’installation de l’outil. Je vous laisse le prendre en main, ce n’est pas complexe.
Cependant, je ferais bientôt un article sur son utilisation et comment utiliser au mieux les possibilités de cet outil.
Article cool. Je passerai ici plus souvent