Instrumentation d’une requête HTTP

Dans le cadre d’un projet d’intégration d’une solution de web analytics (PIWIK), nous avons mis en place une idée originale afin de ne pas avoir à modifier le code de l’application sur laquelle nous souhaitions positionner des tags javascript.

Notre objectif : rendre la solution retenue complètement transparente pour le code des applications à monitorer.

Le besoin : remonter des statistiques sur toutes les pages de l’application.  Aucune personnalisation n’a été demandée, aucun plan de taggage complexe variant selon chaque page.

Aucun Back Office n’existait sur cette application, il s’agissait d’une application dont les développements sont externalisés auprès d’un tiers mais installés sur notre infrastructure. Au lieu de faire une demande d’évolution auprès de notre éditeur et de dépendre de lui pour chaque mise à jour, nous avons opté pour une solution paramétrable et maintenable par nos soins et réutilisable sur d’autres applications.

Les prérequis techniques :

  • un reverse proxy (SQUID)
  • un serveur ICAP (Internet Content Adaptation Protocol)

Chaque requête HTTP issue du serveur d’application est récupérée par le reverse proxy avant d’être envoyée au client. Le reverse proxy sollicite le serveur ICAP afin de récupérer le tag javascript à injecter. La requête HTTP instrumentée est ensuite envoyée au client.

2012-12-21_13h54_14

Avantages : La modification du tag javascript ne nécessite pas une nouvelle version de l’application.

Inconvénients: il n’est pas possible de réaliser un plan de taggage complexe différent selon chaque page de l’application.

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Ce contenu a été publié dans Non classé, Trucs & astuces, avec comme mot(s)-clef(s) , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire