Blog › Construire avec l'IA

Construire avec l'IA

Automatisation IA : créer la vôtre de zéro, sans coder

Une automatisation IA est une série de tâches qui s’exécute seule, où l’on confie une étape à une IA parce qu’elle échappe aux règles fixes : lire une facture, classer un email, résumer un appel. Pour votre client, c’est une tâche répétitive qu’il ne fera plus à la main, et vous la livrez sans écrire une seule ligne de code. La méthode tient en 3 étapes : schématiser, tester ce que vous ne connaissez pas, puis construire. Je l’utilise ici pour automatiser le traitement de factures numérisées via n8n, depuis une feuille vide jusqu’au test de bout en bout.

Automatisation IA : c’est quoi, exactement ?

Une automatisation classique suit des règles. « Quand un formulaire arrive, ajoute une ligne dans le tableau. » Le résultat est toujours le même.

Une automatisation IA garde ce squelette, mais une de ses étapes demande du jugement. Les factures en sont le bon exemple : tout le monde ne met pas la date, le montant et le nom du fournisseur au même endroit. Aucune règle fixe ne les retrouve sur toutes les factures. Un LLM, si.

Un agent IA va plus loin : il choisit lui-même ses outils et l’ordre de ses actions. La différence est détaillée dans l’article sur l’agent IA. Dans mon agence, la répartition ressemble à ceci :

  • 40 % de ce que nous développons pour nos clients, ce sont des automatisations simples, sans IA ;
  • 40 %, des automatisations avec de l’IA ;
  • 20 % ou moins, de vrais agents IA.

Quand un client vous dit « je veux un agent IA », il veut souvent une automatisation IA. Le besoin que j’ai pris pour la vidéo contient exactement ce piège : « Je veux construire un agent IA qui analyse mes factures scannées et extrait automatiquement le montant TTC, la date et le fournisseur. » Pas besoin d’agent ici. Et chaque fois que vous pouvez éviter un agent, évitez-le : il ajoute un risque d’hallucination et d’erreur.

La méthode en 3 étapes : ne jamais commencer par construire

Que l’automatisation soit pour vous ou pour un client, dans n8n, dans Make ou en code, l’ordre est le même :

  1. Schématiser : dessiner les entrées, les sorties et les composants entre les deux.
  2. Rechercher et tester les composants que vous n’avez jamais utilisés : une API inconnue, un outil nouveau.
  3. Construire, nœud par nœud, en testant chaque nœud.

Les développeurs travaillent dans cet ordre aussi. Construire vient en dernier, parce que c’est ce qui coûte cher quand on part dans la mauvaise direction.

Étape 1 : schématiser de gauche à droite

Prenez une feuille, ou un tableau blanc en ligne. À gauche, les entrées. À droite, les sorties. Au milieu, ce qui transforme l’un en l’autre.

Les entrées : ce que le client vous donne, et comment

Ici, des factures scannées en PDF. Un PDF scanné est une image : on ne peut pas en lire le texte directement, il faudra un logiciel pour ça.

La question à poser au client : comment va-t-il vous transmettre ces PDF ? Par email ? Dans un dossier partagé ? Dans notre cas, il les dépose dans un dossier de son Google Drive.

Les sorties : où le client veut retrouver le résultat

Le montant, la date et le fournisseur, d’accord. Mais où ? Dans une Google Sheet avec une ligne par facture ? Dans son logiciel de gestion ? Dans un récapitulatif envoyé chaque soir par email ?

Notre client veut une Google Sheet : le lien vers le PDF, puis trois colonnes, date, montant TTC, fournisseur.

Les composants du milieu

En partant des sorties, on remonte :

  1. Le PDF est scanné, donc il faut un OCR, un logiciel qui lit le texte d’une image.
  2. Le texte obtenu ne suit aucune règle fixe, donc il faut un LLM pour en extraire montant, date et fournisseur.
  3. Le résultat va dans une Google Sheet.

Avec l’entrée Google Drive, cela fait quatre blocs sur la feuille, et vous savez ce que vous allez construire. Supposons que vous maîtrisez Google Drive, l’appel à un LLM et Google Sheets. Il reste un seul inconnu : l’OCR. C’est lui qu’on teste à l’étape 2.

Étape 2 : rechercher et tester le composant inconnu

Choisir l’outil

Demandez à ChatGPT ou à Google les outils d’OCR disponibles et un comparatif. Testez-en 2 ou 3 sur le même document, puis comparez :

  • la qualité des données renvoyées ;
  • le coût, parce que l’outil le plus cher ne sera pas forcément accepté par votre client ;
  • le rapport qualité-prix pour son besoin, pas le moins cher par principe.

Je savais que l’OCR de Mistral avait bonne réputation, mais je ne l’avais jamais testé. Sa documentation montre qu’il lit les PDF, les tableaux et même des pages scannées de travers, en plusieurs langues. Deux façons de lui passer un PDF : un lien public, ou l’envoi du fichier chez Mistral.

Récupérer une clé API Mistral (gratuite)

  1. Allez sur la console de Mistral, console.mistral.ai (nouvel onglet), et créez un compte (Google suffit).
  2. Ouvrez la section API Keys et cliquez sur Create new key.
  3. Donnez-lui un nom et, si vous voulez, une date d’expiration.
  4. Copiez la clé tout de suite : elle ne s’affiche qu’une fois.

L’accès gratuit suffit pour tester. Une précaution pour un projet client : sur le plan gratuit, Mistral indique que vos requêtes peuvent servir à entraîner ses modèles. Pour de vraies factures, passez sur un compte payant au nom du client.

Le test en quelques minutes

Le test le plus simple : un PDF dans Google Drive, partagé en lecture à « tous les utilisateurs disposant du lien ». Pour ma part, je n’ai même pas scanné la facture : je l’ai photographiée au téléphone, une facture du greffe du tribunal de commerce, de qualité médiocre. C’est voulu : on éprouve le système.

Un piège : le lien de partage de Google Drive ouvre une page web, pas le fichier. Pour un lien direct, gardez l’identifiant du document (la partie entre /d/ et le / suivant) et placez-le dans cette adresse :

text
https://drive.google.com/uc?id=IDENTIFIANT_DU_DOCUMENT

Ensuite, dans un workflow n8n vierge, un nœud HTTP Request. Sa fonction Import accepte une commande cURL : copiez celle de la documentation Mistral (OCR d’un PDF par URL), collez-la, et n8n remplit la méthode, l’adresse et le corps. Collez la clé et le lien du PDF, puis exécutez.

Résultat : un JSON avec une entrée par page et le texte au format Markdown, un format que les LLM lisent très bien. La date (15 juillet), le fournisseur et le total TTC y étaient. Quelques minutes de test, et le seul composant inconnu est validé.

Étape 3 : construire nœud par nœud dans n8n

La règle : de gauche à droite, un nœud à la fois. Chaque nœud ajouté s’exécute ; si le résultat est bon, vous l’épinglez (clic droit puis Pin, ou la touche P). Au lancement suivant, n8n réutilise ce résultat au lieu de rappeler Google Drive ou Mistral. Si un nœud refuse une donnée épinglée, retirez l’épingle et relancez. Si vous débutez dans l’interface, créer son premier workflow n8n en donne le mode d’emploi.

Le déclencheur

Faut-il lancer l’automatisation à chaque dépôt de fichier, toutes les heures, une fois par jour ? Le client dépose plusieurs factures par jour : un passage par nuit suffit. J’ai mis un déclencheur Schedule, chaque jour à minuit.

C’est une supposition. Validez toujours la fréquence avec votre client.

Récupérer les factures dans Google Drive

En construisant, des questions apparaissent. Si les factures restent dans le dossier, l’automatisation les retraitera demain à minuit. J’ai donc créé un sous-dossier « fait », où chaque facture traitée sera déplacée. Encore un point à valider avec le client.

Puis deux nœuds Google Drive :

  1. Search files and folders, filtré sur le dossier « démo » et sur les fichiers seulement : il renvoie l’identifiant et le nom de chaque PDF.
  2. Download file, par identifiant (glissé-déposé depuis le nœud précédent) : le PDF entre dans n8n en données binaires.

La connexion à Google Drive passe par la Google Cloud Console. La documentation de n8n la décrit en quelques étapes, comptez quelques minutes.

L’OCR sans lien public

Notre client ne veut pas rendre ses factures publiques. On utilise donc la seconde méthode de Mistral : envoyer le fichier. Dans la vidéo, cela fait trois nœuds HTTP Request, chacun importé depuis le cURL de la documentation :

  1. Envoi du PDF à Mistral (le champ binaire s’appelle data) ;
  2. Récupération de l’URL du fichier stocké chez Mistral, à partir de son identifiant ;
  3. Lecture OCR de cette URL, qui renvoie le texte en Markdown.

Deux réglages qui comptent. La clé ne se colle pas en clair dans chaque nœud : créez un credential Mistral Cloud une seule fois et choisissez-le dans chaque nœud. Sinon, la clé voyage avec le workflow le jour où vous l’exportez pour quelqu’un d’autre. Et retirez l’option de réponse en fichier : sans elle, Mistral renvoie directement du JSON, plus simple à traiter.

Depuis la vidéo, n8n a son propre nœud Mistral AI qui remplace ces trois appels par un seul (voir plus bas). La logique reste la même.

Prenez aussi l’habitude de renommer vos nœuds (touche Espace) : « Recherche PDF dans démo », « Chargement fichier PDF », « Envoi PDF vers Mistral OCR ». Dans deux mois, quand le client demandera une modification, vous vous y retrouverez. Évitez les accents et les emojis dans ces noms : je les ai vus poser problème.

L’extraction par le LLM

Un Basic LLM Chain suffit : pas d’agent, pas d’outils, une tâche simple. Pour écrire le prompt, j’ai demandé à Claude un prompt système et un prompt utilisateur pour extraire date, montant TTC et fournisseur d’un texte d’OCR, au format JSON. Puis j’ai trié ce qu’il m’a rendu. Le squelette retenu :

text
Prompt système :
Tu es un assistant spécialisé dans l’extraction de données de factures.
Ta tâche est d’analyser le texte OCR d’une facture scannée et d’en
extraire précisément les informations demandées.

Prompt utilisateur :
Informations à extraire :
- date de la facture : normalise au format AAAA-MM-JJ ;
- montant TTC : le nombre seul, sans devise, avec un point décimal
  (cherche « Total TTC », « Montant TTC », « Total à payer ») ;
- fournisseur : l’organisme ou l’entreprise qui émet la facture, dans
  l’en-tête, près des coordonnées principales. Ignore les mentions légales.
Si une information est absente, renvoie null. Ne devine rien.
Renvoie uniquement le JSON, sans texte autour.

Exemple d’entrée OCR : [le texte d’une vraie facture]
Sortie attendue : {"date": "...", "montant_ttc": ..., "fournisseur": "..."}

Voici le texte OCR de la facture : {{ $json.pages[0].markdown }}

Le modèle passe par OpenRouter, avec GPT-4.1 mini : la tâche est simple. Pourquoi OpenRouter ? En appelant directement OpenAI ou Anthropic avec un compte récent, les limites de requêtes par minute sont basses : avec un gros prompt, une ou deux par minute. OpenRouter n’a pas ce plafond, pour un surcoût de l’ordre du centime.

Dernière sécurité : cochez Require Specific Output Format, branchez un Structured Output Parser avec un exemple du JSON attendu, et activez Auto-Fix Format en lui passant le même modèle. Si le LLM répond « Voici votre JSON : » avant le JSON, ou renvoie un JSON cassé, l’automatisation ne plante plus : un second appel le répare.

Le raté, et le prompt qui le corrige

Premier essai : bonne date, bon montant, mais un nom de fournisseur inconnu, trouvé dans les mentions légales en bas de page. J’ai renvoyé l’erreur à Claude, qui a détaillé la consigne sur le fournisseur (l’en-tête, les organismes publics, ignorer les mentions légales). Deuxième essai : « Greffe du tribunal de commerce de Créteil ». Juste.

J’ai ensuite ajouté cette facture en exemple dans le prompt, entrée OCR et sortie attendue. Pour un LLM, un exemple vaut souvent mieux qu’une consigne de plus.

Un seul exemple ne suffit pas pour livrer. Demandez à votre client 5 à 10 factures représentatives de son activité et affinez le prompt dessus. Il restera 1 à 3 % d’erreurs, que tout le monde accepte. Des exemples fidèles à son activité les réduisent au minimum.

La Google Sheet et le déplacement du fichier

Créez la feuille « facture » avec 4 colonnes : URL, date, montant TTC, fournisseur. Rangez-la dans un dossier à part (« recap »), jamais dans le dossier surveillé : sinon l’automatisation essaierait de la traiter.

Dans n8n, un nœud Google Sheets Append row : n8n lit les 4 colonnes, vous glissez-déposez la date, le montant et le fournisseur. Pour le lien, collez le début de l’adresse de partage Google Drive en mode expression, suivi de l’identifiant du fichier récupéré au premier nœud :

text
https://drive.google.com/file/d/{{ $('Recherche PDF dans demo').item.json.id }}

Enfin, l’étape que j’avais oubliée : un nœud Google Drive Move file, qui déplace la facture dans « fait ». Sans lui, la même facture revient chaque nuit.

Tester de bout en bout avant de livrer

Retirez toutes les épingles, videz la ligne de test, et relancez tout le workflow. C’est le test de bout en bout. Contrôlez trois choses :

  1. la ligne est dans la Google Sheet, avec le lien, la date, le montant et le fournisseur ;
  2. la facture a quitté « démo » pour « fait » ;
  3. un second lancement s’arrête net, puisqu’il n’y a plus rien à traiter.

Ensuite, deux factures dans le dossier, puis trois ou quatre. Si tout passe, votre automatisation fonctionne dans environ 95 % des cas. Le client vous signalera les cas restants, c’est normal. Ce qui ne l’est pas, c’est une automatisation qui plante le premier jour parce que vous n’avez pas testé de bout en bout. Une fois les tests passés, publiez le workflow pour qu’il tourne seul.

Ce qui a changé depuis septembre 2025

J’ai revérifié les outils de la vidéo le 27 octobre 2026.

  • n8n a maintenant un nœud Mistral AI natif. Son opération Extract Text fait l’OCR d’un document ou d’une image, en données binaires ou par URL, avec le modèle mistral-ocr-latest. Les trois HTTP Request de l’OCR deviennent un seul nœud. Les appels HTTP restent utiles pour toute API que n8n ne connaît pas : la méthode d’import du cURL ne change pas.
  • La console de Mistral s’appelle désormais Studio. L’accès API gratuit est activé par défaut, sans carte bancaire, avec des limites de débit. La clé ne s’affiche qu’une fois.
  • L’OCR de Mistral en est à sa 4e génération, sortie en juin 2026. Il se facture à la page, moins d’un centime, et le traitement par lots divise le prix par deux.
  • Dans n8n, l’interrupteur Active est devenu un bouton Publish. Le détail est dans l’article sur le premier workflow n8n.
  • n8n reste gratuit en auto-hébergement (Community Edition), et n8n Cloud s’essaie 14 jours. Les options sont comparées dans n8n gratuit.

Make propose la même méthode avec une interface plus simple. Pour trancher chez un client, voyez les 4 questions de Make vs n8n. Et pour aller plus loin dans n8n, la masterclass n8n reprend l’outil de A à Z.

Livrer

Ce que vous pouvez vendre avec ça

À qui : un cabinet d’expertise comptable, un syndic de copropriété ou une PME de 5 à 30 salariés qui reçoit chaque mois des dizaines de factures fournisseurs, souvent scannées ou prises en photo, et doit ensuite les ressaisir à la main dans un tableau.

Ce que vous livrez : En l’espace d’une ou deux semaines, vous livrez une automatisation n8n qui, chaque nuit, repère les nouvelles factures du dossier Google Drive, en tire la date, le montant TTC et le fournisseur, les inscrit dans une Google Sheet avec le lien vers le PDF, puis range le document traité. Chaque matin, le client constate que le tableau se remplit de lui-même. Vous fournissez aussi le schéma initial ainsi que les résultats des tests effectués sur ses 5 à 10 factures.

Comment le présenter : « Faites-moi parvenir 10 de vos factures. Je vous montre le tableau obtenu sans saisie et le nombre d’erreurs relevées sur vos propres documents. » Venez avec le schéma entrées, composants, sorties sur une seule page : c’est lui qui fait signer, avant de construire quoi que ce soit. Une fois la prestation achevée, la première mission freelance IA explique comment ce client revient vers vous pour le projet suivant.

L'Accélérateur IA

Signez vos 3 premiers clients IA en 180 jours

Les inscriptions sont fermées. Rejoignez la liste d'attente : vous serez prévenu dès la prochaine ouverture.

Rejoindre la liste d'attente