Mon CV

Utiliser Piwik pour suivre la fréquentation de vos sites Web, une alternative libre et efficace à Google Analytics

30 novembre 2013

J’utilise depuis quelques temps Piwik comme alternative à Google Analytics sur plusieurs sites dont je m’occupe.

La première raison n’a pas été celle de se tourner vers une solution ouverte et libre pour éviter de donner accès à Google à tout un tas de données, mais une raison pratique : il existe sur Piwik un plugin LDAP qui permet de gérer l’authentification des utilisateurs par un lien LDAP avec un serveur (en l’occurrence un Mac Server avec Open Directory). Si vous êtes, comme moi, plutôt adepte de tout ce qui évite de multiplier la création de comptes utilisateurs, c’est un argument non négligeable. Piwik, qui est sous licence GPL, est le successeur de phpMyVisites et est aujourd’hui un projet suffisamment mûr pour être utilisé. Piwik a l’avantage de proposer une API qui permet à d’autres services d’interagir avec. Vous trouverez ainsi sur le marché des plugins pour les principaux CMS (j’y reviendrai plus tard).

Aperçu Piwik Dashboard

 
 

Installer Piwik

Piwik s’installe très facilement dans un environnement PHP + MySQL. Vous devez tout d’abord créer une base de données pour utiliser Piwik (via PhpMyAdmin). Sachez que si vous n’avez pas la possibilité de dédié une base de données MySQL spécifique à Piwik (notamment dans le cas d’un hébergement mutualisé), vous pourrez utiliser un base commune à plusieurs applications car Piwik vous proposera à l’installation de choisir un préfixe pour isoler ses tables. Une fois que vous avez en votre possession les informations sur la base de donnée, il ne vous faut installer Piwik. Pour cela, récupérez la dernière version du projet, et uploadez-la sur votre serveur (en FTP par exemple). Pour ma part, j’ai un accès SSH à mon serveur et j’ai préféré installer la dernière RC en cours, avec GIT. Le projet est hébergé sur GitHub. Une fois positionné dans l’emplacement destiné à accueillir Piwik :

git clone https://github.com/piwik/piwik.git
Cloning into piwik...
remote: Counting objects: 128840, done.
remote: Compressing objects: 100% (40896/40896), done.
remote: Total 128840 (delta 92654), reused 121713 (delta 85702)
Receiving objects: 100% (128840/128840), 64.80 MiB | 9.90 MiB/s, done.
Resolving deltas: 100% (92654/92654), done.

Pensez à corriger les droits du propriétaire (chown et chmod). Une fois que vous avez déposé cette version, rendez vous dans votre navigateur, à l’adresse que vous avez choisie pour accueillir votre application Piwik. Les 9 étapes à suivre vont vous guider pour terminer votre installation.
 

Etape 1 : début de l’installation

Installation Piwik Etape 1

Si à cette étape vous faites face au message suivant, voici comment résoudre ce problème :

Problème install piwik

Vous devez vous connecter en SSH sur votre serveur, et vous déplacer avec cd jusqu’à l’emplacement d’installation de Piwik, puis lancer successivement les commandes :

curl -sS https://getcomposer.org/installer | php
php composer.phar install

Dans mon cas (j’utilise une configuration suPHP sur Debian) j’ai reçu ce message d’erreur lors de la première commande :

Error getcomposer.org/installer

J’ai donc édité le fichier /etc/php5/cli/conf.d/suhosin.ini pour ajouter la ligne suivante à la fin du fichier :

suhosin.executor.include.whitelist = phar

Une fois ceci réglé, j’ai relancé la commande

curl -sS https://getcomposer.org/installer | php

Suhosin Executor Include

puis

php composer.phar install

Suhosin Piwik
 

Etape 2 : vérification du système

Installation Piwik Etape 2

Piwik nécessite à minima :

  • PHP version 5.1.3 ou plus récente,
  • MySQL version 4.1 ou plus récente.

Si vous avez un doute sur la version de PHP et MySQL, vous pouvez simplement déposer sur votre serveur un fichierindex.php avec le contenu suivant :

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

Vous trouverez les informations nécessaires en ouvrant ce fichier via votre navigateur après l’avoir installé sur votre espace web. Certaines fonctions de Piwik s’appuient sur des extensions supplémentaires, dont vous trouverez le détail ici.
 

Etapes 3 à 5 : paramétrage de la base de données MySql

Installation Piwik étapes 3 à 5

Cet écran vous permet d’entrer les informations liées à votre base de donnée. Si vous utilisez une base de données commune avec d’autres sites ou applications, pensez à utiliser un préfixe suffisamment explicite (ici “piwik_”). L’étape 4 consiste à vérifier que vos paramètres sont corrects, tandis qu’à l’étape 5, l’assistant d’installation va populer votre base avec les tables nécessaires.
 

Etape 6 : création du compte administrateur de l’application

Installation Piwik Etape 6

Cette étape vous permet de créer le compte administrateur qui sera ensuite utilisé pour vous connecter à Piwik. Vous pourrez bien entendu créer ensuite autant de comptes que nécessaires, avec des droits différents selon les utilisateurs.

 
 

Créer votre premier site et utiliser Piwik

Votre installation de piwik se termine par la création du premier site que vous trackerez. Le tracking s’appuie sur un bout de code JavaScript à intégrer dans vos pages web. Si vous développez votre site, ce code sera à intégrer sur chaque page, avant la balise </body>. Voici un exemple de ce code :

<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.jaimelesponeys.com/piwik/" : "http://www.jaimelesponeys.com/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script>
<noscript>
<p><img src="http://www.jaimelesponeys.com/piwik/piwik.php?idsite=1" style="border:0" alt=""/></p>
</noscript>
<!-- End Piwik Tag -->

Si vous utilisez un CMS ou un Framework, Piwik dispose d’une batterie de plugins qui utilisent soit son API soit directement sa base de donnée pour intégrer le code de tracking sans vous en soucier et même pour vous permettre d’afficher dans le Dashboard de votre CMS favori un résumé des principales statistiques. Vous retrouverez tout cela ici. J’utilise couramment les plugins pour WordPress, Joomla et Drupal, et c’est assez robuste. Piwik prévoit aussi des possibilités de déporter une partie de l’affichage des résultats avec une iFrame. Cela peut être utile si vous souhaitez donner accès à un utilisateur à des statistiques simplifiées sans qu’il ne doive se connecter à l’interface admin de Piwik. Pour les plus bidouilleurs, il y a toute une batterie de plugins pour Piwik qui vous permettent de le personnaliser au maximum selon vos besoins (on peut même générer des fausses statistiques !). Je ne détaillerai pas ici toutes les possibilités d’affichage des résultats, d’autres sites le font déjà très bien.
 
 

Utiliser d’autres applications pour consulter les résultats

 

Sur Mac, Windows ou Linux : Desktop Web Analytics

L’un des intérêts de Piwik, c’est qu’il y a plein de gentils développeurs qui proposent des applications pour consulter vos statistiques de manière agréable. Pour ma part, ça doit être mon côté vieux jeu, je suis toujours plus attiré par un client lourd qu’une application web. Pour Piwik, il y a Desktop Web Analytics, développé par un français, Benoit Pouzet. L’application tourne sous Adobe Air, et elle est plutôt efficace. Il est possible d’y enregistrer les paramètres de plusieurs serveurs Piwik. Dans les petites features que j’apprécie particulièrement avec Desktop Web Analytics il y a notamment la possibilité, depuis n’importe quel écran, d’exporter les données en CSV.

Desktop Web Analytics

Pour installer Desktop Web Analytics, il vous faut :

La première ouverture va vous permettre d’installer l’application.
 

Sur votre smartphone

Piwik propose deux applications (iOS et Android) pour visualiser depuis votre smartphone les statistiques :
  
 
 

Migrer vos données depuis Google Analytics

Et pour finir de vous convaincre, il y a même un script Python pour migrer vos anciennes données depuis Google Analytics vers Piwik. Vous le trouverez sur Clearcode, testé et approuvé : google2piwik.

Posted in En vrac, Unix et LinuxTags: