Tutorials

Localiser les notifications de l'extension CaptchaAI pour les non-anglophones

Périmètre sûr : Ce guide s'applique exclusivement à vos propres applications, à vos environnements de QA, de préproduction ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne porte pas sur l'automatisation de sites tiers que vous ne contrôlez pas.

L'extension CaptchaAI affiche ses messages d'état en anglais : « solving », « solved », un code d'erreur brut. Pour des opérateurs à Bruxelles, Montréal ou Casablanca, ces libellés ralentissent le diagnostic et gonflent le support. Inutile d'attendre une option de langue : en traitant l'extension comme un workflow de navigateur reproductible, vous présentez chaque état dans la langue de vos opérateurs, là où ils le lisent — journaux, tableaux de bord et écrans internes.

Ce que l'extension notifie réellement

Chaque état observable de l'extension doit correspondre à un message clair en français, sans toucher à son code. Établissez cette table de correspondance une fois, puis réutilisez-la partout :

État de l'extension Message opérateur (fr)
solving Résolution du défi en cours…
solved / token injecté Défi résolu, le parcours continue
ERROR_ZERO_BALANCE Solde insuffisant : rechargez le compte
ERROR_WRONG_USER_KEY Clé API invalide : vérifiez le secret CI
tâche non résolue Échec : nouvelle tentative en cours

Le déroulé, identique pour chaque famille

Le même enchaînement vaut pour toutes les familles prises en charge — reCAPTCHA v2 et v3, Cloudflare Turnstile, GeeTest v3, image/OCR et grilles :

  1. Capturez les paramètres exacts attendus par la famille CAPTCHA (sitekey, URL, action éventuelle).
  2. Envoyez la tâche à l'API et conservez l'identifiant retourné.
  3. Interrogez le résultat régulièrement, avec un plafond de délai par tâche.
  4. Appliquez le token dans la même session que celle qui a déclenché le défi.
  5. Mesurez la latence, les retries et l'acceptation en aval, chacun tracé séparément.

Encapsuler l'appel dans une fonction réutilisable

Encapsulez l'appel à CaptchaAI dans une fonction réutilisable qui prend la sitekey et l'URL de votre propre page et retourne un token. Cette abstraction est l'endroit unique où vous associez un message localisé à chaque code retour.

import fetch from 'node-fetch';

const API_KEY = process.env.CAPTCHAAI_KEY;

export async function createTurnstileTask(siteKey, pageUrl) {
  const res = await fetch('https://api.captchaai.com/createTask', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: 'TurnstileTaskProxyless',
        websiteURL: pageUrl,
        websiteKey: siteKey,
      },
    }),
  });
  const data = await res.json();
  return data.taskId;
}

Vérifier le token et journaliser dans la bonne langue

Le token doit être vérifié par votre propre backend avant toute opération métier, et appliqué dans la même session que le défi — même contexte de navigateur, même file de cookies. Une session incohérente reste la première cause de rejet après résolution. Instrumentez ensuite chaque appel et séparez les journaux par environnement, corrélés à votre traçage distribué (OpenTelemetry). Côté conformité, minimisez les données personnelles écrites dans les logs, ce qui simplifie vos obligations RGPD.

Exemple : une astreinte multilingue

Une équipe de QA répartie entre Paris et Casablanca lance chaque nuit un lot de tests sur des formulaires internes. Le plan BASIC ($15/mois, 5 threads) suffit à cinq résolutions simultanées, et les journaux localisés permettent à l'astreinte de lire un incident sans traducteur. Quand le volume grimpe, vous montez de palier sans toucher à la couche de présentation.

Dépannage

Symptôme Cause probable Correctif
Token refusé après résolution Token appliqué dans une autre session Gardez le même contexte de navigateur et la même file de cookies.
ERROR_ZERO_BALANCE répété Solde sous le minimum par tâche Rechargez le compte et ajoutez une alerte de solde.
Message d'état resté en anglais État absent de la table de correspondance Complétez la table et rejouez le scénario en QA.

Liste de contrôle

  • Le périmètre est strictement limité à vos propres applications ou à des sources autorisées.
  • La clé CaptchaAI est stockée dans un secret CI ou un coffre, jamais dans le code source.
  • Chaque état de l'extension est associé à un message localisé unique et testé.
  • Les durées et codes retour sont tracés ; un retry idempotent couvre les erreurs transitoires.

FAQ

L'extension CaptchaAI affiche-t-elle nativement ses messages en français ?

Son interface est en anglais par défaut. La méthode fiable consiste à mapper ses états observables vers des messages localisés dans votre propre couche de présentation : journaux, tableaux de bord et écrans internes.

Comment présenter une erreur de l'API à un opérateur non anglophone ?

Traduisez le code en une consigne actionnable. Un solde insuffisant devient « Rechargez le compte CaptchaAI avant de relancer le lot » ; un token rejeté devient « Conservez le même contexte de navigateur ». Le code brut, lui, reste dans les journaux techniques.

Que faire en cas d'erreur transitoire de l'API ?

Appliquez un retry avec backoff exponentiel borné (trois tentatives, doublement du délai, plafond à 30 s). Tracez les échecs avec leur identifiant de tâche, et affichez un message localisé indiquant qu'une nouvelle tentative est en cours plutôt qu'une erreur brute.

Guides connexes

Donnez à vos opérateurs des messages qu'ils comprennent du premier coup. – Obtenez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.