Tout savoir sur l'attribut ping en HTML

par Korben -

Tiens tiens, et si on parlait d’une fonctionnalité HTML plutôt méconnue ? Je veux parler de l’attribut ping, ce petit bout de code qui permet de traquer les clics sur les liens en toute discrétion !

En effet, cette petite merveille issue du HTML5 fait polémique depuis sa création, entre les webmasters qui y voient une aubaine pour l’analyse d’audience et les défenseurs de la vie privée qui tirent la sonnette d’alarme.

Commençons par les bases. L’attribut ping s’ajoute tout simplement à une balise <a> et permet d’envoyer une notification à une URL spécifiée quand l’utilisateur clique sur le lien. En gros, c’est comme si votre navigateur jouait les mouchards en envoyant un petit message du style “Hey, quelqu’un vient de cliquer par ici !

Voici un exemple :

[Visitez notre site](https://example.com)

Quand vous cliquez sur ce lien innocent, deux choses se passent en coulisses :

  1. Vous êtes redirigé vers example.com (normal jusque-là)
  2. Le navigateur envoie en douce une requête POST à analytics.com/log

Le plus intéressant, c’est que cette requête POST contient des informations utiles comme l’URL de destination du lien, la page de référence via l’en-tête Referer ainsi que les informations de l’agent utilisateur (user-agent)

Les applications concrètes sont nombreuses :

  • Analyse d’audience : suivre le comportement des utilisateurs sans JavaScript
  • Marketing d’affiliation : tracker les conversions de manière plus fiable
  • Publicité en ligne : mesurer l’efficacité des campagnes
  • Navigation interne : comprendre comment les visiteurs explorent votre site

L’avantage majeur du ping c’est qu’il est beaucoup plus léger et performant que les traditionnels scripts de tracking. Plus besoin de charger 250 Ko de JavaScript juste pour savoir si quelqu’un a cliqué sur un lien !

Pour les webmasters, voici quelques exemples d’implémentation :

[Voir le produit](/produit)
[Voir le produit](/produit)
[Voir le produit](/produit)

Côté serveur, voici un exemple simple en PHP pour récupérer les pings :

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = file_get_contents('php://input');
file_put_contents('pings.log', date('Y-m-d H:i:s') . " - " . $data . "\n", FILE_APPEND);
}
?>

Pour Chrome et ses dérivés, c’est supporté depuis la version 1.0. Pour Firefox c’est supporté mais désactivable. Et pour Safari, le support c’est récent.

Plus problématique, l’attribut soulève des questions éthiques légitimes car contrairement aux scripts JavaScript facilement bloquables, le ping opère en catimini au niveau du navigateur.

Pour se protéger, voici donc vos options :

Dans Firefox :

  1. Tapez about:config dans la barre d’adresse
  2. Cherchez browser.send_pings
  3. Passez la valeur à false

Pour Chrome et autres navigateurs, installez une extension comme uBlock Origin qui bloque ces requêtes par défaut.

Alors, pour ou contre l’attribut ping ?

Et bien comme souvent sur le web, tout est question d’équilibre entre utilité et respect de la vie privée. Quoiqu’il en soit, n’en abusez pas.

Source