Aller au contenu principal

Testez vos connaissances : accéder à l'API

Mis à jour le 28 juillet 2026

Vérifiez votre compréhension de la section “Accéder à l’API Claude” avec ces 8 questions.


Question 1 : Sécurité de la clé API

Pourquoi faut-il appeler l’API Claude depuis un serveur backend et jamais directement depuis le navigateur ?

Voir la réponse

La clé API (ANTHROPIC_API_KEY) serait exposée dans le code source côté client. N’importe qui pourrait l’extraire via les outils de développement du navigateur et l’utiliser à vos frais. Un serveur backend garde la clé secrète côté serveur, inaccessible aux utilisateurs.


Question 2 : Paramètres obligatoires

Quels sont les trois paramètres obligatoires pour un appel à client.messages.create() ?

Voir la réponse
  1. model : le modèle à utiliser (ex: "claude-sonnet-5")
  2. max_tokens : le nombre maximum de tokens en sortie
  3. messages : la liste des messages de la conversation

Sans ces trois paramètres, l’appel échouera.


Question 3 : Conversations multi-tour

L’API Claude conserve-t-elle l’historique des conversations entre les appels ?

Voir la réponse

Non. L’API est stateless (sans état). Chaque appel est indépendant. Pour simuler une conversation multi-tour, vous devez renvoyer l’intégralité de l’historique (tous les messages précédents) à chaque appel. C’est à votre application de stocker et gérer cet historique.


Question 4 : System prompts

Quelle est la différence entre un system prompt et un message utilisateur ? Ou se place le system prompt dans l’appel API ?

Voir la réponse

Le system prompt définit le comportement, le ton et le rôle de Claude pour toute la conversation. Il se passe via le paramètre system de messages.create(), pas dans la liste messages :

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system="Tu es un expert en cybersécurité. Réponds de façon technique et précise.",
    messages=[{"role": "user", "content": "Qu'est-ce qu'une injection SQL ?"}]
)

Le system prompt n’est pas un message de la conversation — c’est une instruction globale.


Question 5 : Température

Quelle est la plage de valeurs pour le paramètre temperature et quel est l’effet de ses extrêmes ?

Voir la réponse

La température va de 0.0 à 1.0 :

  • 0.0 : réponses les plus déterministes et focalisées. Idéal pour du code, des faits, de l’analyse.
  • 1.0 : réponses les plus créatives et variées. Idéal pour de la fiction, du brainstorming, de la créativité.

La valeur par défaut est 1.0. Pour la plupart des cas d’usage en production, une valeur entre 0.0 et 0.5 est recommandée.


Question 6 : Streaming

Quel est l’avantage principal du streaming et comment l’activer avec le SDK Python ?

Voir la réponse

Le streaming permet d’afficher la réponse progressivement au lieu d’attendre 10-30 secondes pour la réponse complète. L’utilisateur voit le texte apparaître en temps réel.

Activation avec le SDK Python :

with client.messages.stream(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Bonjour"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Question 7 : Pré-remplissage (prefill)

Comment fonctionne le pré-remplissage du message assistant et à quoi sert-il ?

Voir la réponse

On ajoute un message avec role: "assistant" dans la liste messages, contenant le début de la réponse souhaitée. Claude continue à partir de ce point au lieu de repartir de zéro.

messages=[
    {"role": "user", "content": "Génère un objet JSON pour un livre."},
    {"role": "assistant", "content": "```json\n"}
]

Utilisations : forcer un format de sortie, orienter le ton, éviter les préambules, choisir une langue de réponse.

Attention : le texte retourné par l’API est la suite du prefill, pas la réponse complète.


Question 8 : Stop sequences

Que se passe-t-il quand Claude génère une stop sequence ? Le texte de la stop sequence apparaît-il dans la réponse ?

Voir la réponse

Quand Claude génère une stop sequence, il s’arrête immédiatement. Le texte de la stop sequence n’apparaît pas dans la réponse retournée. Le champ stop_reason du message sera "end_turn" ou "stop_sequence" selon le cas.

Exemple : avec stop_sequences=["```"], si Claude génère {"key": "value"}\n\“, la réponse contiendra uniquement {“key”: “value”}\n`.

C’est ce qui rend la combinaison prefill + stop séquence si efficace pour extraire du contenu structuré.


Score

  • 8/8 : Excellent, vous maîtrisez les fondamentaux de l’API Claude
  • 6-7/8 : Bon niveau, relisez les points manqués
  • < 6/8 : Reprenez les leçons de la section avant de continuer