Introduction
Imaginez le scénario suivant : un client vous envoie un e-mail avec une demande de devis. Automatiquement, l'IA extrait les données pertinentes de l'e-mail, classe la demande, génère un brouillon de devis basé sur un modèle, l'envoie au responsable sur Slack pour approbation, et après approbation, crée la facture dans votre système comptable et répond au client. Tout sans intervention manuelle.
Ce n'est pas de la science-fiction — c'est un pipeline d'automatisation que vous pouvez construire avec n8n, un outil open-source d'automatisation de workflows, hébergé sur votre propre serveur AWS, connecté à la fois aux modèles IA locaux (Ollama, LM Studio) et aux modèles distants (OpenAI, Claude, Gemini).
Dans cet article, je vous montre comment tout faire : de l'installation du serveur sur AWS à la connexion des modèles IA, jusqu'à la construction d'un vrai pipeline métier.
Qu'est-ce que n8n et pourquoi est-ce important ?
n8n en 30 secondes
n8n (prononcé « n-eight-n ») est une plateforme open-source d'automatisation de workflows — pensez à Zapier ou Make.com, mais avec trois avantages majeurs :
- Self-hosted — fonctionne sur votre serveur, vos données ne quittent jamais
- Open-source — gratuit pour l'édition Community, sans limites artificielles
- IA-native — dispose de nœuds dédiés pour les agents IA, embeddings, vector stores et modèles de chat
Pourquoi self-hosted sur AWS ?
n8n propose aussi une version cloud (n8n Cloud, à partir de 20€/mois), mais l'auto-hébergement sur AWS vous donne :
- Contrôle total sur les données — essentiel pour le RGPD et les données métier sensibles
- Coût réduit — une EC2 t3.small coûte ~15€/mois (t3.micro est ~7-10€ mais avec moins de RAM)
- Flexibilité — vous pouvez ajouter autant de ressources que nécessaire, connecter des services internes
- Disponibilité — le serveur est toujours en ligne, les webhooks fonctionnent 24/7
Partie 1 : Installation de n8n sur AWS EC2
Ce dont vous avez besoin
- Un compte AWS (le free tier suffit pour démarrer)
- Un domaine ou sous-domaine (ex :
automation.votredomaine.fr) - Des connaissances de base en terminal
Étape 1 : Lancer une instance EC2
-
Connectez-vous à la console AWS et naviguez vers EC2.
-
Cliquez sur Launch Instance et configurez :
- Nom :
n8n-server - AMI : Ubuntu 24.04 LTS
- Type d'instance :
t3.small(2 vCPU, 2 Go RAM — minimum recommandé pour n8n avec IA) - Paire de clés : Créez ou sélectionnez une paire de clés SSH
- Groupe de sécurité : Autorisez les ports 22 (SSH), 80 (HTTP), 443 (HTTPS)
- Stockage : 20 Go SSD (gp3)
- Nom :
-
Lancez l'instance et attendez qu'elle démarre.
Étape 2 : IP Elastic
Allouez une IP Elastic et associez-la à votre instance. Sans cela, l'IP publique change à chaque redémarrage.
- EC2 → Elastic IPs → Allocate Elastic IP address
- Sélectionnez l'IP allouée → Actions → Associate Elastic IP address
- Sélectionnez votre instance EC2
Étape 3 : Configurer le DNS
Chez votre registrar de domaine, créez un enregistrement A :
Type : A
Nom : automation (ou n8n, ce que vous préférez)
Valeur : [Votre IP Elastic]
TTL : 300
Étape 4 : Connexion SSH et installation Docker
# Connexion SSH
ssh -i ~/n8n-key.pem ubuntu@VOTRE_IP_ELASTIC
# Mise à jour du système
sudo apt update && sudo apt upgrade -y
# Installation Docker
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
# Ajouter l'utilisateur actuel au groupe docker
sudo usermod -aG docker $USER
# Reconnectez-vous pour appliquer
exit
Étape 5 : Installer NGINX comme reverse proxy
sudo apt install -y nginx
# Configuration NGINX pour n8n
sudo tee /etc/nginx/sites-available/n8n << 'EOF'
server {
listen 80;
server_name automation.votredomaine.fr;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Support WebSocket (essentiel pour n8n !)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Étape 6 : Certificat SSL avec Certbot
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d automation.votredomaine.fr
Étape 7 : Lancer n8n avec Docker Compose
mkdir ~/n8n && cd ~/n8n
ENCRYPTION_KEY=$(openssl rand -base64 24)
echo "Votre clé : $ENCRYPTION_KEY"
Créez docker-compose.yml :
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=automation.votredomaine.fr
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://automation.votredomaine.fr/
- N8N_ENCRYPTION_KEY=VOTRE_CLE_ICI
- GENERIC_TIMEZONE=Europe/Paris
- N8N_RUNNERS_ENABLED=true
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
docker-compose up -d
Accédez à https://automation.votredomaine.fr — vous devriez voir l'écran de configuration n8n.
Partie 2 : Connexion des modèles IA
n8n prend en charge nativement plusieurs types de modèles IA. OpenAI, Anthropic (Claude) et Google Gemini se connectent via leurs API respectives. Pour les modèles locaux, Ollama est la recommandation principale.
Modèles distants (cloud) — plus simples à connecter
OpenAI (GPT-4, GPT-4o)
- Dans n8n, allez dans Settings → Credentials → Add Credential
- Sélectionnez « OpenAI API »
- Entrez la clé API depuis platform.openai.com
- Testez la connexion
Vous pouvez maintenant utiliser le nœud OpenAI Chat Model dans n'importe quel workflow.
Anthropic (Claude)
- Add Credential → « Anthropic API »
- Entrez la clé API depuis console.anthropic.com
- Disponible comme Anthropic Chat Model dans les workflows
Google Gemini
- Add Credential → « Google Gemini »
- Entrez la clé API depuis Google AI Studio
- Disponible comme nœud de chat model
Quand utiliser des modèles distants :
- Tâches complexes de raisonnement (analyse de contrats, génération de longs documents)
- Quand vous avez besoin des meilleurs résultats possibles
- Tâches occasionnelles qui ne justifient pas un matériel local dédié
Modèles locaux — zéro coût par requête
Pour les modèles locaux, Ollama est la recommandation principale — un runtime simple pour modèles locaux, parfaitement intégré avec n8n.
Variante A : Ollama sur le même serveur AWS
Si votre instance EC2 a suffisamment de mémoire (minimum 4GB RAM pour les petits modèles), vous pouvez exécuter Ollama directement sur le serveur :
# Installation d'Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Télécharger un modèle
ollama pull qwen3:8b
ollama pull nomic-embed-text # pour les embeddings
# Ollama sert sur localhost:11434
Dans n8n :
- Add Credential → « Ollama API »
- Base URL :
http://localhost:11434 - C'est tout ! Vous pouvez utiliser les nœuds Ollama Chat Model et Ollama Embeddings
Variante B : LM Studio / Ollama sur votre machine locale, exposé à n8n
Si vous avez un PC puissant chez vous ou au bureau avec GPU, vous pouvez exécuter les modèles là-bas et les exposer au serveur n8n via internet.
Setup avec Ollama local exposé :
# Sur votre machine locale
OLLAMA_HOST=0.0.0.0 ollama serve
Ensuite, configurez un tunnel sécurisé (ex: Cloudflare Tunnel, ngrok, ou VPN) et dans n8n, mettez l'URL du tunnel.
Setup avec LM Studio :
- Dans LM Studio, lancez le serveur local (onglet Server)
- LM Studio sert une API compatible OpenAI sur
localhost:1234 - Exposez-le via un tunnel sécurisé
- Dans n8n, utilisez le credential « OpenAI API » avec l'URL de votre tunnel comme Base URL
Variante C : Modèle local sur un autre serveur AWS dédié
Pour la production, la solution la plus robuste est un EC2 séparé avec GPU :
- Lancez un EC2 avec GPU (ex:
g4dn.xlarge— NVIDIA T4, 16GB VRAM) - Installez Ollama ou vLLM
- Configurez le Security Group pour autoriser l'accès uniquement depuis l'IP du serveur n8n
- Dans n8n, connectez via IP privée (si dans le même VPC) ou HTTPS
Quand utiliser des modèles locaux :
- Traitement de données sensibles (les données ne quittent jamais votre infrastructure)
- Volumes élevés de requêtes (zéro coût par token)
- Tâches répétitives : classification, extraction d'entités, courtes summaries
- Quand vous voulez une indépendance complète des fournisseurs cloud
Stratégie hybride : le meilleur des deux mondes
L'approche la plus pragmatique combine les deux types :
| Tâche | Modèle | Pourquoi | |-------|--------|----------| | Classification e-mails | Ollama (Qwen3-8B local) | Volume élevé, tâche simple, zéro coût | | Génération brouillon devis | Claude/GPT-4 (distant) | Qualité maximale pour la sortie client | | Extraction données PDF | Ollama (Qwen3-8B local) | Données sensibles, ne doit pas aller dans le cloud | | Résumé rapports | Ollama (Qwen3-14B local) | Volume élevé, rentable | | Analyse sentiment feedback | Ollama (Qwen3-8B local) | Tâche simple, local suffit | | Génération e-mail réponse | Claude (distant) | Ton et qualité importants |
Partie 3 : Un pipeline métier réel — Traitement automatique des demandes de devis
Architecture : E-mail reçu → IA classe (est-ce une demande de devis ?) → IA extrait les données → Recherche client CRM → IA génère brouillon → Notification Slack pour approbation → Envoi e-mail au client → Création task → Log Google Sheets.
Résultat : Un processus de 45 minutes réduit à 2 minutes de relecture et un clic pour approuver.
Autres pipelines possibles
Onc n8n est configuré avec des modèles IA, les possibilités sont pratiquement illimitées :
Surveillance des réseaux sociaux : Webhook de plateformes → IA classe le sentiment → Alertes sur mentions négatives → Suggestions de réponse générée
Onboarding client : Formulaire rempli → IA extrait les besoins → Génération du plan projet → Création d'espaces Notion → E-mail de bienvenue personnalisé
Support technique niveau 1 : E-mail/chat du client → IA classe le problème → Recherche dans base de connaissances (RAG) → Réponse générée → Si faible confiance, escalade vers humain
Traitement des factures : E-mail avec pièce jointe → IA extrait données PDF → Validation → Enregistrement comptabilité → Notification approbation paiement
Content marketing : Calendrier éditorial → IA génère draft article → Review humain → Publication blog → Distribution social media → Tracking engagement
Partie 3 : Un pipeline métier réel — Traitement automatique des demandes de devis
Construisons un workflow concret. Scénario : votre entreprise reçoit des demandes de devis par e-mail. Vous voulez que le processus de réception à envoi du devis soit le plus automatisé possible.
Architecture du workflow
[E-mail reçu]
→ [IA : Classification - est-ce une demande de devis ?]
→ [IA : Extraction données (client, services demandés, budget)]
→ [Recherche client dans CRM]
→ [IA : Génération draft devis]
→ [Notification Slack pour approbation]
→ [À l'approbation : Envoi e-mail au client]
→ [Création task dans project management]
→ [Log dans Google Sheets]
Construction pas à pas dans n8n
Nœud 1 : E-mail Trigger
Ajoutez un Gmail Trigger (ou IMAP Email Trigger) qui s'active à chaque nouveau e-mail sur l'adresse de devis.
Configuration : surveille la boîte de réception, filtre par label ou sujet si nécessaire.
Nœud 2 : Classification avec IA locale
Ajoutez un AI Agent connecté au Ollama Chat Model (Qwen3-8B). Prompt système :
Vous êtes un classifyeur d'e-mails business. Vous recevez le contenu d'un e-mail
et devez répondre UNIQUEMENT avec l'une des catégories :
- DEMANDE_DEVIS
- QUESTION_GENERALE
- RECLAMATION
- SPAM
- AUTRES
Répondez uniquement avec la catégorie, rien d'autre.
Envoyez le contenu de l'e-mail comme input. Cette tâche est parfaite pour un modèle local — c'est simple, répétitif, et ne nécessite pas le modèle le plus puissant.
Nœud 3 : Router (IF)
Ajoutez un IF qui vérifie si la classification contient « DEMANDE_DEVIS ». Si oui, continue le pipeline. Si non, route vers d'autres workflows (réponse automatique aux questions, escalade réclamations, etc.).
Nœud 4 : Extraction données avec IA locale
Autre AI Agent avec Ollama. Prompt système :
Vous êtes un assistant d'extraction de données des e-mails business.
Extrayez les informations suivantes du e-mail reçu en format JSON :
{
"nom_client": "",
"email_client": "",
"societe_client": "",
"services_demandes": [],
"budget_mentionne": "",
"date_souhaitee": "",
"details_supplementaires": ""
}
Si une information n'est pas disponible, laissez le champ vide.
Répondez UNIQUEMENT avec le JSON, sans texte supplémentaire.
Encore une fois, modèle local — les données sont sensibles (informations sur les clients).
Nœud 5 : Recherche dans CRM
Ajoutez un HTTP Request ou nœud dédié (Airtable, HubSpot, Notion) qui cherche le client dans votre base de données. Si le client existe, récupère l'historique de collaboration.
Nœud 6 : Génération draft devis avec IA distante
Maintenant on passe à un modèle puissant. Ajoutez un AI Agent connecté au Claude ou GPT-4. Prompt système :
Vous êtes un consultant commercial pour la société TEN INVENT,
une entreprise de conseil IT et développement logiciel.
Générez un draft de devis professionnel basé sur :
- Données client : {{données extraites au nœud 4}}
- Historique client : {{données CRM du nœud 5}}
- Services demandés : {{de l'extraction}}
Le devis doit être :
- Professionnel et chaleureux dans le ton
- Structuré avec : introduction, description des services proposés,
timeline estimé, coût orientatif, conditions
- En français
N'incluez pas de prix exacts — laissez [PRIX À COMPLÉTER]
là où le manager doit décider.
On utilise un modèle distant ici car la sortie va directement au client — la qualité compte maximum.
Nœud 7 : Notification Slack
Ajoutez un Slack qui envoie un message dans un canal dédié (ex: #devis-nouveaux) :
🆕 Nouvelle demande de devis !
Client : {{nom_client}} ({{societe_client}})
Services : {{services_demandes}}
Draft devis : [lien vers le draft]
Réagissez avec ✅ pour approuver l'envoi.
Nœud 8 : Attendre l'approbation
Ajoutez un Wait qui attend une confirmation — soit par webhook (si vous avez un bouton d'approbation), soit en vérifiant la réaction sur Slack à intervalle régulier.
Nœud 9 : Envoi e-mail
À l'approbation, un Gmail (Send Email) envoie le devis au client, avec le template de la société.
Nœud 10 : Post-traitement
Nœuds parallèles qui :
- Créent une task dans Notion / Trello / Asana pour follow-up
- Ajoutent une ligne dans Google Sheets pour tracking
- Mettent à jour le statut dans CRM
Résultat
Un processus qui prenait 45 minutes (lire e-mail → trouver client → rédiger devis → approbation → envoyer → enregistrer) est réduit à 2 minutes de relecture et un clic d'approbation. Le reste est automatique.
Conseils production
Sécurité
- HTTPS obligatoire (déjà configuré avec Certbot)
- Authentification n8n avec mot de passe fort
- Limiter l'accès Security Group aux IPs nécessaires
- Ne pas exposer Ollama directement sur Internet — seulement via réseau interne ou VPN
- Stocker les clés API dans n8n Credentials, pas dans les workflows
Backup et persistance
# Backup automatique des données n8n (ajouter au crontab)
0 2 * * * docker exec n8n tar czf /tmp/n8n-backup.tar.gz /home/node/.n8n \
&& docker cp n8n:/tmp/n8n-backup.tar.gz ~/backups/n8n-$(date +%Y%m%d).tar.gz
Monitoring
- Configurer un health check simple avec un workflow n8n qui se pingue automatiquement
- Utiliser CloudWatch (gratuit dans AWS) pour surveiller CPU/RAM de l'instance
- Configurer des alertes si l'instance s'arrête
Coûts
Un setup réaliste pour une petite entreprise :
| Composante | Coût mensuel | |------------|-------------:| | EC2 t3.small (n8n) | ~15€/mois (t3.micro est ~7-10€ mais avec moins de RAM) | | Elastic IP | 0€ (gratuit quand attaché) | | Domaine | ~1€ (amorti sur le mois) | | OpenAI API (utilisation modérée) | 5-20€ | | Claude API (utilisation modérée) | 5-15€ | | Total | 25-50€/mois |
Comparez avec : un employé à temps partiel qui fait manuellement les mêmes tâches = plusieurs milliers d'euros/mois. Le ROI est évident.
Conclusion
n8n sur AWS avec des modèles IA hybrides (locaux + distants) offre probablement le meilleur rapport coût/valeur pour l'automatisation métier en 2026. Contrôle total des données, coûts prévisibles, flexibilité.
Commencez simplement : installez n8n, connectez un modèle, automatisez un seul processus. Quand vous verrez 10 minutes de travail manuel se transformer en 10 secondes d'exécution automatique, vous ne vous arrêterez plus.
Cet article fait partie de la série de publications techniques du blog TEN INVENT. Pour de l'aide sur l'implémentation d'automatisations IA dans votre entreprise, contactez-nous.