Partager via


Exemple : module de suivi Web Analytics

Auteur Ruslan Yakushev

Web Analytics est un espace technologique populaire aujourd'hui. Son objectif est de fournir aux propriétaires de sites web des informations statistiques sur les visiteurs de leurs sites, afin que l'éditeur de site puisse optimiser le contenu, la publicité et l'offre de service pour incréer la satisfaction des clients et le retour sur investissement.

Les services de Web Analytics existent depuis un certain temps. Toutefois, ils sont devenus très populaires depuis que Google a rendu son service d'analyse gratuit et accessible à tout le monde. Désormais, tout propriétaire de site, du plus simple amateur aux grands portails commerciaux, a accès à un service d'analyse Web gratuit et riche en fonctionnalités. Microsoft fournit également un service Web Analytics gratuit proposé dans le cadre de Microsoft AdCenter.

Le module Web Analytics pour IIS permet aux éditeurs de sites Web d'activer facilement le suivi Web Analytics de base de leurs sites Web, sans toucher au code réel de l'application Web.

Le code source d'un échantillon est disponible ici.

Problèmes liés aux services Web Analytics actuels

L'objectif de base du service Web Analytics est de collecter des données sur les visiteurs du site web, puis de traiter ces données et de les présenter aux propriétaires de site dans un formulaire agréable et facile à assimiler. Pour collecter les données, le propriétaire du site Web doit instrumenter toutes les pages de son site Web avec le script de suivi émis par le fournisseur de services Web Analytics :

Capture d’écran de la page web Google Analytics avec le script suivi.

Le principal inconvénient lié au fait de demander à l'utilisateur de procéder de la sorte est que la modification de l'ensemble des pages Web peut nécessiter un travail considérable. Dans certains cas, ce problème peut être atténué par l'utilisation de modèles et de pages maître. Cependant, dans de nombreux cas, l'utilisateur devra toujours parcourir ses pages html et ajouter le script de suivi à la fin de chaque document.

Avantages et fonctionnalités du module Web Analytics

Le module Web Analytics pour IIS permet de résoudre le problème susmentionné en proposant aux utilisateurs de séparer la logique de suivi de la mise en œuvre du site Web proprement dit. Plutôt que de modifier les pages de son site web, l'utilisateur n'a plus qu'à configurer le paramètre IIS et le script de suivi sera automatiquement inséré dans toutes les réponses html produites par son site web. Le principal avantage fourni par ce module est que l'instrumentation Web Analytics devient très facile. Un autre avantage est que l'utilisateur peut facilement activer ou désactiver le suivi analytique, ce qui est utile pour les scénarios de développement et test.

L'échantillon de module Web Analytics illustre les éléments suivants :

  • Comment mettre en œuvre un module .NET qui insère un script de suivi dans les réponses HTTP.
  • Comment étendre la configuration IIS et fournir une interface utilisateur pour le module dans le gestionnaire IIS. L'interface utilisateur et la configuration du module permettent à l'utilisateur de spécifier le script de suivi, et d'activer ou désactiver le suivi Web Analytics. Il permet également à l'utilisateur de choisir l'endroit où le code de suivi doit être placé (élément <Head> ou <Body> du document HTML).

Configuration du module

Pour commencer à utiliser le module, il faut d'abord le compiler à partir de cette solution Visual Studio. Vous pouvez utiliser VS 2005, VS2008 ou Visual C# Express 2005 et 2008 pour compiler la solution. Vous pouvez également utiliser les versions précompilées dans le dossier bin\release.

Pour installer le module, procédez comme suit :

  1. Copiez le WebAnalyticsModule.dll dans un dossier bin au sein de votre site web ou application

  2. Copiez le WebAnalytics_schema.xml dans le dossier %windir%\system32\inetsrv\config\schema.

  3. Ajoutez les éléments suivants au fichier %windir%\system32\inetsrv\config\applicationhost.config : dans la sectionGroup pour « system.webServer », ajoutez la définition de la section : <section name=« webAnalytics » overrideModeDefault=« Allow »>

  4. Ajoutez un module à un site web ou à une application en ouvrant le fichier web.config correspondant et en ajoutant la section suivante à l'élément <system.webServer> :

    <modules>
        <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsHttpModule" />
    </modules>
    
  5. Ensuite, utilisez l'outil gacutil pour placer le module dans le Global Assembly Cache afin que le Gestionnaire IIS puisse les utiliser :

    gacutil -if WebAnalyticsModule.dll
    
  6. Ajoutez le module à la configuration du Gestionnaire IIS dans le fichier %windir%\system32\inetsrv\config\administration.config :

    • Dans la collection <moduleProviders>, ajoutez l'entrée suivante :

      <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsProvider, WebAnalyticsModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c6b7132bcfe43312" />
      
    • Ajoutez la ligne suivante à la collection<modules> :

      <add name="WebAnalytics" />
      
  7. Ouvrez le gestionnaire des services IIS. Vous devez voir l'icône « Suivi Web Analytics » dans l'affichage des fonctionnalités de votre site web ou de votre application.

Présentation du module

Une fois le module installé, vous verrez la configuration Web Analytics dans le panneau de configuration IIS principal. Cette configuration sera disponible au niveau du site et de l'application.Capture d’écran de la configuration Web Analytics affichée dans le panneau de configuration I I S.

L'interface utilisateur de configuration du module Web Analytics se présente comme suit :

Capture d’écran de la boîte de dialogue Configuration du suivi Web Analytics avec le script de suivi qui remplit le champ.

Une fois le module configuré, il est possible de voir comment il fonctionne en demandant une page Web au serveur à l'aide de WFetch. La sortie du serveur Web contient le script de suivi avant la balise fermante <body /> :Capture d’écran de W Fetch U I affichant la sortie du serveur web et le script de suivi remplit le champ Sortie du journal.