L'installation d'un compteur d'accès sur votre site web vous permet d'avoir un retour d'informations sur le nombre de personnes qui consultent effectivement votre site. La présence d'un compteur permet également aux lecteurs d'en connaître la popularité...

Il existe deux méthodes pour compter les accès:

  • Examiner le fichier de log de votre serveur http.
  • Intégrer un appel à un programme CGI depuis l'une de vos pages.

Simple et efficace

Nous allons ici nous intéresser uniquement à la deuxième méthode, qui consiste à appeler un programme CGI "compteur" depuis une page HTML. Le principe en est le suivant: à chaque fois qu'un client charge la page HTML en question, il y trouve une image intégrée à l'aide du marqueur <IMG>. Il demande donc le chargement de cette image. Or il se trouve que cette image fait en fait référence à un programme CGI. Ledit programme CGI consulte son fichier compteur, l'incrémente de 1 puis produit en temps réel une petite image représentant les chiffres d'un compteur...

Certains compteurs permettent aussi de ne pas afficher de compteur et se contentent alors d'enregistrer les accès dans un fichier. Pour ne pas afficher le compteur, le programme va en fait afficher une image GIF transparente de 1 pixel sur 1 pixel!

Inconvénients

Un tel compteur d'accès présente néanmoins quelques limitations:

  • A chaque fois qu'une même personne se reconnecte sur un site, le compteur est incrémenté. Le compteur ne compte donc pas les personnes mais les accès à la page.
  • Le compteur est également incrémenté si un lecteur appuye sur le bouton reload de son browser.
  • Le compteur n'est pas toujours incrémenté si la page est dans le cache local du client.
  • Le compteur n'est jamais incrémenté si un lecteur référence directement une page précise d'un site Web, sans passer par la page de garde (en admettant que seule la page de garde comporte un compteur!) Le compteur ne compte donc pas les accès au service mais à la page de garde su service.

Un certain nombre de ces inconvénients pourraient être contournés avec un compteur s'appuyant sur les fichiers de log du serveur httpd, mais cela se fait au prix d'une plus grande complexité. Nous ne relèverons pas ce défi là ici.


Odometer

Odometer est un compteur très simple écrit en C sous UNIX.

Il est peut être appelé très simplement de la manière suivante:

<IMG SRC="http://www.planete.net/cgi-bin/odometer?test>

Voici le code source en C pour UNIX: odometer.c.