Écriture idempotente
Opération qui produit le même effet quel que soit le nombre de fois où elle s'exécute. UPDATE users SET email='x' WHERE id=1 est idempotente (l'exécuter 5 fois donne le même résultat). UPDATE counter SET n = n + 1 ne l'est PAS.
Sémantique HTTP : PUT est idempotent par définition, POST ne l'est pas. Les conventions REST recommandent un PUT idempotent pour remplacer une ressource. Les clés d'idempotence (le modèle Stripe) : le client génère un UUID par opération logique, le serveur déduplique via une recherche de clé (typiquement un set Redis avec TTL de 24 h). Cela rend les tentatives sûres : un timeout réseau autorise un nouvel essai sans risquer un double débit. Un UPSERT (INSERT ... ON CONFLICT) est idempotent. Les actions compensatoires du pattern Saga doivent elles aussi l'être.