Testez vos connaissances : acceder a l'API
Verifiez votre comprehension de la section “Acceder a l’API Claude” avec ces 8 questions.
Question 1 : Securite de la cle API
Pourquoi faut-il appeler l’API Claude depuis un serveur backend et jamais directement depuis le navigateur ?
Voir la reponse
La cle API (ANTHROPIC_API_KEY) serait exposee dans le code source cote client. N’importe qui pourrait l’extraire via les outils de developpement du navigateur et l’utiliser a vos frais. Un serveur backend garde la cle secrete cote serveur, inaccessible aux utilisateurs.
Question 2 : Parametres obligatoires
Quels sont les trois parametres obligatoires pour un appel a client.messages.create() ?
Voir la reponse
model: le modele a utiliser (ex:"claude-sonnet-4-20250514")max_tokens: le nombre maximum de tokens en sortiemessages: la liste des messages de la conversation
Sans ces trois parametres, l’appel echouera.
Question 3 : Conversations multi-tour
L’API Claude conserve-t-elle l’historique des conversations entre les appels ?
Voir la reponse
Non. L’API est stateless (sans etat). Chaque appel est independant. Pour simuler une conversation multi-tour, vous devez renvoyer l’integralite de l’historique (tous les messages precedents) a chaque appel. C’est a votre application de stocker et gerer cet historique.
Question 4 : System prompts
Quelle est la difference entre un system prompt et un message utilisateur ? Ou se place le system prompt dans l’appel API ?
Voir la reponse
Le system prompt definit le comportement, le ton et le role de Claude pour toute la conversation. Il se passe via le parametre system de messages.create(), pas dans la liste messages :
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="Tu es un expert en cybersecurite. Reponds de facon technique et precise.",
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 : Temperature
Quelle est la plage de valeurs pour le parametre temperature et quel est l’effet de ses extremes ?
Voir la reponse
La temperature va de 0.0 a 1.0 :
- 0.0 : reponses les plus deterministes et focalisees. Ideal pour du code, des faits, de l’analyse.
- 1.0 : reponses les plus creatives et variees. Ideal pour de la fiction, du brainstorming, de la creativite.
La valeur par defaut est 1.0. Pour la plupart des cas d’usage en production, une valeur entre 0.0 et 0.5 est recommandee.
Question 6 : Streaming
Quel est l’avantage principal du streaming et comment l’activer avec le SDK Python ?
Voir la reponse
Le streaming permet d’afficher la reponse progressivement au lieu d’attendre 10-30 secondes pour la reponse complete. L’utilisateur voit le texte apparaitre en temps reel.
Activation avec le SDK Python :
with client.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Bonjour"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Question 7 : Pre-remplissage (prefill)
Comment fonctionne le pre-remplissage du message assistant et a quoi sert-il ?
Voir la reponse
On ajoute un message avec role: "assistant" dans la liste messages, contenant le debut de la reponse souhaitee. Claude continue a partir de ce point au lieu de repartir de zero.
messages=[
{"role": "user", "content": "Genere un objet JSON pour un livre."},
{"role": "assistant", "content": "```json\n"}
]
Utilisations : forcer un format de sortie, orienter le ton, eviter les preambules, choisir une langue de reponse.
Attention : le texte retourne par l’API est la suite du prefill, pas la reponse complete.
Question 8 : Stop sequences
Que se passe-t-il quand Claude genere une stop sequence ? Le texte de la stop sequence apparait-il dans la reponse ?
Voir la reponse
Quand Claude genere une stop sequence, il s’arrete immediatement. Le texte de la stop sequence n’apparait pas dans la reponse retournee. Le champ stop_reason du message sera "end_turn" ou "stop_sequence" selon le cas.
Exemple : avec stop_sequences=["```"], si Claude genere {"key": "value"}\n\“, la reponse contiendra uniquement {“key”: “value”}\n`.
C’est ce qui rend la combinaison prefill + stop sequence si efficace pour extraire du contenu structure.
Score
- 8/8 : Excellent, vous maitrisez les fondamentaux de l’API Claude
- 6-7/8 : Bon niveau, relisez les points manques
- < 6/8 : Reprenez les lecons de la section avant de continuer