# Authentification

> Chaque requête amodb porte une clé : 32 caractères hexadécimaux en minuscules. Envoyez-la dans api_key ou dans un en-tête Authorization: Bearer pour les appels de style TMDB, et dans apikey pour ceux de style OMDb. Les images n'exigent aucune clé. Une mauvaise clé renvoie 401 avec status_code 7, une clé suspendue 401 avec status_code 10.

## Format de la clé

Une clé fait 32 caractères hexadécimaux en minuscules, par exemple `0123456789abcdef0123456789abcdef`. Elle a la même forme qu'une clé TMDB v3 : les champs et les validateurs conçus pour les clés TMDB l'acceptent.

amodb ne stocke qu'un hachage SHA-256 de chaque clé. La clé complète n'est affichée qu'une fois, à sa création. Si vous la perdez, supprimez-la et créez-en une nouvelle.

## Appels de style TMDB

Envoyez la clé de l'une des deux façons. Les deux fonctionnent sur tous les points de terminaison sous `https://api.amodb.dev/3`.

| Méthode              | Exemple                          |
| -------------------- | -------------------------------- |
| Paramètre de requête | `?api_key=YOUR_KEY`              |
| En-tête              | `Authorization: Bearer YOUR_KEY` |

```bash
curl "https://api.amodb.dev/3/configuration" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const res = await fetch("https://api.amodb.dev/3/configuration", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
```

```python
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/configuration",
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
```

```php
<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);
```

```go
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)
```

## Appels de style OMDb

Le point de terminaison compatible OMDb prend la clé sous le nom `apikey`, comme OMDb. C'est la même clé que pour les appels de style TMDB.

```bash
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"
```

## Les images n'exigent aucune clé

Les URL d'images sur `img.amodb.dev` sont publiques. N'y ajoutez pas votre clé : une balise `<img>` l'exposerait à chaque visiteur.

## Gardez les clés côté serveur

Une clé placée dans un bundle de navigateur, une application mobile ou un dépôt public est publique. Quiconque la copie dépense votre débit. Appelez amodb depuis votre serveur, une fonction serverless ou une étape de build, et ne transmettez que les données aux clients.

- Stockez la clé dans une variable d'environnement ou un gestionnaire de secrets.
- Utilisez une clé par application ou par environnement, avec un libellé comme `production` ou `staging`.
- Supprimez une clé dès qu'elle fuite. Les appels qui l'utilisent échouent aussitôt.

## Erreurs

| HTTP | status_code | Signification                                                            |
| ---- | ----------- | ------------------------------------------------------------------------ |
| 401  | 7           | La clé est absente, mal formée ou inconnue.                              |
| 401  | 10          | La clé est suspendue. Écrivez à <support@amodb.dev>.                     |
| 402  | 36          | Votre offre a expiré. Payez une nouvelle période sur la page des tarifs. |

Voir [les erreurs](https://amodb.dev/fr/errors/) pour tous les codes.

## Questions et réponses

### Un en-tête Bearer est-il plus sûr que api_key dans la requête ?

Oui, un peu. Les chaînes de requête se retrouvent plus souvent que les en-têtes dans les journaux de serveur et l'historique du navigateur. Les deux passent par la même vérification : utilisez donc l'en-tête quand votre client le permet.

### Combien de clés puis-je créer ?

Jusqu'à 10 clés actives par compte. Toutes partagent le débit de votre offre : une deuxième clé n'ajoute donc pas de capacité.

### Que deviennent mes clés quand je change d'offre ?

Vous n'avez rien à faire. Chaque clé active prend le nouveau débit dans la minute qui suit le paiement.

## Pages liées

- [Démarrage rapide](https://amodb.dev/fr/quickstart/): Faites votre premier appel amodb : obtenez une clé, demandez un film en curl, JavaScript, Python, PHP ou Go, puis chargez l'affiche. En moins de 2 minutes.
- [Limites de débit](https://amodb.dev/fr/rate-limits/): amodb limite chaque clé en requêtes par minute sur une fenêtre glissante de 60 secondes : 20, 40 ou 120 selon l'offre. Lisez les en-têtes et gérez le 429.
- [Erreurs](https://amodb.dev/fr/errors/): Chaque erreur amodb : statut HTTP, status_code et message TMDB, plus la forme d'erreur OMDb. Ce que chacune signifie et ce que votre client doit faire.
- [Politique d'utilisation acceptable](https://amodb.dev/fr/acceptable-use/): Usages permis avec amodb : apps, sites, bots, recherche. Interdit : partager les clés, revendre l'accès, contourner les limites, attaquer le service.

Mis à jour: 2026-10-18. Source: https://amodb.dev/fr/authentication/
