dimanche, février 26 2012

Analyser le traffic de PhpMyAdmin avec Piwik

Comme tout les sites webs, blogs, wiki et compagnie, votre installation communautaire de phpMyadmin peut elle aussi être paramétrée pour en tirer des statistiques de fréquentation.

Quelques rappels

Piwik est un logiciel d'analyse Web en temps réel open source (sous licence GPL). Il vous fournit des rapports détaillés sur les visiteurs de votre site Web : moteur de recherche et mots clés utilisés, leurs langues, vos pages les plus populaires… et bien plus encore.

phpMyAdmin est un outil développé en PHP et destiné à faciliter la gestion d'un ensemble de bases de données MySQL.

Pré-requis

  • Une installation fonctionnelle de Piwik. Ici nous utiliserons http://myPiwik.fr/
  • Votre installation de phpMyadmin à surveiller

Créer un nouveau site sur Piwik

  • En tant qu'administrateur, connectez-vous à votre installation de Piwik et rendez-vous dans le menu Paramètres, onglet Sites.
  • Créez un nouveau site en cliquant sur "Ajouter un site"

Piwik - Créer un nouveau site

  • Renseignez au minimum le nom et l'URL de votre installation phpMyadmin.
  • Affichez et copiez le code javascript de suivi généré.

Installer le code de suivi Piwik sur PhpMyAdmin

  • Sur Debian, éditez le fichier /etc/phpmyadmin/config.footer.inc.php

et copiez le code javascript de suivi tout juste créé après le commentaire

 <?php
 /**
 * Debian local configuration file
 *
 * In this file you may add PHP or HTML statements that will be used to define
 * the footer for phpMyAdmin pages.
 */

 ?>

 <!-- Piwik --> 
 <script type="text/javascript">
 var pkBaseURL = (("https:" == document.location.protocol) ? "https://myPiwik.fr/" : "http://myPiwik.fr/");
 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://myPiwik.fr/piwik.php?idsite=X" style="border:0" alt="" /></p></noscript>
 <!-- End Piwik Tracking Tag -->
  • Connectez-vous sur votre PhpMyadmin et cliquez où bon vous semble, vous devriez voire apparaitre vos premières statistique sur Piwik !

C'est fini !

Enfin presque, car il y a quelques petits trucs à améliorer, histoire que les stats soient plus jolies.

Aller plus loin

1- Dans Piwik, nettoyer les URL renvoyées par PhpMyadmin

On va exclure les infos de session et la position lors de l'affichage du contenu d'une table.

Dans les paramètres du ''Site', ajustez les paramètres à exclure afin d'alléger les URL :

token
pos
sql_query
message
  • Générez quelques hit en vous baladant dans votre installation de PhpMyadmin
  • Jetez un oeil à vos stats (Piwik/Action/Pages)

l'URL

http://mondomaine.fr/phpmyadmin/sql.php?db=database&token=e7b24862f11e11d7f166e21b8b262f81&goto=db_structure.php&table=matable&pos=0

est devenu

http://mondomaine.fr/phpmyadmin/sql.php?db=database&goto=db_structure.php&table=matable

C'est quand même plus sympa, surtout si plusieurs utilisateurs se connectent et affichent cette table !

2- On va également nettoyer le titre des pages car PhpMyAdmin est très bavard.

Par défaut, Piwik affiche, dans "Action/Titres des pages", le titre de la page HTML

Ce qui nous donne quelque chose comme :

NomDeDomaine / ServeurMySQL / Base / Table | '%VersionDePhpMyAdmin%'

ex : www.mondomaine.fr / localhost / mabase / maTable / phpMyAdmin 3.3.7deb3

Par forcément très lisible Oo' !

On va transformer tout ça pour que Piwik nous affiche de jolis titres de page du style "ServerMySQL / Base / Table" !

Pour cela, on va utiliser un petit de Php et un bout de l'API Piwik.

  • Ré-écriture du Titre de la page

On va utiliser la classe $GLOBALS fournit par PhpMyAdmin


// Le titre ressemble à 'NomDeDomaine / ServeurMySQL / Base / Table | VersionDePhpMyAdmin'

// On enlève la mention de la version
$title_items = explode (" | ", $GLOBALS['title'] );

// Le titre a maintenant la forme  NomDeDomaine / ServeurMySQL / Base / Table

$title_part1 = explode (" / ", $title_items[0] );

// Les élément du titre sont stockés dans un tableau

// On supprime "NomDeDomaine", premier élément du tableau
unset($title_part1[0]);

// On reconstitue le titre de la page avec les élément du tableau, séparés par des " / "
$page_title=implode(" / ",$title_part1);

Le titre ressemble maintenant à "ServerMySQL / Base / Table"

Ce petit bout de script est un insérer dans le fichier /etc/phpmyadmin/config.footer.inc.php entre le commentaire et le code javascript de suivi.

  • Modifier très légèrement le code javascript de suivi Piwik

Toujours dans le fichier /etc/phpmyadmin/config.footer.inc.php, ajoutez la ligne

piwikTracker.setDocumentTitle("<?php echo $page_title ;?>");

avant

[...]
piwikTracker.trackPageView();
[...]

Au final votre fichier devrait ressembler à :

<?php
/**
 * Debian local configuration file
 *
 * In this file you may add PHP or HTML statements that will be used to define
 * the footer for phpMyAdmin pages.
 */
$title_items = explode (" | ", $GLOBALS['title'] );

$title_part1 = explode (" / ", $title_items[0] );

// Elément à supprimer
unset($title_part1[0]);

$page_title=implode(" / ",$title_part1);

?>
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://myPiwik.fr/" : "http://myPiwik.fr/");
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.setDocumentTitle("<?php echo $page_title ;?>");
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://myPiwik.fr/piwik.php?idsite=X" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Tag -->

C'est tout !

Naviguez sur votre phpMyAdmin et admirez vos stats !

Quelques ressources :

Piwik :

phpMyAdmin

dimanche, novembre 28 2010

VLC en client UPnp

Logo VLC

Logo VLC Vous avez mis un place un serveur multimédia UPnp/DNLA et vous avez besoin d'un client UPnp robuste et simple pour votre pc/mac et autre.

Pensez à VLC !

Lire la suite

samedi, novembre 6 2010

30 questions sur MySQL – Partie 2

DbNews nous livre la deuxième partie de son quiz sur MySQL.

Lire la suite

lundi, novembre 1 2010

Remaniement

Du nouveau sur haptomai.org

Lire la suite

Ouverture du WIP

Andy_Tools_Hammer_Spanner.png

Andy_Tools_Hammer_Spanner.png Quelques nouveaux contenus sur haptomai.org, les WIP ...

Lire la suite

dimanche, octobre 31 2010

J'ai craqué pour une DSi XL

Nintendo Super Marion Bros.

Nintendo Super Marion Bros.Après quelques dizaines d'années de résistance, j'ai craqué. J'ai acheté un console portable.

Lire la suite

jeudi, octobre 14 2010

30 questions sur MySQL – Partie 1

La rentrée est passée depuis quelques semaines, et dbnewz vous propose un petit quiz pour faire le point sur vos connaissances en MySQL. Ce quiz en 2 parties contient un total de 30 questions qui abordent les principaux domaines de notre base de données favorite : réplication, sauvegarde,  […]

Lire la suite

mardi, octobre 12 2010

Google Url Shortener

Google aussi a son URL Shortener Outre l'utilisation utra-simpliste, associé a votre compte Google, vous aurez accès à l'historique des URL que vous aurez raccourci, agrémenté de statistiques bien sympa En un mot : A ajouter à votre batterie de trucs-qui-sont-super-cool-pour-surfer-sur-le-web. Plus  […]

Lire la suite

- page 1 de 8