Ce que vous saurez faire
A la fin de ce tutoriel, vous disposerez d’une bibliothèque réutilisable de system prompts Claude pour votre PME africaine. Vous saurez stocker, versionner et appeler des prompts professionnels pour le service client, la rédaction commerciale, la facturation en FCFA, le support technique et la communication interne. Cette bibliothèque évitera la duplication de code et garantira la cohérence du ton de marque sur tous vos canaux. Vous apprendrez à organiser vos prompts dans un fichier JSON, à les charger dynamiquement depuis Python, à les paramétrer pour des variables comme le nom du client ou la devise FCFA, et à mesurer leur performance. L’approche est conçue pour des équipes de 3 a 15 personnes au Sénégal qui veulent industrialiser leur usage de Claude sans payer une licence d’orchestration.
Etape 1 : Préparer l’environnement Python
Installez Python 3.10 ou supérieur, puis créez un dossier projet nommé claude-prompts-pme. Dans ce dossier, créez un environnement virtuel et installez les dépendances nécessaires.
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install anthropic python-dotenv
Etape 2 : Sécuriser la clé API
Créez un fichier .env a la racine du projet. N’incluez jamais cette clé dans Git. Ajoutez .env au fichier .gitignore avant tout commit.
ANTHROPIC_API_KEY=sk-ant-votre-cle-ici
Etape 3 : Concevoir la structure du fichier de prompts
Créez prompts.json. Chaque prompt aura un identifiant, une description, le texte du system prompt, et une liste de variables attendues. Cette structure permet d’éditer un prompt sans toucher au code.
{
"service_client": {
"description": "Réponse aux demandes clients",
"system": "Tu es un agent de service client pour une PME senegalaise. Tu reponds en francais, poliment, en moins de 150 mots. Devise: FCFA.",
"variables": ["nom_client"]
}
}
Etape 4 : Ajouter les prompts métier essentiels
Complétez prompts.json avec cinq prompts couvrant les besoins courants : service_client, redaction_commerciale, facturation_fcfa, support_technique, communication_interne. Chacun doit préciser le ton, la longueur maximale et la langue.
Etape 5 : Créer le chargeur de prompts
Créez prompt_loader.py. Cette classe lit le fichier JSON, valide la présence des champs obligatoires et substitue les variables.
import json
class PromptLibrary:
def __init__(self, path="prompts.json"):
with open(path, encoding="utf-8") as f:
self.prompts = json.load(f)
def get(self, name, **kwargs):
p = self.prompts[name]
text = p["system"]
for var in p.get("variables", []):
text = text.replace("[" + var + "]", str(kwargs.get(var, "")))
return text
Etape 6 : Construire le client Claude
Créez claude_client.py. Cette fonction encapsule l’appel API et accepte un nom de prompt plus les variables.
import os
from anthropic import Anthropic
from dotenv import load_dotenv
from prompt_loader import PromptLibrary
load_dotenv()
client = Anthropic()
lib = PromptLibrary()
def ask(prompt_name, user_message, **kwargs):
system = lib.get(prompt_name, **kwargs)
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=600,
system=system,
messages=[{"role": "user", "content": user_message}]
)
return msg.content[0].text
Etape 7 : Tester le prompt service client
Créez test_service.py et lancez un appel réel pour vérifier la qualité de la réponse.
from claude_client import ask
print(ask("service_client",
"Mon paiement Wave de 25000 FCFA n'apparait pas",
nom_client="Aminata"))
Etape 8 : Versionner les prompts avec Git
Initialisez un dépôt Git et committez prompts.json. Chaque modification de ton ou de règle métier sera tracée. Utilisez des messages de commit clairs comme prompt service_client v2 ajout politesse wolof.
Etape 9 : Ajouter un système de fallback
Si une clé n’existe pas, votre code doit lever une erreur explicite plutôt que planter. Ajoutez cette protection dans PromptLibrary.
def get(self, name, **kwargs):
if name not in self.prompts:
raise KeyError("Prompt " + name + " absent")
p = self.prompts[name]
text = p["system"]
for var in p.get("variables", []):
text = text.replace("[" + var + "]", str(kwargs.get(var, "")))
return text
Etape 10 : Logger chaque appel
Créez un fichier logs.csv avec date, prompt utilisé, tokens consommés et coût estimé en FCFA. Cela vous permettra de suivre votre budget mensuel Claude.
import csv
from datetime import datetime
def log_call(prompt_name, tokens_in, tokens_out):
cout_fcfa = (tokens_in * 0.0018 + tokens_out * 0.009) * 600
with open("logs.csv", "a", encoding="utf-8") as f:
w = csv.writer(f)
w.writerow([datetime.now(), prompt_name, tokens_in, tokens_out, cout_fcfa])
Etape 11 : Créer une interface en ligne de commande
Créez cli.py pour que votre équipe non technique puisse utiliser la bibliothèque sans coder. Le script demande le nom du prompt et le message.
from claude_client import ask
nom = input("Prompt : ")
msg = input("Message : ")
print(ask(nom, msg))
Etape 12 : Documenter chaque prompt
Ajoutez un champ exemples dans prompts.json. Listez 2 ou 3 cas d’usage type. Cela facilite la prise en main par un nouveau collaborateur a Dakar ou Thies.
Etape 13 : Mettre en place une revue mensuelle
Programmez le premier lundi du mois une réunion de 30 minutes pour analyser logs.csv. Identifiez les prompts les plus utilisés, les coûts par département et les améliorations a apporter.
Etape 14 : Déployer la bibliothèque sur un serveur partagé
Hébergez le code sur un VPS ou un dossier réseau. Assurez-vous que le fichier .env reste protégé. Donnez accès en lecture seule a vos collaborateurs et en écriture uniquement au responsable IT.
Erreurs
Erreur fréquente : oublier d’échapper les caractères spéciaux dans les messages clients qui peuvent contenir des accents ou des symboles. Toujours utiliser encoding utf-8 lors de l’ouverture des fichiers. Erreur de coût : ne pas limiter max_tokens, ce qui peut générer des réponses de 4000 tokens et coûter 50 FCFA par appel au lieu de 10. Erreur de sécurité : committer le fichier .env. Erreur métier : utiliser un prompt service client pour de la rédaction commerciale, le ton sera inadapté. Erreur de version : modifier prompts.json en production sans tester localement, ce qui peut casser tous les appels en cours.
Checklist
Vérifiez ces points avant de mettre en production. Python 3.10 installé. Environnement virtuel actif. Fichier .env présent et exclu de Git. prompts.json contient au moins 5 prompts métier validés. PromptLibrary lève une erreur claire si un prompt manque. claude_client.py limite max_tokens a 600 par défaut. logs.csv enregistre chaque appel avec coût en FCFA. cli.py fonctionne pour un utilisateur non technique. Revue mensuelle planifiée dans le calendrier de l’équipe. Documentation de chaque prompt avec au moins 2 exemples. Sauvegarde quotidienne du dossier projet sur un disque externe ou un cloud sécurisé.