oliweb/statamic-cap

Statamic addon for Cap CAPTCHA (proof-of-work) integration

Maintainers

Package info

github.com/oli217/statamic-cap

Type:statamic-addon

pkg:composer/oliweb/statamic-cap

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-05-07 14:01 UTC

This package is auto-updated.

Last update: 2026-05-07 14:04:15 UTC


README

Addon Statamic pour intégrer Cap — un CAPTCHA proof-of-work auto-hébergé — dans les formulaires Statamic.

Basé sur oliweb/laravel-cap.

Prérequis

  • PHP 8.2+
  • Statamic 5.x
  • Une instance Cap auto-hébergée

Installation

composer require oliweb/statamic-cap

Publier la configuration :

php artisan vendor:publish --tag=statamic-cap-config

Publier les assets du widget (JS + CSS) :

php artisan vendor:publish --tag=cap-assets

Configuration

Via le panneau Statamic CP

Accéder à Réglages > Cap dans le panneau d'administration Statamic.

Champ Description
Cap Endpoint URL URL complète de votre instance Cap, incluant le site-key (ex : https://cap.example.com/votre-site-key/)
Secret Key Clé secrète générée dans le tableau de bord Cap
Token Field Name Nom du champ hidden injecté par le widget (défaut : cap-token)
Timeout (seconds) Délai avant abandon de la requête vers /siteverify (défaut : 5)
Fail Open Si activé, laisse passer la requête en cas d'erreur de communication avec Cap

Via variables d'environnement

CAP_ENDPOINT=https://cap.example.com/votre-site-key/
CAP_SECRET=votre-cle-secrete
CAP_TOKEN_FIELD=cap-token
CAP_TIMEOUT=5
CAP_FAIL_OPEN=false

Utilisation

Tags Antlers

Ajouter le widget Cap dans un formulaire Statamic :

{{ form:create handle="contact" }}

    {{ cap }}

    <button type="submit">Envoyer</button>

{{ /form:create }}

Charger les assets dans le layout :

<head>
    {{ cap:styles }}
</head>
<body>
    ...
    {{ cap:scripts }}
</body>

Avec nonce CSP

{{ cap:scripts nonce="{ $cspNonce }" }}
{{ cap nonce="{ $cspNonce }" }}

Validation automatique

La vérification du token est automatique : l'addon écoute l'événement FormSubmitted de Statamic et rejette la soumission si le token est invalide ou absent. Aucune configuration supplémentaire n'est nécessaire.

En cas d'échec, une erreur de validation est retournée avec le message du fichier de traduction statamic-cap::messages.validation_failed.

Traductions

Les traductions sont disponibles en anglais et en français.

Pour les personnaliser, publier les fichiers de langue :

php artisan vendor:publish --tag=cap-lang

Licence

MIT