SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Tech-Ed 2004 : ASP.NET 2 Tips & Tricks
Accueil > Articles > Evènements
Auteurs 
Matthieu NICOLESCU
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT.NET
Assistant Formateur


 Tous les articles de cet auteur

3,7/5

Bien


129033
425/1579

API Counters : traquez vos visiteurs


Avec l’arrivé d’ASP.NET, vous allez avoir une nouvelle fonctionnalité pour stocker et gérer les statistiques de votre site que ce soit le nombre de hits par page mais le nombre de clicks par contrôle ! Cette fonctionnalité se prénomme « Site & Pages Counters ».

Cette fonctionnalité n’est pas activée par défaut et avant de l’activer, vous allez devoir définir où vont être stockées ces données de statistiques. Par défaut, deux providers sont mis à votre disposition : un pour Access et l’autre pour SqlServer. Pour créer la base si elle n’existe pas encore, vous pouvez passer par l’interface Web d’administration qui va vous créer la base Access (dans notre exemple) dès que nous sélectionnerons le provider Access :



En examinant la base créée, vous allez pouvoir voir qu’elle contient une table « apsnet_SiteCounters ». C’est dans cette table que vont être stockées toutes vos données de statistiques. Examinons de plus près cette table… :

Nous avons donc comme champs :

« id » : Clef primaire de la table générée automatiquement
« Application » : Nom de l’application IIS
« PageUrl » : Adresse de la page qui correspond aux statistiques du contrôle ou de la page.
« CounterGroup » : Nom du groupe dans lequel se trouve le compteur
« CompterName » : Nom du compteur
« CounterEvent » : Evénement qui est, soit un affichage « View », soit un clic sur un contrôle « Click »
« NavigateUrl » : Adresse Url de la page
« StartTime » : Heure de début du compteur (en effet vous allez pouvoir configurer le nombre d’heure pendant lequel un compteur sera actif. Une fois le compteur inactif, un nouvel enregistrement sera créé pour la page ou le contrôle.
« EndTime » : Heure de fin pour le compteur.
« Total » : Nombre total d’affichage d’une page ou de click.

Nous avons à présent notre base, activons à présent nos compteurs : pour cela il vous faut modifier le fichier de configuration web, web.config. Pour éviter d’avoir à écrire les éléments soit même, nous allons passer toujours par l’interface d’administration Web dans l’onglet « Application » :

Une fois validé, les éléments nécessaires seront ajoutés votre fichier de configuration Web :

<siteCountersenabled="true" rowsPerDay="1">
<pageCountersenabled="false" trackApplicationName="true" trackPageUrl="true"
counterName="" counterGroup="PageCounters" />
</siteCounters>

Votre système de compteur étant à présent activé, il va vous falloir configurer vos contrôles pour gérer ces compteurs. Voici tout d’abord la liste des contrôles qui gère les API Counters :

Button
ImageButton
ImageMap
LinkButton
HyperLink
AdRotator
PhoneLink

Tous ces contrôles vont avoir un lot de propriétés :

« CountCliks » : Permet de définir si le contrôle est géré par un compteur.
« CounterGroup » : Nom du groupe dans lequel se trouve le compteur.
« CounterName » : Nom du compteur
« RowsPerDay » : Nombre d’enregistrement par jour à créer par compteur
« SiteCountersProvider » : Provider utilisé par le compteur. Si rien n’est défini, ça sera le provider défini dans votre fichier de configuration qui sera utilisé.
« Track* » : défini si la propriété est traquée.

Voici un exemple de définition d’un contrôle « HyperLink » utilisant les API Counteurs (propriété « CountCliks » :

<asp:hyperlinkid="lnkMyLink"runat="server"countclicks="True"navigateurl="http://www.labo-dotnet.com"
target="_blank">monlien</asp:hyperlink>


Une fois l’application lancée, l’enregistrement sera créee dans la table « apsnet_SiteCounters » :

Dans l’image ci-dessus, vous pouvez voir que le compteur sur notre contrôle HyperLink commence le 6 juin et fini le 7 tout simplement car nous avons défini la propriété « rowsPerDay » dans notre fichier de configuration à 1. Si vous avions mis 24, le compteur aurait eu une durée d’une heure et non pas de 24 heures. Une fois le compteur expiré, un nouvel enregistrement sera créee.

Nous avons vu jusque là les compteurs par contrôles. Vous pouvez aussi créer des compteurs par page : pour cela nous allons passer par l’interface web d’administration qui éditera le fichier de configuration web :

Le fichier de configuration que vous pouvez voir au-dessus sera alors modifié : l’attribut « enabled » de l’élément « pageCounters » sera désormais égal à « True ».

Vous pouvez aussi définir les pages que vous voulez gérer avec un compteur à partir du nœud « PagesToCount » du fichier web.config :

<pagesToCount>
<addpath="*" />
</pagesToCount>

Dans cet exemple, toutes les pages de votre application Web seront gérées par un compteur.

A partir de votre objet Page, vous allez avoir une propriété « SiteCounters » que nous allons traiter dans un autre article.


Introduction
1. CrossPage Posting
2. Site Mapping : Faciliter la navigation au sein de votre site
3. API Counters : traquez vos visiteurs
4. Changer les informations du header en ASP.NET 2
5. Url Mapping en ASP.NET 2.0 et 1.1
6. Respecter les standards avec Visual Studio et ASP.NET 2.0
7. Créer un Uploader de Fichier
8. Gérer vos chaînes de connexion
9. Pré Compilation
10. Intégration à IIS
11. Et la suite ?



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft