Piwik : Des statistiques pour votre site web

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
Piwik Logo

1 Introduction

Cela fait plus d'un an que j'utilise Piwik et je n'avais pas encore fait d'article là dessus. C'est donc l'occasion de vous montrer l'équivalent de Google Analystic.

2 Prérequis

Configurez vous une base de donnée pour ensuite l'entrer dans l'installer sur une instance MySQL.

3 Installation

Mettez vous dans

Command
cd /var/www
wget http://piwik.org/latest.zip
unzip latest.zip
rm How\ to\ install\ Piwik.html latest.zip
chown -Rf www-data. piwik

Lancez ensuite l'installer http://serveur/piwik

4 Configuration

4.1 Serveur WSeb

Voici des configurations pour serveurs web si vous en avez besoin.

4.1.1 Nginx

Pour Piwik, voici la configuration :

Configuration File /etc/nginx/sites-available/piwik.deimos.fr
server {
    include listen_port.conf;
    listen 443 ssl;
 
    ssl_certificate /etc/nginx/ssl/deimos.fr/server-unified.crt;
    ssl_certificate_key /etc/nginx/ssl/deimos.fr/server.key;
    ssl_session_timeout 5m;
 
    server_name piwik.deimos.fr;
    root /usr/share/nginx/www/deimos.fr/piwik;
    index index.php;
 
    access_log /var/log/nginx/piwik.deimos.fr_access.log;
    error_log /var/log/nginx/piwik.deimos.fr_error.log;
 
    # Drop config
    include drop.conf; 
 
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
 
    location ~ \.php$ {
        fastcgi_cache mycache;
        fastcgi_cache_key $request_method$host$request_uri;
        fastcgi_cache_valid any 1h;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_intercept_errors on;
    }
 
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

4.2 Piwik

Nous allons créer un cron job pour alléger et optimiser les performances de Piwik :

Command crontab -e
 5 * * * * php /var/www/deimos.fr/piwik/console core:archive --url=https://piwik.deimos.fr >> /var/log/piwik.log

Une fois le crontab ajoutée, on va dire à l'interface web de ne plus traiter automatiquement les données lors d'un accès à un rapport. Rendrez vous dans le menu :

  • Paramètres > Onglets Paramètres Généraux
  • Autoriser l'archivage de Piwik à se déclencher lorsque les rapports sont visionnés depuis le navigateur : Non
  • Rapports du jour (ou n'importe quelle autre plage de dates incluant aujourd'hui) seront calculés tout au plus chaque : 3600 secondes

La configuration de Piwik est maintenant terminée, il vous faut rajouter des sites et les configurer pour envoyer les stats à Piwik.

4.3 MediaWiki

Piwik est un équivalent de google analytics, mais gratuit. Il permet donc d'avoir des stats de son site web avec de beaux graphs etc... Il existe un plugin permettant d'insérer du code dans chaque page (nécessaire), mais il est obsolète et dispose de failles de sécurité. Nous allons donc utiliser un autre module qui va nous permettre d'insérer simplement ce type de code.

Vous devez installer le module PCR GUI Inserts qui va vous permettre d'insérer des informations à divers endroits de vos pages. Activez l'extension dans un premier temps and ajoutant ces lignes :

Configuration File LocalSettings.php
# PCR Extension for Piwik / Google Ads
require_once("$IP/extensions/pcr/pcr_guii.php");

Insérez dans le fichier de configuration de Mediawiki ceci :

Configuration File LocalSettings.cfg
# PCR Piwik
$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true;
$wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = ' 
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/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", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=x" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->
';

4.4 Gitweb

Si vous souhaitez qu'il y ai une intégration avec piwik, c'est assez simple, j'ai fais un patch, à vous de modifier le code javascript a afficher dans votre page dans ce patch :

Configuration File piwik4gitweb.patch
*** gitweb.old	2011-04-05 14:05:06.120951481 +0200
--- gitweb.cgi	2011-04-05 14:04:41.913944817 +0200
***************
*** 3612,3617 ****
--- 3612,3633 ----
  		      qq!</script>\n!;
  	}
 
+ 
+ 	print <<PIWIK;
+ <!-- Piwik -->
+ <script type="text/javascript">
+ var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/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", 10);
+ piwikTracker.trackPageView();
+ piwikTracker.enableLinkTracking();
+ } catch( err ) {}
+ </script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=10" style="border:0" alt="" /></p></noscript>
+ <!-- End Piwik Tracking Code -->
+ PIWIK
+ 
  	print "\n</body>\n" .
  	      "</html>";
  }
***************
*** 7033,7038 ****
--- 7049,7066 ----
  	}
  	print <<XML;
  </outline>
+ <!-- Piwik -->
+ <script type="text/javascript">
+ var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/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", 10);
+ piwikTracker.trackPageView();
+ piwikTracker.enableLinkTracking();
+ } catch( err ) {}
+ </script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=10" style="border:0" alt="" /></p></noscript>
+ <!-- End Piwik Tracking Code -->
  </body>
  </opml>
  XML

4.5 Wordpress

Pour Wordpress, installez l'extension Piwik Analytics qui vous permettra simplement de configurer Piwik pour votre blog.