Les compteurs de visites en­re­gistrent la fréquence de visite pour un site Web et pré­sen­tent gé­né­ra­le­ment le nombre de visiteurs en bas de la page d’accueil. Alors que la sortie visuelle des données des uti­li­sa­teurs n’a gé­né­ra­le­ment qu’un but re­pré­sen­ta­tif, de nombreux opé­ra­teurs utilisent aussi ces chiffres de fré­quen­ta­tion pour l’analyse Web et la mesure de l’audience du site. Pour cela, la plupart d’entre eux s’appuient sur les pos­si­bi­li­tés des compteurs de visite intégrées des systèmes de gestion de contenu (CMS) ou bien des kits de cons­truc­tion de site Web (éditeurs de sites mo­du­laires) ou alors achètent un compteur auprès des dif­fé­rents four­nis­seurs en ligne. Ces solutions utilisent souvent un pixel espion (pixel invisible) ou des ap­pli­ca­tions Ja­vaS­cript si­mi­laires connues de l’analyse des fichiers journaux (fichier log) qui en­re­gistrent en plus du simple nombre de visiteurs, des in­for­ma­tions spé­ci­fiques à chaque uti­li­sa­teur. 

Pour ne pas dépendre d’un pres­ta­taire de service externe et pour avoir un meilleur contrôle des données, il est aussi possible de créer son propre compteur de visite et de l’exécuter sur votre site Web. Pour cela, il faut juste une base de données ou un fichier texte et des con­nais­sances de base en PHP.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Comment fonc­tion­nent les offres de compteur de visite té­lé­char­geables ?

Le moyen le plus simple pour intégrer un compteur de visite à votre site Internet est sans aucun doute de té­lé­char­ger un script complet. Les options payantes et gratuites se dis­tin­guent prin­ci­pa­le­ment par l’étendue de leurs services. Si vous optez pour une offre payante, vous recevrez des sta­tis­tiques vi­suel­le­ment mieux pré­sen­tées avec des in­for­ma­tions sup­plé­men­taires en sus des in­for­ma­tions du trafic. Le degré de détail de ces in­for­ma­tions dépend du fait que l’en­re­gis­tre­ment des activités des visiteurs se fait ex­clu­si­ve­ment du côté serveur ou côte client. Dans les deux cas, les pa­ra­mètres de base suivants sont toutefois en­re­gis­trés de manière standard :

  • Heure d’accès du visiteur

  • Adresse IP du visiteur

  • Client du visiteur

  • Source URL

En fonction de la con­fi­gu­ra­tion, le serveur peut attribuer un iden­ti­fiant unique (cookie de session) à chaque visiteur lors de son premier accès. Ainsi, les sta­tis­tiques du compteur de visite peuvent être utilisées pour prendre en compte si c’est la première fois qu’un uti­li­sa­teur visite la page ou non. Avec l’aide de Ja­vaS­cript ou d’Abobe Flash côté client, vous pouvez encore augmenter le gain d’in­for­ma­tion. Par exemple, le tracking révèle le système d’ex­ploi­ta­tion et les ex­ten­sions de na­vi­ga­teur utilisés par le visiteur ou encore la ré­so­lu­tion d’écran définie. Ces dernières in­for­ma­tions peuvent, par exemple, jouer un rôle décisif dans l’op­ti­mi­sa­tion de sites Web pour les appareils mobiles.

Pour la plupart des four­nis­seurs, vous pouvez choisir entre dif­fé­rentes ap­pa­rences (design) et tailles pour le compteur de visite qui sera affiché par la suite. Après la sélection de la taille et du design, vous pouvez générer alors un code HTML en cliquant sur l’outil approprié. Ce Snippet est alors sim­ple­ment placé à l’endroit désiré sur votre sur votre site Web pour activer le suivi des visiteurs.

Créer son propre compteur de visite : tutoriel

Si vous souhaitez créer votre compteur de visite pour un site Web, il est tout d’abord né­ces­saire de créer les struc­tures ap­pro­priées. Par exemple, les accès en­re­gis­trés doivent d’abord être sau­ve­gar­dés. C’est la seule façon pour le compteur Web d’afficher ul­té­rieu­re­ment l’état actuel et de fournir des sta­tis­tiques sig­ni­fi­ca­tives. Pour les sites plus petits, il suffit d’un simple fichier texte que vous devez placer sur votre serveur et que vous spécifiez dans le script comme l’em­pla­ce­ment. Cependant, plus votre projet Web et plus le trafic moyen est important, plus vous devriez recourir à l’uti­li­sa­tion d’une base de données comme MySQL pour pouvoir stocker vos in­for­ma­tions. Avant d’entrer pré­ci­sé­ment dans le script pro­pre­ment dit, la section suivante traite de la con­fi­gu­ra­tion de la base de données cor­res­pon­dante.

Con­fi­gu­ra­tion de la base de données MySQL pour les compteurs de visite

La liaison à une base de données est gé­né­ra­le­ment associée à un plus grand nombre de requêtes et est donc plus complexe que la ré­cu­pé­ra­tion des in­for­ma­tions à partir d’un simple fichier texte. Il est donc utile de vérifier à l’avance si l’uti­li­sa­tion de MySQL par exemple vaut la peine au regard de votre projet ou si au contraire cela risque de le ralentir inu­ti­le­ment. Selon les in­for­ma­tions que vous souhaitez en­re­gis­trer et exploiter avec votre propre compteur de visite, vous devez créer une table avec un nombre cor­res­pon­dant de zones. Quatre champs ou quatre types d’in­for­ma­tions pré­sen­tent un intérêt par­ti­cu­lier.

  • Id : dans la première place de la table créée, il est conseillé d’y insérer le champ « id », cela afin de renforcer la clarté et la facilité de trai­te­ment de données en­re­gis­trées (par exemple, si les entrées doivent être triées). L’uti­li­sa­tion de ce champ est re­com­man­dée mais pas obli­ga­toire. Afin de s’assurer que la base de données est numérotée au­to­ma­ti­que­ment de manière con­sé­cu­tive et que chaque numéro ne soit attribué qu’une seule fois, vous pouvez spécifier les pa­ra­mètres AUTO_INCREMENT et PRIMARY KEY.

  • access_page : la colonne « access_page » est dans tous les cas né­ces­saire. Elle est utile pour le titre du site dans lequel le compteur de visite est intégré. Vous pouvez aussi utiliser les pa­ra­mètres NOT NULL et UNIQUE pour éviter la création de doublons. Et VARCHAR ou TEXT pour le type de données dans ce champ.

  • access_counter : le compteur de visite des pages HTML pro­pre­ment dit se trouve sous le champ INTEGER « access_counter ». À chaque accès à la « access_page » en question, la valeur augmente alors au­to­ma­ti­que­ment de 1.

  • access_date : même si l’ho­ro­da­tage de l’accès à une page ne doit pas né­ces­sai­re­ment être sau­ve­gardé dans la base de données, c’est gé­né­ra­le­ment une des premières valeurs collectée par un compteur de visite. En utilisant le type de donnée TIMESTAMP y compris l’attribut CURRENT_TIMESTAMP, vous obtenez les entrées actuelles qui con­tien­nent à la fois la date et l’heure exacte. Si vous spécifiez aussi la règle ON UPDATE CURRENT_TIMESTAMP, la base de données saisit au­to­ma­ti­que­ment l’ho­ro­da­tage sans qu’aucune autre pro­gram­ma­tion ne soit alors né­ces­saire.

Création de la fonction PHP du compteur de visite.

Le langage de script PHP est idéal pour trans­fé­rer les données des visiteurs vers la base de données et lire ensuite les données né­ces­saires pour le compteur. Pour cela, le script cor­res­pon­dant doit contenir une fonction qui exécute les trois tâches suivantes :

  1. il doit pouvoir se connecter à la base de données et l’ouvrir.

  2. Il doit vérifier la table pour voir si un en­re­gis­tre­ment par­ti­cu­lier existe déjà, puis augmenter son compteur de 1 ou créer un nouvel en­re­gis­tre­ment avec la valeur 1.

  3. Il doit restituer la valeur actuelle du compteur de visite afin qu’elle puisse être présentée en con­sé­quence sur la page d’accueil.

Étant donné que le script complet est assez complexe, les pa­ra­graphes suivants traitent sé­pa­ré­ment les dif­fé­rentes sous-étapes de la fonction, qui est dans cet exemple appelée « visiteur ».

Le code PHP de compteur de visite débute par les pa­ra­mètres né­ces­saires à l’ini­tia­li­sa­tion de la base de données, serveur et pro­prié­taire de la base de données, son mot de passe et nom d’uti­li­sa­teur ainsi que l’or­tho­graphe correcte de la table et les champs obli­ga­toires (comme access_page). Il est important de saisir les données cor­rec­te­ment afin que la connexion à la base de données puisse être ul­té­rieu­re­ment établie.

<?php
function visiteur($record) {
    $db_host = "localhost";
    $db_username = "nom d‘utilisateur"; 
    $db_password = "mot de passe";
    $db_name = "nom de la base de données";
    $db_table = "nom du tableau";
    $counter_page = "access_page";
    $counter_field = "access_counter";

L’étape suivante consiste à ouvrir la base de données ou alors à émettre un message d’erreur en cas d’erreur de connexion :

$db = mysqli_connect($db_host, $db_username, $db_password, $db_name) or ("Host non disponible");
$db = mysql_select_db ($db_name, $link) or ("base de données non disponible");

Ensuite, le script PHP doit être prolongé avec les lignes cor­res­pon­dantes pour remplir la base de données. L’ins­truc­tion « INSERT…ON DUPLICATE KEY UPDATE » est cruciale, qui en com­bi­nai­son avec l’incrément intégré de la valeur de champ par 1, garantit la mise à jour du compteur comme désiré si un en­re­gis­tre­ment de données existe déjà :

$sql_call = "INSERT INTO ".$db_table." (".$counter_page.", ".$counter_field.") VALUES ('".$record."', 1) ON DUPLICATE KEY UPDATE ".$counter_field." = ".$counter_field." + 1"; 
mysqli_query($db, $sql_call) ou ("erreur d‘insertion");

Cela signifie que la fonction remplit déjà deux des trois tâches définies : elle assure la connexion à la base de données ainsi que la création ul­té­rieure des en­re­gis­tre­ments de données et la mise à jour de ceux existants. Cependant, comme le script a une troisième tâche et qu’il est censé trans­mettre l’état actuel du compteur de visite au site, vous devez main­te­nant insérer une demande de base de données cor­res­pon­dante (mysql_query) et définir la sortie numérique du résultat (mysql_fetch_assoc). Dans la dernière étape, la fonction doit fermer la base de données et retourner le résultat par return, donc la dernière partie de la fonction est comme suit :

$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or ("SQL-demande refusée");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];
mysqli_close($db);
return $x;
    }
?>

A quoi ressemble un script PHP complet ?

Nous avons expliqué les dif­fé­rentes parties de la fonction PHP dans les sections pré­cé­dentes, à présent nous vous pré­sen­tons ici le script complet avec lequel vous pouvez ajouter gra­tui­te­ment un compteur de visite à la page d’accueil de votre site Web.

<?php
function visiteur($record) {
    $db_host = "localhost";
    $db_username = "nom d‘utilisateur"; 
    $db_password = "mot de passe";
    $db_name = "nom de la base de données";
    $db_table = "nom de table";
    $counter_page = "access_page";
    $counter_field = "access_counter";
    $db = mysqli_connect ($db_host, $db_username, $db_password, $db_name) or ("Host ou base données non disponible");
    $sql_call = "INSERT INTO ".$db_table." (".$counter_page.", ".$counter_field.") VALUES ('".$record."', 1) ON DUPLICATE KEY UPDATE ".$counter_field." = ".$counter_field." + 1"; 
    mysqli_query($db, $sql_call) or die("erreur d‘insertion");
$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or ("SQL-demande refusée");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];
mysqli_close($db);
return $x;
    }
?>

In­té­gra­tion du script dans les documents HTML

Si vous souhaitez intégrer votre propre compteur de visite PHP sur une page Web, il vous suffit d’apporter quelques mo­di­fi­ca­tions mineures au document HTML cor­res­pon­dant. Le chan­ge­ment le plus important est le fait d’échanger l’extension existante .html par l’extension .php. Vous devez aussi attribuer un nom de page sig­ni­fi­ca­tif à la variable PHP $page_name dans l’en-tête de la page :

<?php
    $page_name = "nom de page individuel";
?>

Vous pouvez aussi utiliser la fonction PHP echo pour créer le nom de page sé­lec­tionné, qui sera ensuite ajouté au champ access_page de la base de données, le titre de la page :

<title><?php echo $page_name; ?></title>

Pour l’in­té­gra­tion du script compteur de visite, appelé ici à titre d‘exemple web­coun­ter.php, utilisez la commander PHP include à la position désirée du site Web. Dans la même étape, passez le contenu de la variable $page_name à la fonction « visiteur() » :

<?php
include "webcounter.php";
$nombre_visiteurs = visiteur($page_name);
?>

Dès que le code est inclus dans la page, votre script PHP entre alors action : si le titre de la page (le contenu de $page_name) n’est pas encore dis­po­nible dans la table de la base de données, il s’assure qu’un en­re­gis­tre­ment de données cor­res­pon­dant soit créé. Le champ access_counter assume la valeur 1 et la fonction transmet au site Web qu’un accès a bien eu lieu. Si une entrée cor­res­pon­dante existe déjà, le compteur dans la base de données n’est augmenté que de 1.

Pré­sen­ta­tion du nombre de visiteurs sur la page d‘accueil

Après avoir créé le compteur de visite et dès qu’il a commencé à en­re­gis­trer les accès sur votre site Web, vous pouvez aussi afficher la valeur actuelle du compteur di­rec­te­ment sur votre site Internet. La façon la plus simple d’y parvenir est, par exemple, un message qui s’affiche au­to­ma­ti­que­ment dans le pied de page de la page d’accueil. Il est alors né­ces­saire d’avoir un pied de page. Utilisez la commande echo pour ajouter la valeur courante de la variable $nombre_visiteurs au texte :

< footer>
    <p>
<?php
        echo "vous êtes le ", $nombre_visiteurs, ". visiteur sur ce site !";
        ?>
</p>
</footer>
Aller au menu principal