Section 11.3.11 : n8n — L'alternative open-source
🎯 Objectif pédagogique
Découvrir n8n, la plateforme d'automatisation open-source et self-hosted. Vous serez capable de déployer n8n localement, de créer des workflows, et de comprendre quand choisir n8n plutôt que Make ou Zapier.
n8n — Own your automation
Marc aime Make et Zapier, mais deux choses le dérangent : le prix qui monte vite quand on a beaucoup d'opérations, et le fait que ses données passent par des serveurs tiers. n8n (prononcé "n-eight-n") est une alternative open-source, installable sur son propre serveur.
Installation locale (5 minutes)
# Option 1 : Docker (recommandé)
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8nio/n8n
# Option 2 : npx (sans installation permanente)
npx n8n
# Option 3 : npm global
npm install -g n8n
n8n start
# Accéder à l'interface
# → http://localhost:5678
Interface n8n
L'interface ressemble à Make : un canvas visuel où vous connectez des nœuds.
Terminologie :
- Workflow = Scénario (Make) = Zap (Zapier)
- Node = Module (Make) = Action (Zapier)
- Trigger Node = Module Watch (Make) = Trigger (Zapier)
- Credential = Connexion (Make)
- Execution = Opération (Make) = Task (Zapier)
Premier workflow n8n
[🕐 Schedule Trigger : Every 6 hours]
↓
[🌐 HTTP Request : GET https://api.jobs.example.com/search?q=python+paris]
↓
[🔄 Split In Batches]
↓
[📝 Google Sheets : Append Row]
→ Title, Company, Salary, URL
↓
[📧 Gmail : Send Email]
→ Résumé des offres trouvées
Le "Code Node" — Le super-pouvoir de n8n
n8n permet d'écrire du JavaScript ou Python directement dans un nœud :
// Code Node — Filtrer et transformer les offres
const items = $input.all();
const results = [];
for (const item of items) \{
const job = item.json;
// Filtrer : salaire > 45k ET profil data/python
const salary = parseInt(job.salary) || 0;
const isRelevant = job.title.toLowerCase().match(/data|python|analyst|ml/);
if (salary >= 45000 && isRelevant) \{
results.push(\{
json: \{
title: job.title,
company: job.company,
salary: salary,
score: calculateMatchScore(job),
url: job.url
\}
\});
\}
\}
function calculateMatchScore(job) \{
let score = 0;
const desc = (job.description || '').toLowerCase();
if (desc.includes('python')) score += 3;
if (desc.includes('sql')) score += 2;
if (desc.includes('data')) score += 2;
if (desc.includes('ia') || desc.includes('machine learning')) score += 3;
if (desc.includes('remote') || desc.includes('télétravail')) score += 1;
return score;
\}
return results;
n8n vs Make vs Zapier — Résumé express
| Critère | n8n | Make | Zapier |
|---|---|---|---|
| Open-source | ✅ Oui | ❌ Non | ❌ Non |
| Self-hosted | ✅ Oui | ❌ Non | ❌ Non |
| Exécutions gratuites | ∞ (self-hosted) | 1 000/mois | 100/mois |
| Code custom | ✅ JS + Python | ⚠️ Limité | ⚠️ Code by Zapier |
| Intégrations | 400+ | 1 800+ | 7 000+ |
| Difficulté | Moyenne/haute | Moyenne | Facile |
| Best for | Devs, data, self-hosted | Power users no-code | Quick automations |
n8n Cloud vs Self-hosted
n8n propose aussi un plan cloud (à partir de 20€/mois). L'avantage : pas de maintenance serveur. Mais si vous avez un VPS ou Docker, le self-hosted est imbattable : exécutions illimitées, données chez vous. Marc utilise un VPS à 5€/mois pour héberger n8n.
🏋️ Exercice pratique (25 minutes)
- →Installez n8n avec
npx n8n(ou Docker) - →Ouvrez http://localhost:5678
- →Créez un workflow : Schedule → HTTP Request → Code Node (filtrer) → Envoyer email
- →Comparez l'expérience avec Make
Quel est le principal avantage de n8n self-hosted par rapport à Make ou Zapier ?
Qu'est-ce que le 'Code Node' dans n8n ?