Impossible d’y échapper ces derniers temps, les IA sont partout dans les discussions, et oui, moi inclus ! L’image qu’on en a souvent, c’est le style ChatGPT : une fenêtre de chat où on discute avec une intelligence artificielle. C’est sympa, c’est clair, mais avouons-le, ça reste un peu limité pour certaines choses.
Parce que, soyons honnêtes, et si on voulait que l’IA fasse plus ? Genre, lire nos mails à notre place ? Ajouter automatiquement ce rendez-vous galère dans le calendrier ? Voire nous préparer le café ? Bon, d’accord, pour le café, on n’y est pas encore tout à fait, mais pour le reste, c’est carrément jouable !
C’est là qu’interviennent les agents IA. C’est quoi le truc ? Imaginez une IA qui ne fait pas que discuter. Elle a accès à des infos (vos mails, votre calendrier, des API, etc.) et elle peut agir en fonction de ces infos, prendre des décisions. Exemple tout bête : un client vous envoie un mail pour caler un RDV le 25 mars à 14h. Votre agent IA perso lit le mail, vérifie votre calendrier, ajoute le rendez-vous et, cerise sur le gâteau, répond au client pour confirmer. Pas mal, non ?
“Attendez,” vous allez me dire, “c’est juste une automatisation comme on en fait depuis des lustres, non ?” Pas tout à fait ! La grosse différence, c’est qu’avec une automatisation classique, il faut prévoir tous les cas de figure, le moindre petit détail, et tout coder soi-même. C’est souvent rigide. Avec un agent IA, la philosophie est différente : on lui définit sa mission (son rôle, ce qu’il doit accomplir), on lui donne accès aux outils dont il a besoin (l’accès aux mails, au calendrier, à une API externe…), et ensuite… il se débrouille pour atteindre l’objectif en raisonnant un peu comme un humain (enfin, presque !). C’est beaucoup plus flexible et puissant.
Intriguant, n’est-ce pas ? Pour que tout ça devienne plus concret et moins abstrait, je vous propose de mettre les mains dans le cambouis. Dans cette série d’articles, on va construire ensemble un agent IA simple mais pratique avec l’outil n8n. Sa mission ? Analyser les URLs un peu louches que je pourrais croiser, directement depuis une discussion Telegram. Pour ça, il utilisera l’API de VirusTotal et une IA nous donnera même son avis sur la marche à suivre. Prêts ?
n8n
Mais c’est quoi, n8n ? C’est un outil d’automatisation qui permet de créer des workflows (des enchaînements d’actions) sans écrire (presque) une seule ligne de code. Il existe déjà depuis un bon moment. Mais récemment, ils ont ajouté la possibilité d’intégrer des agents IA. Et c’est exactement ce qui nous intéresse ici.
Avant, une automatisation un peu complexe pouvait vite ressembler à ça :
Donc avec plein de nœuds, de connexions, des IF et des ELSE partout… bref, un vrai plat de spaghettis parfois. Avec un agent IA, l’idée c’est de simplifier et ça ressemble plutôt à ça :
On donne à l’agent un objectif et un set d’outils, et il se charge de les utiliser au mieux pour faire le job. C’est beaucoup plus simple à concevoir et bien plus flexible.
Si vous ne comprenez pas tout de suite la différence, pas de panique, on va voir ça ensemble pas à pas. C’est en faisant qu’on comprend le mieux !
Tout d’abord, il faut savoir que n8n est un outil open-source. Ça veut dire que vous pouvez l’installer gratos sur votre propre serveur, regarder le code, le modifier… Déjà, rendez-vous compte que c’est un outil puissant, très puissant, et qu’il est open-source !! C’est pour ça qu’on adore nos communautés devs et open source.
Également, n8n propose une version cloud, qui elle est payante. Ça permet d’avoir ses automatisations en ligne sans se prendre la tête avec un serveur. C’est pratique, mais ce n’est pas ce qu’on va utiliser ici. Nous, on va l’installer sur notre propre serveur en utilisant la technologie qu’on aime tous : Docker.
Si vous ne connaissez pas encore Docker ou que vous avez besoin d’un rappel, je vous invite à lire cet article pour comprendre les bases. On va utiliser
docker compose
ici.
Installation de n8n
Déjà, pour l’installer, il faut être sûr d’avoir un serveur avec Docker et Docker Compose d’installés. Si ce n’est pas le cas, je vous renvoie à nouveau vers cet article qui explique comment faire.
Pour information, le serveur sur lequel je vais installer n8n se trouve dans mon fameux cluster Proxmox, plus précisément sur une VM Debian 12 avec 4 Go de RAM et 2 vCPU. J’y ai déjà plusieurs autres services qui tournent dessus, mais n8n n’est vraiment pas gourmand en ressources.
Voici mon cluster Proxmox :
Pour installer n8n, rien de plus simple. Il suffit de créer un fichier compose.yaml
(ou docker-compose.yaml
) avec le contenu suivant :
services:
n8n:
image: n8nio/n8n
restart: always
container_name: n8n
ports:
- 80:5678 # Mappe le port 5678 de n8n sur le port 80 de votre serveur
environment:
# Remplacez 'http://n8n.makhal.lan/' par l'URL publique de votre serveur n8n !
- WEBHOOK_URL=http://n8n.makhal.lan/
- N8N_HOST=n8n # Nom d'hôte interne pour n8n
- N8N_PORT=5678 # Port interne de n8n
- N8N_PROTOCOL=http # Protocole interne
- NODE_ENV=production # Mode de fonctionnement
- N8N_SECURE_COOKIE=false # Pour simplifier en http local, mettez à true si vous passez en https
volumes:
- n8n:/home/node/.n8n # Stockage persistant des données n8n
volumes:
n8n: # Déclare le volume Docker
Donc on a un service n8n
qui utilise l’image officielle n8nio/n8n
et qui expose le port interne 5678
sur le port 80
de notre serveur hôte.
Attention : Le paramètre WEBHOOK_URL
est super important. Il permet à n8n de savoir quelle est son adresse publique pour générer correctement les URLs (notamment pour les webhooks). Il faut absolument le remplacer par l’URL ou l’adresse IP publique de votre serveur n8n, par exemple http://mon-super-serveur.com/
ou http://192.168.1.XX/
.
Ensuite, placez-vous dans le dossier où vous avez créé le fichier compose.yaml
et lancez la commande suivante :
docker compose compose.yaml up -d
Et voilà ! n8n est installé et devrait être en train de démarrer en arrière-plan (-d
). Il suffit de vous rendre sur l’URL que vous avez configurée (celle de votre serveur, sur le port 80 si vous avez gardé le mapping par défaut) pour accéder à l’interface web.
La première fois, n8n va vous demander de créer un compte “Owner”. Ce compte est local à votre instance et vous permettra de sauvegarder vos workflows et de gérer votre n8n.
Une fois connecté(e), vous devriez voir une interface qui ressemble à ça :
Création de notre premier agent IA
Avant de commencer cette partie, il y a bien entendu un petit prérequis : il faut avoir une clé API d’une IA compatible.
Peu importe laquelle en théorie : Mistral, Gemini, OpenAI (ChatGPT), Claude, etc. Il suffirait de s’inscrire sur leur site officiel, parfois de sortir la carte bleue, et de récupérer la fameuse clé API.
Mais avant de foncer tête baissée sur les sites officiels, laissez-moi vous filer un super tuyau : OpenRouter. C’est une sorte de concentrateur d’API IA. L’avantage ? Vous vous inscrivez une fois, vous récupérez une clé API OpenRouter, et cette seule clé vous donne accès à des dizaines de modèles IA différents, y compris des modèles open source ou moins connus.
Le plus cool ? OpenRouter propose souvent des crédits gratuits au démarrage et permet d’accéder à certains modèles marqués comme “Free” (souvent des modèles open source ou avec des limitations) sans avoir à enregistrer de carte bancaire. C’est donc parfait pour tester et bidouiller sans se ruiner !
Pour créer votre clé API OpenRouter (sans CB, on a dit !) :
-
Inscrivez-vous sur OpenRouter.ai.
-
Une fois connecté(e), allez dans votre compte (en haut à droite) puis sur l’onglet Keys.
-
Cliquez sur Create Key.
-
Donnez un nom à votre clé (par exemple, “n8n-test”), laissez les limites par défaut pour l’instant, et cliquez sur Create.
-
Copiez immédiatement la clé qui s’affiche et sauvegardez-la précieusement quelque part ! Elle ne sera plus affichée ensuite.
Voilà, vous avez votre sésame ! Revenons à n8n.
Pour créer notre agent IA, dans l’interface n8n, cliquez sur le gros bouton Create Workflow
.
Vous allez tomber sur un canvas (une zone de travail) vide. C’est ici que la magie va opérer.
Cliquez sur le bouton Add first step
ou sur le +
au milieu. Une fenêtre s’ouvre avec une barre de recherche. Tapez AI
ou Agent
. Vous allez voir qu’on peut vraiment faire de tout avec n8n (mails, Telegram, SMS, Jira, Gitlab…). C’est assez fou, surtout quand on se rappelle que c’est open source !
Ici, cherchez et sélectionnez le nœud AI Agent
. C’est lui le chef d’orchestre de notre future IA.
Une fois que vous aurez cliqué dessus, vous aurez une interface de configuration un peu dense qui va s’afficher.
Pas de panique ! Pour l’instant, on ne touche à rien ici, on va juste configurer l’essentiel. Cliquez en dehors de cette fenêtre pour revenir au canvas.
Maintenant, sur le nœud AI Agent
qui est apparu sur votre canvas, cliquez sur l’option Chat Model
. Un panneau de configuration va s’ouvrir sur la droite. C’est ici qu’on va dire à notre agent avec quelle IA il doit discuter.
Dans la liste déroulante Chat Model Provider
, choisissez OpenRouter
.
Ensuite, pour Credentials for OpenRouter API
, cliquez sur - Create New -
.
Une petite fenêtre s’ouvre. Donnez un nom à cette configuration de clé (par exemple, “Ma Clé OpenRouter”) et collez la fameuse clé API OpenRouter que vous avez sauvegardée tout à l’heure dans le champ API Key
. Cliquez sur Save.
Une fois la clé enregistrée, vous verrez qu’un nouveau champ est apparu juste en dessous : Model
. C’est ici qu’on choisit précisément le cerveau de notre IA parmi tous ceux proposés par OpenRouter.
Faites attention, la liste est longue ! Pour notre test (et pour rester dans le gratuit), cherchez un modèle avec Free
à côté. Par exemple (et c’est celui qu’on va prendre pour ce tuto, même s’il est expérimental à la date d’écriture) : google/gemini-2.5-pro-exp-03-25:free
. (Toujours plus long les noms chez Google !)
Sélectionnez-le.
Maintenant, pour vérifier que tout fonctionne, on va tester la connexion avec l’IA. En haut à droite du panneau de configuration du nœud AI Agent
, cliquez sur le petit bouton de Chat (l’icône de bulle de discussion).
Une fenêtre de chat s’ouvre. Posez une question simple, comme “Bonjour, qui es-tu ?” ou “Que peux-tu faire ?”. Si tout est bien configuré, l’IA devrait vous répondre via le modèle Gemini sélectionné !
Et pour être doublement sûr de ne pas avoir de mauvaise surprise sur la facture (même si on a choisi Free), faisons un petit saut sur la page Usage de votre compte OpenRouter. Vous devriez voir apparaître votre appel API avec un coût de… 0.00$ !
Donc 0.00$, c’est bien gratuit, on est bons !
Et voilà ! On a posé les bases : n8n est installé, on a une clé API gratuite via OpenRouter, et on a configuré notre nœud AI Agent
pour utiliser un modèle spécifique. Pour l’instant, comme vous l’avez vu, ça se comporte comme un simple chatbot. Dans la prochaine partie, on va lui donner des outils et une mission pour qu’il devienne un véritable agent capable d’agir ! C’est là que ça va devenir vraiment intéressant.
Conclusion
Et voilà, les bases sont posées ! n8n tourne, l’IA est connectée via OpenRouter, et notre premier chat fonctionne. C’est un super début !
Mais le vrai fun arrive dans la Partie 2 : on va brancher Telegram, utiliser VirusTotal, et transformer notre IA en un véritable agent qui analyse les URLs pour nous. Accrochez-vous !
Merci d’avoir lu jusqu’ici ! Si vous avez des questions ou envie d’échanger, n’hésitez pas à me contacter sur LinkedIn. À très vite pour la suite !