🔗 Comment Utiliser l'Attribut Ping en HTML avec un Script PHP đŸ–„ïž

Temps de lecture : 14 minutes environ.

Dans ce tutoriel, nous allons dĂ©couvrir comment suivre les clics sur des liens en utilisant l’attribut HTML ping et un script PHP. Cette mĂ©thode est utile pour enregistrer les clics des utilisateurs sur des liens externes sans perturber leur navigation. Voici comment cela fonctionne et comment l’implĂ©menter Ă©tape par Ă©tape.

1. Introduction au fonctionnement

Le suivi des clics sur des liens peut ĂȘtre rĂ©alisĂ© Ă  l'aide de l'attribut ping. Cet attribut permet d'envoyer une requĂȘte POST vers une URL spĂ©cifiĂ©e lorsque l'utilisateur clique sur un lien. L'avantage est que cette requĂȘte est indĂ©pendante de l'ouverture du lien, ce qui garantit une expĂ©rience fluide pour l'utilisateur.

Dans notre exemple :

  • Les liens HTML possĂšdent l’attribut ping pointant vers un script PHP.
  • Le script PHP enregistre les clics dans un fichier journal (pings.log).

2. Structure HTML avec l’attribut ping

Voici le code HTML utilisĂ© pour dĂ©finir les liens avec l’attribut ping :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ping</title>
</head>
<body>
<a href="https://nouvelle-techno.fr" target="_blank" ping="./ping.php">Nouvelle-Techno.fr</a>
<a href="https://youtube.com" target="_blank" ping="./ping.php">Youtube</a>
</body>
</html>

Explications :

  1. Attribut ping :
    • DĂ©finit une URL oĂč une requĂȘte POST est envoyĂ©e lorsqu’un utilisateur clique sur le lien.
    • Dans cet exemple, les requĂȘtes sont envoyĂ©es au fichier ping.php.
  2. Balises <a> :
    • Chaque lien ouvre une page externe (href) dans un nouvel onglet (target="_blank").
    • En parallĂšle, une notification est envoyĂ©e Ă  ping.php.

3. Le script PHP pour enregistrer les clics

Le fichier ping.php est le cƓur de la logique. Il traite les requĂȘtes POST et enregistre les informations dans un fichier journal.

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Lire le contenu brut de la requĂȘte
$content = file_get_contents('php://input');

// Vérifier que le contenu est bien un "PING"
if ($content === 'PING') {
// RĂ©cupĂ©rer les informations de l'en-tĂȘte HTTP
$source = $_SERVER['HTTP_PING_FROM']; // URL de départ
$dest = $_SERVER['HTTP_PING_TO']; // URL de destination
$sent_at = date('d/m/Y H:i:s'); // Date et heure du clic

// Enregistrer les données dans un fichier log
file_put_contents('pings.log', "$sent_at - $content - De : $source - Vers : $dest\n", FILE_APPEND);
}
}

Explications :

Vérification de la méthode HTTP :

  • Le script ne rĂ©pond qu’aux requĂȘtes POST grĂące Ă  la condition $_SERVER['REQUEST_METHOD'] === 'POST'.

Lecture du contenu de la requĂȘte :

  • La mĂ©thode file_get_contents('php://input') permet de lire le corps brut de la requĂȘte POST. Dans ce cas, le contenu attendu est "PING".

Informations sur le clic :

  • L'en-tĂȘte HTTP_PING_FROM contient l’URL du lien cliquĂ©.
  • L'en-tĂȘte HTTP_PING_TO contient l’URL de destination du lien.

Enregistrement dans un fichier journal :

  • Les informations sont formatĂ©es et ajoutĂ©es Ă  un fichier pings.log pour un suivi simple.

4. Exemple de fichier journal

Voici un exemple de contenu du fichier pings.log aprĂšs plusieurs clics sur les liens :

25/01/2025 16:12:34 - PING - De : https://nouvelle-techno.fr - Vers : https://youtube.com
25/01/2025 16:15:10 - PING - De : https://nouvelle-techno.fr - Vers : https://nouvelle-techno.fr

Chaque entrée enregistre :

  • La date et l’heure du clic.
  • Le contenu brut de la requĂȘte (PING).
  • L’URL source et destination.

5. Configuration du serveur pour les en-tĂȘtes ping

Pour que cette solution fonctionne, le navigateur envoie automatiquement les en-tĂȘtes HTTP PING_FROM et PING_TO. Aucun paramĂštre supplĂ©mentaire n’est nĂ©cessaire sur le serveur ou le client.

6. Limites et précautions

Compatibilité des navigateurs :

  • L’attribut ping est pris en charge par les principaux navigateurs modernes, mais peut ne pas ĂȘtre compatible avec certains navigateurs plus anciens.

Protection des données :

  • Évitez de stocker des informations sensibles dans les logs, et assurez-vous que le fichier pings.log n’est pas accessible publiquement.

Sécurisation :

  • VĂ©rifiez le contenu des requĂȘtes pour Ă©viter les abus ou injections malveillantes.

7. Avantages de l’attribut ping

Performance :

  • Le suivi est effectuĂ© de maniĂšre asynchrone sans ralentir l’utilisateur.

Simplicité :

  • L’attribut ping est facile Ă  mettre en Ɠuvre et ne nĂ©cessite pas de JavaScript.

Traçabilité :

  • Les informations collectĂ©es peuvent ĂȘtre utilisĂ©es pour des analyses simples du trafic.

Avec ce systĂšme, vous pouvez suivre efficacement les clics sur vos liens tout en offrant une expĂ©rience utilisateur fluide et rapide. Cette mĂ©thode est idĂ©ale pour surveiller les interactions avec des liens externes sur un site web. 🚀

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder au serveur Discord pour une entraide par chat.

🔗 Comment Utiliser l'Attribut Ping en HTML avec un Script PHP đŸ–„ïž
Article publié le

Catégories : Développement Front-End Développement Back-End Développement PHP

Mots-clés : Tutoriel HTML Tutoriel PHP

Partager : Partager sur Facebook Partager sur Twitter Partager sur LinkedIn