Personne n’aime les CAPTCHA. Plisser les yeux sur des feux de circulation et des bouches d’incendie pour prouver que l’on est humain est une taxe imposée à chaque visiteur honnête, et les données que ces énigmes renvoient aux réseaux publicitaires posent un problème à part entière. Cloudflare Turnstile remplace tout cela par une vérification intelligente, presque invisible, qui confirme qu’un visiteur est humain sans énigmes, sans le suivre et sans rien vous coûter. En 2026, c’est la façon la plus propre de protéger un formulaire contre les bots.

Ce guide explique ce qu’est Turnstile, pourquoi il surpasse reCAPTCHA pour la plupart des sites, et exactement comment l’ajouter à n’importe quel formulaire, y compris l’étape cruciale de la vérification côté serveur que beaucoup de tutoriels passent sous silence.

En bref

  • Turnstile est l’alternative au CAPTCHA de Cloudflare, gratuite et respectueuse de la vie privée, sans énigmes visuelles
  • Il est gratuit avec des limites généreuses et fonctionne sur n’importe quel site, pas seulement ceux déjà sur Cloudflare
  • La configuration tient en deux parties : un widget sur votre formulaire et un appel de vérification côté serveur à ne surtout pas omettre
  • Il propose les modes de widget managed, non-interactive et invisible pour s’adapter à différents formulaires
  • C’est un remplacement clé en main de reCAPTCHA pour les formulaires de contact, les inscriptions, les connexions et les zones de commentaires

Ce qu’est Cloudflare Turnstile

Cloudflare Turnstile est un remplacement du CAPTCHA qui vérifie que les visiteurs sont humains à l’aide d’une série de challenges de navigateur légers et non intrusifs exécutés en arrière-plan. Au lieu de demander à l’utilisateur de résoudre une énigme, il analyse des signaux issus du navigateur et, dans la plupart des cas, confirme le visiteur en silence. Lorsqu’une interaction est nécessaire, il s’agit généralement d’une simple case à cocher, jamais d’une grille d’images.

Surtout, Turnstile est conçu pour respecter la vie privée. Il ne profile pas les utilisateurs pour vendre de la publicité et ne dépend pas du suivi d’une personne à travers le web. Vous obtenez une protection contre les bots sans transformer vos visiteurs en produit de données, ce qui est de plus en plus important pour les sites soucieux du GDPR.

Il fonctionne aussi sur n’importe quel site. Vous n’avez pas besoin de faire passer votre domaine par le proxy de Cloudflare pour utiliser Turnstile ; le widget et l’API de vérification fonctionnent de partout.

Pourquoi remplacer reCAPTCHA

Les arguments en faveur du changement sont simples :

  • Meilleure expérience utilisateur. Aucune énigme pour les visiteurs légitimes, ce qui signifie moins de formulaires abandonnés.
  • Respect de la vie privée. Turnstile est conçu pour ne pas suivre les utilisateurs à des fins publicitaires, contrairement à l’alternative dominante.
  • Gratuit et généreux. Turnstile est gratuit, avec des limites suffisamment élevées pour la grande majorité des sites.
  • Fonctionne partout. Il n’est pas lié au fait d’avoir votre DNS sur Cloudflare.
  • Intégration simple. Une balise de script, un widget et une seule vérification côté serveur.

Pour la plupart des formulaires de contact, des inscriptions et des systèmes de commentaires, il y a peu de raisons de continuer à payer le coût d’utilisabilité des CAPTCHA traditionnels.

Étape 1 : Créer un widget Turnstile

Dans le tableau de bord Cloudflare, ouvrez Turnstile et ajoutez un nouveau site. Vous indiquez un nom et le ou les noms d’hôte sur lesquels le widget s’exécutera. Cloudflare vous donne deux clés :

  • Une site key (publique) qui va dans votre HTML
  • Une secret key (privée) qui reste sur votre serveur et sert à la vérification

Vous choisissez également un mode de widget :

ModeComportement
ManagedCloudflare décide d’afficher ou non une case à cocher selon le risque (valeur par défaut recommandée)
Non-interactiveS’exécute en silence sans case à cocher
InvisibleTotalement caché ; s’exécute entièrement en arrière-plan

Le mode managed est le point de départ judicieux pour la plupart des formulaires.

Étape 2 : Ajouter le widget à votre formulaire

Incluez le script Turnstile et placez l’élément widget dans votre formulaire. Remplacez YOUR_SITE_KEY par la site key du tableau de bord :

 1<form action="/submit" method="POST">
 2  <input type="email" name="email" required />
 3
 4  <!-- Turnstile widget -->
 5  <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
 6
 7  <button type="submit">Send</button>
 8</form>
 9
10<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

Lorsque le widget s’exécute, il ajoute à votre formulaire un champ caché nommé cf-turnstile-response contenant un jeton à usage unique. C’est ce jeton que votre serveur vérifie à l’étape suivante.

Étape 3 : Vérifier côté serveur (ne sautez pas cette étape)

C’est l’étape qui fournit réellement une protection, et c’est celle que les tutoriels omettent le plus souvent. Le widget seul ne prouve rien ; un attaquant peut soumettre votre formulaire directement. Vous devez récupérer le jeton du formulaire et le valider côté serveur auprès du point de terminaison siteverify de Cloudflare avant de faire confiance à la soumission.

Envoyez le jeton et votre secret key à https://challenges.cloudflare.com/turnstile/v0/siteverify :

 1// Example: Cloudflare Worker or any server-side handler
 2async function verifyTurnstile(token, ip, secret) {
 3  const formData = new FormData();
 4  formData.append("secret", secret);
 5  formData.append("response", token);
 6  if (ip) formData.append("remoteip", ip);
 7
 8  const result = await fetch(
 9    "https://challenges.cloudflare.com/turnstile/v0/siteverify",
10    { method: "POST", body: formData }
11  );
12
13  const outcome = await result.json();
14  return outcome.success === true;
15}

Ne poursuivez l’action du formulaire (envoyer l’e-mail, créer le compte, publier le commentaire) que lorsque outcome.success vaut true. S’il vaut false, rejetez la soumission. N’exposez jamais votre secret key dans du code côté client.

Un détail pratique pour le développement : Cloudflare fournit des clés de test qui réussissent toujours, bloquent toujours ou forcent toujours un challenge interactif, afin de tester chaque chemin avant la mise en production.

Cas d’usage courants de Cloudflare Turnstile

Turnstile s’intègre partout où un bot pourrait commettre des abus :

  • Formulaires de contact pour stopper les soumissions de spam
  • Inscription et enregistrement pour bloquer la création de faux comptes (il se marie bien avec un système d’utilisateurs Cloudflare Pages )
  • Formulaires de connexion pour ralentir les attaques de credential stuffing
  • Zones de commentaires pour réduire le spam sans agacer les vrais lecteurs
  • Inscriptions à la newsletter pour garder votre liste propre

Si vous voulez mettre en place une protection contre les bots correctement sur votre site, vérification côté serveur bien faite comprise, cela fait partie de ce que je couvre dans mon service de sécurité de site web .

Points clés à retenir

  • Turnstile est un remplacement du CAPTCHA gratuit et respectueux de la vie privée, sans énigmes visuelles
  • Il fonctionne sur n’importe quel site, pas seulement ceux dont le DNS est sur Cloudflare
  • L’intégration se compose d’un widget sur le formulaire et d’un appel de vérification côté serveur obligatoire
  • Le mode managed est le meilleur choix par défaut ; les modes non-interactive et invisible existent pour des besoins spécifiques
  • Vérifiez toujours le jeton côté serveur ; le widget seul n’offre aucune protection réelle
  • C’est un remplacement clé en main propre de reCAPTCHA pour les formulaires, les inscriptions, les connexions et les commentaires

Foire aux questions

Cloudflare Turnstile est-il gratuit ? Oui. Turnstile est gratuit, avec des limites suffisamment généreuses pour la grande majorité des sites web. Il n’y a aucun frais pour le widget standard et le flux de vérification.

Mon site doit-il être sur Cloudflare pour utiliser Turnstile ? Non. Turnstile fonctionne sur n’importe quel site, quel que soit l’emplacement de votre DNS ou de votre hébergement. Vous avez seulement besoin d’un compte Cloudflare pour créer le widget et obtenir vos site key et secret key.

Turnstile est-il un bon remplacement pour reCAPTCHA ? Pour la plupart des sites, oui. Il offre une meilleure expérience utilisateur sans énigmes, est conçu pour respecter la vie privée plutôt que de suivre les utilisateurs à des fins publicitaires, et il est gratuit. Il couvre les mêmes cas d’usage : formulaires de contact, inscriptions, connexions et commentaires.

Dois-je vérifier le jeton sur le serveur ? Oui, toujours. Le widget côté client seul ne vous protège pas, car un bot peut soumettre le formulaire directement. Vous devez envoyer le jeton au point de terminaison siteverify de Cloudflare avec votre secret key et ne faire confiance qu’aux soumissions qui renvoient success.

Quels modes de widget Turnstile propose-t-il ? Trois : managed (Cloudflare décide d’afficher ou non une case à cocher selon le risque), non-interactive (silencieux, sans case à cocher) et invisible (totalement caché). Le mode managed est la valeur par défaut recommandée pour la plupart des formulaires.

Puis-je tester Turnstile avant la mise en production ? Oui. Cloudflare fournit des clés de test qui réussissent toujours, bloquent toujours ou forcent toujours un challenge interactif, afin de vérifier chaque chemin de résultat en développement avant de déployer de vraies clés.