Tutoriel Linux : auto-héberger le moteur d’automatisation n8n

Si vous cherchez à faire communiquer entre eux des outils comme Google Sheets, Slack, Notion ou votre base de données, n8n est une solution qui mérite le détour. C’est un outil d’automatisation de workflows, un peu dans l’esprit de Zapier ou Make, mais avec une différence importante : vous pouvez l’installer sur vos propres serveurs.

N8n fonctionne avec un modèle « fair-code ». Le code est accessible et modifiable, mais avec quelques restrictions : vous ne pouvez pas revendre la plateforme comme un service hébergé à des tiers. C’est un entre-deux entre le logiciel open-source pur et les solutions totalement fermées.

La version gratuite (appelée Community Edition) peut tourner sur votre infrastructure sans limitation de nombre d’exécutions ni de workflows. Vos données restent chez vous, ce qui peut être un argument décisif si vous travaillez avec des informations sensibles. Si vous préférez éviter de gérer l’installation, une version cloud existe aussi, mais elle est payante.

L’installation avec Docker est simple. Il suffit de lancer le conteneur avec l’image officielle, d’exposer le port 5678 qui est celui de l’interface web, et de monter un volume pour que vos données (workflows, identifiants, paramètres) soient conservées d’un redémarrage à l’autre. Pas besoin de base de données externe pour commencer : n8n utilise SQLite par défaut, un fichier unique léger qui fait très bien l’affaire pour un usage individuel ou en petite équipe.

Principe de fonctionnement

Le principe est simple : vous construisez des workflows en reliant des « neuds » (ou nodes) graphiques à l’écran. Chaque neud correspond à une action ou à une intégration avec un service. n8n en propose plus de 500, ce qui couvre déjà pas mal de besoins courants.

Parmi les intégrations disponibles, on trouve :

  • Les outils de messagerie comme Slack, Teams, Discord ou Telegram
  • Les applications de productivité : Notion, Asana, Jira, Trello
  • L’écosystème Google : Sheets, Drive, Gmail, Calendar
  • Les CRM : HubSpot, Salesforce, Pipedrive
  • Les bases de données : PostgreSQL, MySQL, MongoDB, Redis
  • Les services cloud : AWS, Google Cloud, etc.

Et si le service que vous voulez utiliser n’est pas dans la liste, vous avez toujours la possibilité d’utiliser le neud « HTTP Request » pour envoyer des requêtes à n’importe quelle API. Il y a aussi un neud « Code » qui permet d’écrire un peu de JavaScript ou de Python pour faire des traitements personnalisés.

L’éditeur visuel intègre un débogueur. Vous pouvez voir à chaque étape du workflow ce qui entre et ce qui sort, ce qui aide beaucoup quand un workflow ne fonctionne pas comme prévu.

Ce qu’on peut faire avec

La plateforme sert à automatiser des tâches répétitives qui impliquent plusieurs outils. Voici trois exemples de workflows réalisables :

Gestion des leads : Un prospect remplit un formulaire Typeform. Le workflow récupère les réponses, va chercher des informations complémentaires sur l’entreprise via un service comme Clearbit, vérifie si le nombre d’employés correspond à vos critères, puis selon le résultat, envoie une notification sur Slack à l’équipe commerciale et crée une fiche dans HubSpot.

Traitement de documents : Vous surveillez un dossier Google Drive. Dès qu’un nouveau fichier apparaît, le workflow le récupère, extrait son contenu, le convertit dans un format lisible, le publie sur votre site via l’API de votre CMS, et note tout ça dans une feuille de calcul.

Facturation : Un email arrive avec une facture en PDF. Le workflow identifie le message, envoie le PDF à un service d’OCR (reconnaissance de texte) pour en extraire le montant et le nom du fournisseur, ajoute une ligne dans Airtable, et si le montant dépasse un certain seuil, déclenche un circuit de validation par email.

n8n permet aussi de construire des workflows autour de l’intelligence artificielle, par exemple des systèmes qui combinent des requêtes vers des modèles comme ceux d’OpenAI avec des recherches dans des bases de données vectorielles.

Si vous ne savez pas par où commencer, le site n8n propose une page indiquant plus de 11 000 cas concrets utilisables comme base pour une automatisation.

Après il existe beaucoup de tutos sur l’utilisation de n8n sur YouTube, qui permettent de débuter. Comme par exemple :

Deux bémols tout de même

n8n n’est pas parfait, et selon votre profil, certains aspects peuvent vous freiner.

D’abord, la prise en main. L’éditeur visuel est relativement intuitif, mais si vous n’avez jamais touché à des concepts comme les JSON, les webhooks ou les environnements d’exécution, vous risquez de passer un peu de temps à comprendre comment tout s’articule. C’est un outil qui reste technique, en tout cas plus que Make, même si l’interface essaie de masquer la complexité. La contre-partie est que c’est un outil très puissant.

Ensuite, les intégrations. Les plus de 500 neuds sont pour beaucoup maintenus par la communauté. Si l’API d’un service évolue, il peut y avoir un délai avant que l’intégration soit mise à jour. Dans ce cas, il faut parfois bricoler une requête HTTP personnalisée en attendant.

n8n par rapport à ses concurrents

Si vous connaissez déjà Zapier ou Make, n8n en est assez proche dans l’esprit. La grande différence, c’est l’auto-hébergement : avec Zapier, vous payez par transaction, et vos données transitent par leurs serveurs. Avec n8n en auto-hébergement, vous ne payez rien à l’usage et vos données ne quittent pas votre infrastructure. En contrepartie, vous devez être à l’aise avec Docker et la gestion de serveurs.

Face à des solutions RPA comme UiPath ou Automation Anywhere, n8n est plus léger et plus orienté vers les API. Il est moins adapté pour automatiser des clics dans des interfaces utilisateur, mais bien plus simple à prendre en main pour des intégrations entre services web.

Business is business

Le potentiel de n8n n’a pas échappé à beaucoup de gens, notamment ceux qui se savent pas coder mais veulent tout de même vendre des prestations d’automatisation aux entreprises. Beaucoup de jeunes peu brillants ont monté leur entreprise, vendant des prestations visant à automatiser les tâches simples et répétitives, promettant de faire des économies en permettant de licencier les employés à peu de valeur ajoutée.

Le potentiel de n8n n’a pas non plus échappé aux enttrepreneurs brillants qui l’utilisent pour créer des entreprises à 0 employé (toutes les tâches comme la facturation, le marketing, etc. étant automatisées avec n8n).

Tutoriel d’installation de n8n

L’installation se fait grâce à un conteneur docker, il faut donc que votre serveur soit prêt à lancer des services docker. Si ce n’est pas le cas, vous trouverez le guide d’installation docker sous Ubuntu ici et celui de Devuan ici.

Dans un répertoire n8n-docker nous allons créer un fichier docker-compose.yml qui contient :

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped 
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/Paris
      - TZ=Europe/Paris
      - N8N_SECURE_COOKIE=false
    volumes:
      - ./n8n-docker/n8n_data:/home/node/.n8n

On lance le service n8n par la commande :

docker compose up -d

Puis :

sudo chown -R 1000:1000 n8n_data/

Attendre 30 secondes que le conteneur s’initialise correctement, puis connectez vous à l’URL http://serveur:5678 :

La page d’accueil propose de créer le compte administrateur. Comme il y a de l’IA partout maintenant, on tombe ensuite sur une proposition de mettre en place un assistant IA pour aider à créer les workflows.

Bien sûr, cela ne marche que si l’on a un compte chez un fournisseur d’IA.

N’ayant pas de compte IA, je vais désactiver cette fonctionnalité.

On doit ensuite répondre à quelques questions simples avant de pouvoir accéder aux fonctionnalités du produit.

On arrive enfin sur l’espace d’accueil nous invitant à créer un premier workflow, c’est à dire une première automatisation.

Pour démarrer ce premier workflow, je vais piocher dans la liste des +11 000 templates disponibles, pour simplifier le démarrage. Je choisis Import data from MySQL to Google sheet, qui est une automatisation permettant périodiquement (déclenchement sur cron) d’aller lire une base de données MySQL située quelque part sur Internet, et d’en extraire un tableur sous Google sheet.

En cliquant sur le bouton « Use for free », je peux copier – coller le script sous forme JSON dans un fichier et ouvrir ce fichier depuis mon interface n8n.

Voici le résultat de l’import dans mon interface n8n :

Il ne reste plus qu’à paramétrer chaque noeud en cliquant dessus, puis à exécuter le workflow en cliquant sur le bouton « Execute workflow ».

Lorsque vous maitriserez bien le produit, vous pourrez vous passer d’aller chercher des templates, et vous pourrez créer vous-même le workflow à partir de 0.

Ici la partie gauche du workflow montre un des points les plus importants du produit : un trigger, c’est à dire un déclencheur, ce qui lance le workflow. Si vous cliquez sur ajouter un trigger, vous verrez qu’il y en a de nombreux types : manuel, sur événement dans une application, à horaire ou date fixe, sur réception d’une requête html, sur remplissage d’une form, etc.

Une fois que votre workflow est paramétré et lancé, vous n’avez pas besoin de rester dans l’application. Elle gère toute seule les lancements sur les événements programmés, et génère seule les résultats.

Voilà, nous avons fait le plus facile : installer le logiciel. Notez au passage que nous avons été au plus simple, notamment sans https. Si votre serveur a un nom de domaine, il est vivement conseillé de mettre un reverse proxy https devant le conteneur n8n.

Le plus difficile reste à venir : apprendre à maitriser le produit et créer des automatisations fabuleuses, comme un jeu de lego.

Apprendre à utiliser efficacement n8n

C’est comme tout, il faut bûcher. No pain, no gain. Ou le seul endroit où le mot réussite arrive avant le mot travail, c’est dans le dictionnaire.

Voici donc une suggestion de deux bouquins pour apprendre à utiliser cet incroyable produit qu’est n8n, qui finalement permet de créer des automatisations sans avoir à apprendre à programmer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *