mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
Refonte Structure
This commit is contained in:
11
knowledge/n8n/patterns/README.md
Normal file
11
knowledge/n8n/patterns/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# n8n — Patterns validés — Index
|
||||
|
||||
Patterns n8n testés et validés en conditions réelles.
|
||||
|
||||
Avant toute proposition n8n, identifie le fichier dont le nom et la description matchent le domaine traité, puis lis-le.
|
||||
|
||||
---
|
||||
|
||||
| Fichier | Domaine | Entrées clés |
|
||||
|---------|---------|--------------|
|
||||
| `general.md` | Principes de conception, feature flags, routage | Feature flags pour routage plateformes |
|
||||
35
knowledge/n8n/patterns/general.md
Normal file
35
knowledge/n8n/patterns/general.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# n8n — Patterns validés : Général
|
||||
|
||||
> Extrait de la base de connaissance Lead_tech. Voir `knowledge/n8n/patterns/README.md` pour l'index complet.
|
||||
|
||||
---
|
||||
|
||||
## Principes de conception
|
||||
|
||||
- Un workflow = un objectif clair
|
||||
- Noms de nodes explicites (décrivent ce que le node fait, pas ce qu'il est)
|
||||
- Gestion des erreurs prévue dès le départ (Error Trigger ou Try/Catch)
|
||||
- Facilité de reprise après plusieurs semaines : documenter les workflows non triviaux
|
||||
|
||||
---
|
||||
|
||||
<a id="pattern-n8n-feature-flags-routage-plateformes"></a>
|
||||
## Pattern : Feature flags pour routage plateformes
|
||||
|
||||
- Node : Code (JS)
|
||||
- Contexte : activation / désactivation de plateformes (réseaux sociaux, canaux, intégrations)
|
||||
- Avantage : test, rollback, évolutivité, debug simplifié
|
||||
- Limites / vigilance : nécessite discipline (un seul point de config, pas de flags dispersés)
|
||||
- Validé le : 2025-12-19
|
||||
- Contexte technique : `n8n 1.121.2 / self-hosted / docker`
|
||||
|
||||
Exemple :
|
||||
|
||||
```js
|
||||
const config = {
|
||||
test: false,
|
||||
facebook: true,
|
||||
instagram: true,
|
||||
linkedin: true,
|
||||
};
|
||||
```
|
||||
11
knowledge/n8n/risques/README.md
Normal file
11
knowledge/n8n/risques/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# n8n — Risques & vigilance — Index
|
||||
|
||||
Nodes, fonctionnalités et patterns n8n sensibles, susceptibles de provoquer des bugs subtils ou comportements inattendus.
|
||||
|
||||
Avant toute proposition n8n, identifie le fichier dont le nom et la description matchent le domaine traité, puis lis-le.
|
||||
|
||||
---
|
||||
|
||||
| Fichier | Domaine | Entrées clés |
|
||||
|---------|---------|--------------|
|
||||
| `general.md` | Vigilance générale, IF Node, staticData | Expressions undefined silencieux, comparaisons IF ambiguës, staticData persistance entre exécutions |
|
||||
67
knowledge/n8n/risques/general.md
Normal file
67
knowledge/n8n/risques/general.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# n8n — Risques & vigilance : Général
|
||||
|
||||
> Extrait de la base de connaissance Lead_tech. Voir `knowledge/n8n/risques/README.md` pour l'index complet.
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-n8n-vigilance-generale"></a>
|
||||
## Vigilance générale
|
||||
|
||||
- Différences de comportement entre n8n **cloud et self-hosted** (certains nodes, credentials, timeouts)
|
||||
- **Expressions mal évaluées** : `{{ $json.field }}` peut retourner `undefined` silencieusement
|
||||
- **Comportements implicites** des nodes : toujours tester les cas limites (null, tableau vide, erreur HTTP)
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-n8n-if-node"></a>
|
||||
## IF Node
|
||||
|
||||
### Risques
|
||||
|
||||
- Comparaisons ambiguës entre `null`, `undefined`, `""` et `false`
|
||||
- Résultats surprenants si les types ne sont pas normalisés
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Branche IF "inversée" par rapport à l'intuition
|
||||
- Cas limites qui passent en prod mais pas en test
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Normaliser les données avant comparaison (string/number/bool)
|
||||
- Tester explicitement `null` / `undefined`
|
||||
- Logguer la valeur et le type en amont si doute
|
||||
|
||||
### Contexte technique
|
||||
|
||||
- Observé : (à compléter quand tu as un cas précis)
|
||||
- n8n : (version à préciser)
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-n8n-staticdata"></a>
|
||||
## staticData (`$getWorkflowStaticData`)
|
||||
|
||||
### Risques
|
||||
|
||||
- Persistance entre exécutions (effet mémoire non voulu)
|
||||
- Dépendance forte à l'`executionId` si on fait de l'agrégation
|
||||
- Sensible aux upgrades n8n (comportements qui peuvent changer)
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Données "fantômes" réutilisées
|
||||
- Résultats incohérents entre exécutions
|
||||
- Branches parallèles qui s'écrasent
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Toujours lier les données à `executionId`
|
||||
- Nettoyer/reset explicitement à chaque run
|
||||
- Documenter le pattern dès qu'il est utilisé
|
||||
- Préférer un stockage externe si l'état devient critique (DB/Redis/etc.)
|
||||
|
||||
### Contexte technique
|
||||
|
||||
- Validé : oui (usage avancé)
|
||||
- n8n : 1.121.2 / self-hosted / docker
|
||||
Reference in New Issue
Block a user