AubeCaptcha

Prouver qu'un visiteur est humain, sans le surveiller.

AubeCaptcha protège vos formulaires contre les robots avec un widget embeddable et une API de vérification, comme les grands services américains, mais hébergé au Québec par L'Aube Étoilée : aucun cookie, aucun profilage, aucune donnée revendue.

Défi invisible par preuve de travail, ou code image généré localement. Adresses IP tronquées avant journalisation. Conforme à la Loi 25.

Démonstration

Le widget ci-contre est branché sur un site de démonstration réel. Cochez la case : votre navigateur résout un petit défi cryptographique, puis le formulaire reçoit un jeton. Le bouton « Envoyer » fait vérifier ce jeton par le serveur, exactement comme le ferait votre application.

  • Aucune image de passages piétons à cliquer.
  • Aucun cookie déposé, aucune requête vers un tiers.
  • Moins d'une seconde sur un téléphone récent.
  • Aux couleurs de votre site : thème sombre, accent, coins, taille.

Intégration en trois étapes

  1. Créez votre site dans le tableau de bord : vous recevez une clé publique (sitekey) et un secret. Déclarez-y vos domaines : la clé n'est plus utilisable ailleurs. Le tableau de bord donne ensuite le code déjà rempli avec votre clé. Pas informaticien ? Le guide pas à pas reprend tout sans jargon.
  2. Posez le widget dans votre formulaire :
    <script src="https://captcha.aubeetoilee.com/widget.js" async defer></script>
    
    <form method="POST" action="/votre-traitement">
      ...
      <div class="aubecaptcha" data-sitekey="VOTRE_SITEKEY"></div>
      <button>Envoyer</button>
    </form>
    Le widget ajoute un champ caché aubecaptcha-token au formulaire une fois le défi réussi.
  3. Vérifiez côté serveur à la réception du formulaire :
    import requests
    
    r = requests.post("https://captcha.aubeetoilee.com/api/verify", json={
        "secret": "VOTRE_SECRET",
        "token": request.form["aubecaptcha-token"],
    }, timeout=10)
    if not r.json().get("success"):
        abort(400, "Vérification anti-robot refusée")
    Chaque jeton est à usage unique et expire après cinq minutes. La réponse porte aussi hostname, le domaine d'où le défi a réellement été résolu.

Pourquoi pas des images à cliquer

Parce qu'une machine reconnaît aujourd'hui un passage piéton mieux qu'un humain pressé, et que la résolution en masse se vend pour quelques sous. L'énigme ne sépare plus personne de rien.

AubeCaptcha ne demande donc pas au visiteur de prouver son intelligence, mais de payer un droit de passage : quelques centièmes de seconde de calcul, invisibles pour une personne, ruineux pour qui vise cent mille inscriptions. Le montant du péage se règle par formulaire, dans le tableau de bord. Détails dans le guide.

Référence de l'API

Point d'accèsRôle
POST /api/challenge Crée un défi pour une sitekey. Utilisé par le widget ; corps {"sitekey": "..."}.
POST /api/answer Soumet la réponse au défi (nonce de preuve de travail ou texte du code image). Retourne le jeton en cas de succès.
POST /api/verify Vérification serveur-à-serveur du jeton avec votre secret. Accepte aussi les champs secret / response en formulaire, comme reCAPTCHA, pour migrer sans changer votre code.

Deux modes de défi par site : preuve de travail (invisible, recommandé) ou code image (visible, plus strict). Le mode se choisit dans le tableau de bord.