Glossaire

Qu'est-ce qu'un CAPTCHA ?

Un CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) est un système de défi-réponse utilisé par les sites web pour distinguer les visiteurs humains des robots automatisés, généralement en demandant au visiteur de résoudre une énigme facile pour un humain mais difficile pour un logiciel.

Comprenez le fonctionnement des CAPTCHA, pourquoi ils apparaissent, les variantes modernes (image, audio, invisible, comportemental) et comment éviter de les déclencher lors du scraping.

Expliqué

Un CAPTCHA est le défi de détection de bots que vous voyez lorsqu'un site web pense que votre trafic pourrait être automatisé. La forme classique est une image de texte déformé que vous devez lire ; les formes modernes sont des puzzles de grilles d'images ('sélectionnez tous les carrés avec des feux de circulation'), des défis audio et des CAPTCHA comportementaux / invisibles qui observent comment vous interagissez avec la page et vous notent silencieusement comme humain ou bot avant même que vous sachiez qu'il y a une vérification.

Les principaux fournisseurs de CAPTCHA aujourd'hui sont Google reCAPTCHA (v2, v3 et le niveau Enterprise) et hCaptcha, tous deux largement utilisés derrière des stacks anti-bot comme Cloudflare et Akamai. Cloudflare propose également son propre défi Turnstile comme alternative à reCAPTCHA / hCaptcha. Chaque système utilise un mélange différent de puzzles d'images, de fingerprinting de navigateur, d'analyse des mouvements de souris/clavier et de réputation IP pour calculer un score de 'probabilité humaine'.

Pour les flux de travail de scraping et de collecte de données, la bonne réponse à un défi CAPTCHA n'est pas de le résoudre -- c'est d'éviter de le déclencher en premier lieu. Les CAPTCHA se déclenchent lorsque la requête semble suspecte (IP de datacenter, en-têtes manquants, empreinte incohérente, cadence en rafale), donc la solution la plus propre est l'hygiène : IP résidentielles / mobiles, en-têtes de navigateur modernes, timing réaliste et empreintes TLS correctes. Lorsqu'un CAPTCHA apparaît, la rotation vers une nouvelle IP atteint généralement un chemin propre.

Comment ça fonctionne

Lorsqu'une requête arrive, le site web (ou son fournisseur anti-bot) calcule un score de risque en utilisant des signaux tels que : la réputation de l'IP source (datacenter ? abus récent ? pays ?), l'empreinte du navigateur (User-Agent, sec-ch-ua, taille d'écran, plugins), l'empreinte de la poignée de main TLS (JA3/JA4), les signaux comportementaux (mouvement de la souris, timing des touches, temps passé sur la page) et la réputation historique des cookies / jetons.

Si le score est en dessous du seuil de confiance humaine, le système insère un défi CAPTCHA dans la réponse. Le défi demande au client d'effectuer une tâche (lire du texte, cliquer sur des images correspondantes, passer une vérification comportementale invisible) et de soumettre un jeton au serveur. Sans jeton valide, le serveur rejette les requêtes suivantes.

Types

CAPTCHA textuel

Images de texte déformé que l'utilisateur doit lire et saisir. La forme classique, aujourd'hui largement abandonnée car la reconnaissance optique de caractères et le machine learning permettent de les résoudre.

CAPTCHA grille d'images (reCAPTCHA v2)

'Sélectionnez toutes les cases contenant des feux de circulation / passages piétons / bouches d'incendie.' Courant comme solution de repli lorsque le reCAPTCHA invisible signale la requête.

CAPTCHA invisible / comportemental (reCAPTCHA v3, Turnstile)

Aucune interaction utilisateur requise dans la plupart des cas. Le système analyse passivement l'empreinte de la page et du visiteur, puis renvoie un score (0.0 = robot, 1.0 = humain). Le site décide du seuil à appliquer.

CAPTCHA audio

Défis de chiffres ou de mots prononcés à voix haute, principalement utilisés comme solution d'accessibilité pour les CAPTCHA visuels.

hCaptcha

Une alternative à reCAPTCHA utilisée par Cloudflare et de nombreux sites soucieux de la vie privée. Fonctionnellement similaire : défis en grille d'images et signaux comportementaux, avec une politique et un modèle économique différents.

Cas d'utilisation courants

Prévention du spam dans les formulaires d'inscription et de contact
Limitation des tentatives de connexion contre le credential stuffing
Défense contre les robots dans les commentaires et forums
Défense contre les robots de réservation (billets, sneakers, réservations)
Dissuasion du scraping sur les API et pages protégées
FAQ

Foire aux questions

Questions fréquentes sur captcha.

Votre trafic déclenche un signal 'ressemble à un robot'. Les causes les plus fréquentes : des IP de datacenter (signalées immédiatement), des en-têtes de navigateur manquants ou incohérents, l'absence de moteur JavaScript alors que le site en attend un, un rythme de requêtes trop intense depuis la même IP, ou des empreintes TLS obsolètes. Passez à des proxies résidentiels, envoyez des en-têtes modernes et espacez vos requêtes.

Mieux vaut les éviter que les résoudre. Utilisez des proxies résidentiels ou mobiles, faites tourner les IP avec une bonne hygiène (nouvelle IP par classe de session, User-Agent récent, en-têtes `sec-ch-ua` correspondants), espacez les requêtes de plusieurs secondes et utilisez un client HTTP avec une empreinte TLS correcte. Lorsqu'un CAPTCHA apparaît, changez d'IP plutôt que d'essayer de le résoudre.

Pour la plupart des charges de scraping, non. Les services de résolution de CAPTCHA (2Captcha, Anti-Captcha, etc.) sont lents, coûteux, et révèlent que votre profil de trafic est incorrect. Corrigez le signal en amont (type d'IP, en-têtes, empreinte, cadence) et les CAPTCHA cesseront en grande partie d'apparaître. N'utilisez les solveurs qu'en dernier recours pour les défis rares et inévitables.

Ils réduisent considérablement leur fréquence. Les IP résidentielles seules ne font pas disparaître les CAPTCHA — le comportement et l'empreinte comptent aussi — mais passer des datacenters au résidentiel est généralement la plus grande amélioration disponible en matière de taux de CAPTCHA.

La v2 est la case à cocher explicite «Je ne suis pas un robot» avec une grille d'images en solution de repli. La v3 est la vérification comportementale invisible qui renvoie un score de 0,0 à 1,0 ; le site décide du seuil. De nombreux sites utilisent aujourd'hui la v3 par défaut et ne reviennent aux défis v2 que lorsque le score v3 est faible.

Il n'existe pas de loi interdisant la résolution de CAPTCHA en tant que telle. La légalité dépend de ce que vous scrapez et de la manière dont vous le faites. Le scraping de données publiques est globalement légal ; utiliser des solveurs de CAPTCHA pour contourner l'authentification, les contrôles des conditions d'utilisation ou les lois sur la fraude informatique ne l'est pas. Consultez un conseiller juridique pour les cas d'usage à fort volume.