Terminez d'abord "Leçon 3 : Connecter des applications et travailler avec les données" pour débloquer cette leçon.Aller à la leçon précédente

Pourquoi la logique et la gestion des erreurs sont essentielles

Un workflow qui se contente de transférer des données de A à B est fragile. Les processus métier réels doivent prendre des décisions : ne notifier l'équipe commerciale que lorsque la valeur d'un deal dépasse un certain seuil, n'enregistrer des fiches que lorsque les champs requis sont remplis, et surtout continuer à fonctionner lorsqu'un incident survient de manière inattendue. Sans branchement ni gestion des erreurs, une seule mauvaise réponse d'API peut casser silencieusement l'ensemble de votre pipeline.

Dans n8n, la logique et la gestion des erreurs reposent sur un petit ensemble de nœuds que vous combinez comme des briques LEGO. Le nœud IF branche votre flux. Le nœud Switch gère le routage multi-voies. Le nœud Filter supprime les éléments indésirables avant qu'ils n'atteignent les nœuds en aval. Le nœud Stop and Error, ainsi que le workflow Error Trigger, vous permettent d'intercepter les échecs et d'y réagir.

Brancher avec le nœud IF

Le nœud IF évalue une condition sur chaque élément et envoie les résultats vrais sur un chemin, les résultats faux sur un autre. C'est votre outil principal pour les décisions à deux sorties.

json
{
"conditions": {
"number": [
{
"value1": "{{ $json.amount }}",
"operation": "larger",
"value2": 1000
}
]
}
}

Dans l'exemple ci-dessus, le nœud vérifie si le champ amount de chaque élément entrant est supérieur à 1000. Les éléments qui passent continuent sur la branche true. Les éléments qui échouent basculent sur la branche false où vous pouvez les router vers une autre action, par exemple une alerte Slack ou une file d'attente basse priorité.

Pour plus de deux chemins possibles, utilisez le nœud Switch. Il fonctionne comme une instruction switch en code : vous définissez des règles, et la première règle correspondante détermine la sortie que prendra l'élément.

schéma d'un flux de branchement avec un nœud IF à2 branches true et false menant à des actions différentes

Filtrer les éléments proprement

Parfois vous n'avez pas besoin de deux branches. Vous voulez simplement supprimer les éléments qui ne correspondent pas à une condition et continuer. Le nœud Filter fait exactement cela. Il se place entre deux nœuds et écarte silencieusement les éléments qui échouent à la condition.

json
{
"conditions": {
"string": [
{
"value1": "{{ $json.status }}",
"operation": "equals",
"value2": "active"
}
]
}
}

Utilisez Filter lorsque l'action en aval ne doit recevoir que des éléments valides. Utilisez IF lorsque les deux branches ont besoin de leur propre logique de suite. La distinction est importante : un nœud IF continue de transmettre les éléments false sauf si vous les arrêtez ou les redirigez explicitement, tandis que Filter les supprime entièrement.

Schémas de gestion des erreurs

n8n propose trois niveaux de gestion des erreurs. Le premier est le nœud Error Trigger intégré qui démarre un workflow séparé dès qu'un workflow échoue. Le deuxième est le paramètre Continue On Fail sur des nœuds individuels, qui indique à n8n de continuer l'exécution même si ce nœud précis tombe en erreur. Le troisième est le nœud Stop and Error, que vous déclenchez volontairement lorsque votre logique détecte un état impossible.

javascript
// Pseudocode for a retry pattern using Continue On Fail + Wait
try {
// call external API
} catch {
// log failure
// wait, then retry up to 3 times
}

Un schéma courant ressemble à ceci : enveloppez un nœud HTTP Request avec Continue On Fail activé. Si l'appel échoue, routez la sortie via un nœud Wait, puis retournez dans le nœud HTTP Request. Après trois boucles, dérivez vers un gestionnaire d'erreurs qui envoie une notification et écrit la charge utile échouée dans une table dead-letter de votre base de données pour revue manuelle.

schéma du cycle de vie de gestion des erreurs comprenant une boucle de retry limitée à 3 tentatives puis un fallback vers une dead-letter queue

Conseils pratiques et erreurs fréquentes

Deux erreurs reviennent de manière récurrente. Premièrement, certains activent Continue On Fail sur tous les nœuds parce qu'ils veulent de la résilience, mais cela masque de vrais bugs. Une réponse 401 unauthorized et un véritable bug logique se ressemblent pour un nœud en aval qui a ignoré l'erreur. Soyez sélectif : ne réglez Continue On Fail que sur les nœuds pour lesquels vous avez prévu un chemin de récupération précis.

Deuxièmement, on oublie que n8n traite les éléments un par un au sein d'un nœud, mais que plusieurs éléments peuvent entrer dans un nœud lors d'une même exécution. Vos conditions IF doivent fonctionner correctement pour chaque élément, pas seulement le premier. Testez avec au moins trois entrées variées incluant des cas limites comme des chaînes vides, des valeurs à zéro et des champs null.

En résumé

La logique dans n8n n'a rien de magique ; c'est une petite boîte à outils de nœuds appliquée avec intention. Utilisez IF et Switch pour des branchements explicites, Filter pour un nettoyage silencieux, et une stratégie d'erreurs en couches combinant Continue On Fail, des workflows d'erreur dédiés et une destination dead-letter pour les échecs que vous ne pouvez pas récupérer automatiquement. Les workflows qui survivent au contact des vraies données métier sont ceux qui s'attendent à ce que des choses tournent mal et qui gèrent cela avec élégance.

Entraînement

Point de contrôle de la leçon

Révisez la leçon et recevez des conseils sur votre travail.

0/1
Répondu · 0/1
Leçon 4 : Ajouter de la logique, des conditions et de la gestion des erreurs