Blog.

Une alternative à google analytic : piwik

Si vous êtes webmaster, l’analyse de trafic est une des tâches les plus importante après le développement de votre site lui-même. Vous connaissez probablement déjà google analytic. Il existe aujourd’hui une alternative intéressante à sa mesure.

Pourquoi utiliser une alternative?

C’est probablement la première question qui se pose. Les produits de google sont d’une qualité incomparable, nous sommes bien forcés de le constater, même n’aimant pas spécialement google à la base. Google search, Gmail, Greader, Google analytic, ces produits ont toujours une longueur d’avance sur les produits concurents.

Le problème majeur vient du stockage des données. Êtes-vous prêt à laisser une entreprise tierce stocker l’ensemble des données statistiques concernant vos sites? Si la réponse est : “non”, piwik est fait pour vous.

Les fonctionnalités de piwik

screenshot de piwik
Piwik n’est pas l’équivalent exact d’Analytic, qui bénéficie de ce qui semble être un attribut des produits google : “avoir toujours de l’avance”. Il en est cependant très proche et c’est de loin l’alternative qui m’a apporté le plus de satisfaction jusqu’à aujourd’hui.

Parmi les fonctionnalités de piwik, on trouve :

Je vous invite à voir par vous même en parcourant la démonstration.

Installation

L’installation est relativement aisée :

Il vous faudra également créer une base de donnée, selon la procédure habituelle de votre hébergement.

Une fois l’installation terminée, vous n’avez plus qu’à passer par l’interface pour ajouter vos sites, et ajouter dans ces sites le code javascript qui vous sera fourni.

Voyons quelque chose d’un peu plus relevé, maintenant.

Astuce : faire ignorer vos propres visites

Pour que vos statistiques soient les plus révélatrices possibles, vous voudrez certainement faire ignorer vos propres visites, particulièrement en période de développement intense. Cela est possible en modifiant sensiblement le code javascript à insérer dans votre page.

La technique que je vous propose est la suivante : on crée arbitrairement un cookie et on n’active piwik que s’il n’est pas présent.

Voici un exemple type de code que piwik vous demande d’insérer :

<!-- Piwik -->
<a href="http://piwik.org" title="Web statistics" onclick="window.open(this.href);return(false);">
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
<!--
piwik_action_name = '';
piwik_idsite = 3;
piwik_url = pkBaseURL + "piwik.php";
piwik_log(piwik_action_name, piwik_idsite, piwik_url);
//-->
</script><object>
<noscript><p>Web statistics <img
src="http://example.com/piwik.php" style="border:0"
alt="piwik"/></p>
</noscript></object></a>
<!-- /Piwik -->

Modifiez votre code pour qu’il ressemble à ceci (attention, le code présenté est unique pour chaque site, ne vous contentez pas de copier/coller ce que je vous montre ci-dessous, ou vous enverrez vos requêtes à example.com en demandant d’augmenter les stats du site à id == 1 :) ) :

<!-- Piwik -->
<a href="http://piwik.org" title="Web statistics" onclick="window.open(this.href);return(false);">
<script type="text/javascript">
piwik_webmaster = /piwik_webmaster=1/.test( document.cookie ) ;

if ( ! piwik_webmaster )
{
  var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
  document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
<!--
if ( ! piwik_webmaster )
{
  piwik_action_name = '';
  piwik_idsite = 3;
  piwik_url = pkBaseURL + "piwik.php";
  piwik_log(piwik_action_name, piwik_idsite, piwik_url);
}
//-->
</script><object>
<noscript><p>Web statistics <img
src="http://example.com/piwik.php" style="border:0"
alt="piwik"/></p>
</noscript></object></a>
<!-- /Piwik -->

Piwik ne sera maintenant plus appelé si le visiteur a un cookie au nom de piwik_webmaster avec la valeur 1. Il vous suffit maintenant de définir ce cookie avec la webdev toolbar de firefox ou le plugin firecookie de firebug.

Si vous êtes un développeur, cependant, et que vous utilisez plusieurs navigateurs pour visualiser vos sites, il peut être fastidieux de définir des cookies pour chacun. Une solution est de charger cette page, après l’avoir installé à la racine de votre domaine, par exemple sous le nom de no-piwik.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title></title>
</head>
<body>
  <script type="text/javascript">
    function setCookie( name, value, expires, path, domain, secure )
    {
      var now = new Date();
      now.setTime( now.getTime() );

      if ( expires )
        expires = expires * 1000 * 60 * 60 * 24;

      var expires_date = new Date( now.getTime() + (expires) );

      document.cookie = name + "=" +escape( value ) +
      ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
      ( ( path ) ? ";path=" + path : "" ) +
      ( ( domain ) ? ";domain=" + domain : "" ) +
      ( ( secure ) ? ";secure" : "" );
    }

    setCookie( 'piwik_webmaster', '1', 365, '/', document.domain, false ) ;
  </script>

  <p>done</p>
</body>
</html>

Il ne vous reste plus qu’à charger cette page dans chacun de vos navigateurs, le cookie sera valable un an.

Share and Enjoy:
  • del.icio.us
  • Digg-Design
  • Blogasty
  • Fuzz
  • Scoopeo

Laisser un commentaire