Idempotence
Propriété d'une opération qui produit le même résultat qu'on l'exécute une ou plusieurs fois.
AvancéDéfinition complète
Une opération idempotente donne le même résultat qu'on la lance 1 fois ou 100 fois. C'est crucial en automatisation : si un webhook se déclenche 3 fois pour le même événement (ce qui arrive), une action idempotente ne crée pas 3 factures mais une seule. Exemple idempotent : 'mettre le statut du client à actif' (le faire 10 fois ne change rien). Exemple non-idempotent : 'ajouter 10 euros au solde' (le faire 10 fois ajoute 100 euros). En n8n, assure-toi que tes workflows sont idempotents en utilisant des upserts au lieu d'inserts et en vérifiant l'existence avant de créer.
Analogie pour comprendre
Appuyer sur le bouton 'allumer la lumière' est idempotent : que tu appuies 1 ou 10 fois, la lumière est allumée. Appuyer sur le bouton '+1 article au panier' n'est pas idempotent : chaque appui ajoute un article.
En pratique
Un webhook Stripe notifie n8n d'un paiement. À cause d'un retry réseau, le webhook arrive 3 fois. Un workflow non-idempotent crée 3 comptes client. Un workflow idempotent vérifie d'abord si le client existe (via l'ID Stripe) et ne crée le compte que si absent. Résultat : 1 seul compte, peu importe le nombre de webhooks.
Outils associés
Termes liés
Pour aller plus loin
Questions fréquentes
1) Utilise des identifiants uniques (ID Stripe, ID commande), 2) Vérifie l'existence avant de créer (SELECT avant INSERT), 3) Utilise l'upsert (INSERT OR UPDATE), 4) Stocke les événements traités pour éviter les doublons.
Pour les actions critiques (paiements, création de comptes, envoi d'emails), oui absolument. Pour les logs ou les notifications non-critiques, c'est moins important.