---
title: SDK Vue
---
# SDK Vue
Composant Vue 3 officiel pour le CAPTCHA CaptchaLa — publié sous [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue).
## Démo en ligne
::: tip 📦
[demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — démo exécutable avec les quatre modes produit.
Source : [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example).
:::
## Installation
```bash
npm install @captcha-la/vue
# or
yarn add @captcha-la/vue
# or
pnpm add @captcha-la/vue
```
Dépendance pair : `vue@^3.2.0`.
## Démarrage rapide
```vue
```
## Props
| Prop | Type | Valeur par défaut | Description |
|------|------|---------|-------------|
| `appKey` | `string` | *requis* | Clé d'application CaptchaLa |
| `serverToken` | `string` | - | Token de challenge émis par le serveur, à usage unique. Requis lorsque l'application a `server_token_required=true`. |
| `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Mode d'affichage |
| `action` | `string` | `'default'` | Identifiant de l'action (par ex. `login`, `register`, `checkout`) |
| `lang` | `string` | `'zh-CN'` | Code de langue (`zh-CN`, `en`, `ja`, …) |
| `bindTo` | `string \| HTMLElement` | - | Sélecteur ou nœud d'élément auquel se lier (uniquement pour `product="bind"`) |
## Événements
| Événement | Charge utile | Description |
|-------|---------|-------------|
| `success` | `{ token, type, action }` | Vérification réussie |
| `error` | `error` | Vérification échouée |
| `close` | — | CAPTCHA fermé |
| `ready` | — | CAPTCHA prêt |
## Méthodes (via `ref`)
```vue
```
| Méthode | Description |
|--------|-------------|
| `verify()` | Déclenche la vérification |
| `reset()` | Réinitialise l'état du CAPTCHA |
| `destroy()` | Détruit l'instance |
| `bindTo(selector)` | Lie à un élément (pour le mode `bind`) |
| `setLang(lang)` | Change la langue à la volée |
## Production : mode `serverToken`
Pour les flux à forte valeur (connexion, inscription, paiement), nous recommandons le **flux de token
émis par le serveur**. Votre backend génère un `server_token` à usage unique (TTL de 5 minutes) via
`POST /v1/server/challenge/issue` et le transmet au navigateur :
```vue
```
Consultez la [Référence de l'API](/fr/api-reference) pour le contrat backend complet.
## Liens
- [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [exemple](https://github.com/Captcha-La/vue-example)
- [Vue d'ensemble du SDK Web](/fr/web-sdk) · [Référence de l'API](/fr/api-reference)