Projet d'Automatisation n8n🚀

Projet d'Automatisation n8n🚀

Table of Contents

Agent de Départ des Trains Belge : Un Projet d’Automatisation n8n

Aperçu

Ce projet présente un puissant workflow n8n qui crée un agent intelligent de départ des trains belge. Le système s’intègre à l’iRail API pour fournir des informations en temps réel sur les départs de train via des interactions avec un bot Telegram et des vérifications programmées, démontrant les capacités de l’automatisation low-code pour les données de transport en situation réelle.

Fonctionnalités

  • Données Train en Temps Réel: Récupère les informations de départ en direct des gares belges via l’iRail API
  • Intégration Bot Telegram: Les utilisateurs peuvent interroger les départs de train via des messages en langage naturel
  • Correspondance Intelligente de Gare: Algorithme de correspondance floue intelligent pour trouver les gares à partir de l’entrée utilisateur
  • Méthodes d’Entrée Multiples: Supporte à la fois les déclencheurs webhook et les vérifications automatisées programmées
  • Formatage Ricoche: Affiche les informations de départ avec les détails des quais, les retards et les indicateurs de statut
  • Gestion des Erreurs: Gestion robuste des erreurs pour les noms de gare invalides ou les échecs API

Architecture

Le workflow est composé de plusieurs composants clés travaillant en harmonie :

Composants Principaux

  1. Déclencheur Webhook (Webhook) : Écoute les requêtes POST à lpoint de terminaison /train-departures
  2. Parseur de Message (Code en JavaScript1) : Extrait les informations de ville et de temps des messages en langage naturel
  3. Rechercheur de Gare (Trouver Gare) : Correspondance de l’entrée utilisateur aux noms officiels des gares belges utilisant la logique floue
  4. Intégration API (Get Stations & Get Liveboard) : Récupère les données des gares et les informations de départ en direct
  5. Formateur de Réponse (Code en JavaScript3) : Formate les données de départ en messages conviviaux
  6. Bot Telegram (Envoyer à Telegram) : Livrez les résultats formatés aux utilisateurs

Fonctionnalités Supplémentaires

  • Déclencheur de Programme: Permet les vérifications automatisées de départ à des intervalles spécifiés
  • Interface de Chat: Fournit une interface de chat interactive pour les utilisateurs
  • Nœuds de Requête HTTP: Permettent les tests et l’intégration avec des systèmes externes

Implémentation Technique

Traitement du Langage Naturel

Le système utilise des modèles regex sophistiqués pour analyser les messages utilisateur :

const patterns = [
  /departures?\s+from\s+([^\s]+)\s+at\s+(\d{1,2}:?\d{0,2})/i,
  /([^\s]+)\s+(\d{1,2}:?\d{0,2})/,
  /([^\s]+)\s+at\s+(\d{1,2}:?\d{0,2})/i
];

Algorithme de Correspondance de Gare

Le système de correspondance floue note les gares en fonction de :

  • Correspondance Parfaite: Correspondance exacte du nom (100 points)
  • Correspondance Proche: Inclusion partielle du nom (80 points)
  • Correspondance Faible: Trois premiers caractères (40 points)

Formatage de la Réponse

Le système affiche jusqu’à 5 départs avec un formatage riche :

  • Numéros de train et destinations
  • Heures de départ avec informations de retard
  • Numéros de quai
  • Statut en temps réel (à l’heure, retardé ou annulé)

Intégration API

Points de Terminaison iRail API

  • Gares: https://api.irail.be/stations/?format=json&lang=en
  • Liveboard: https://api.irail.be/liveboard/?station={station}&format=json&lang=en

Traitement des Données

Le workflow gère :

  • Conversion des timestamps Unix en format lisible par l’homme
  • Calcul des retards (secondes en minutes)
  • Nettoyage des ID de véhicule (supprime le préfixe “BE.NMBS.”)
  • Détection du statut d’annulation

Cas d’Utilisation

Pour les Navetteurs

  • Vérifications rapides des départs avant de quitter domicile/bureau
  • Informations de retard en temps réel
  • Changements de quai et mises à jour de service

Pour les Voyageurs

  • Correspondance de nom de gare conviviale pour les touristes
  • Support multilingue (Anglais)
  • Interrogations intuitives en langage naturel

Pour les Développeurs

  • Exemple de conception de workflow n8n
  • Modèles d’intégration API
  • Meilleures pratiques de gestion des erreurs

Exigences de Configuration

Prérequis

  • Instance n8n avec capacités webhook
  • Jeton API Bot Telegram
  • Accès Internet aux points de terminaison iRail API

Étapes de Configuration

  1. Importer le workflow JSON dans n8n
  2. Configurer les identifiants du bot Telegram
  3. Configurer l’URL du point de terminaison webhook
  4. Tester avec des requêtes exemples
  5. Configurer les déclencheurs de programme si nécessaire

Exemple d’Interactions

Message Utilisateur: “Charleroi” Réponse Bot:

🚄 Départs: Charleroi-Central

1. 🚂 S614160
   🕐 09:54
   📍 Quai 10
   🧭 Vers: Jambes
À l'heure

2. 🚂 S624260
   🕐 09:55
   📍 Quai 6
   🧭 Vers: Luttre
À l'heure

3. 🚂 IC932
   🕐 10:13
   📍 Quai 9
   🧭 Vers: Lille Flandres
À l'heure

4. 🚂 S614560
   🕐 10:16
   📍 Quai 1
   🧭 Vers: Jambes
À l'heure

5. 🚂 IC3810
   🕐 10:19
   📍 Quai 7
   🧭 Vers: Herstal
À l'heure

📅 Demandé pour: maintenant
🔄 Mis à jour: 9:53:26

Avantages

  • Automatisation: Réduit la vérification manuelle des horaires de train
  • Accessibilité: Fournit des informations instantanées via des interfaces de chat familières
  • Fiabilité: Gère les erreurs avec grace avec des messages utiles
  • Extensibilité: Peut être étendu pour supporter plusieurs langues ou régions
  • Intégration: Facile à intégrer avec d’autres systèmes et workflows

Améliorations Futures

Des améliorations potentielles pourraient inclure :

  • Support multilingue (Anglais, Français, Néerlandais…)
  • Planification de voyage avec informations d’itinéraire
  • Informations tarifaires et intégration de réservation de billets
  • Notifications push pour les itinéraires favoris
  • Analyses historiques des retards

Conclusion

Cet Agent de Départ des Trains Belge démontre comment n8n peut être utilisé pour créer des solutions d’automatisation sophistiquées en situation réelle qui intègrent plusieurs API et fournissent une valeur réelle aux utilisateurs. La combinaison du traitement du langage naturel, de l’intégration API et de la connectivité de plateforme de messagerie crée une expérience utilisateur transparente tout en démontrant la puissance des plateformes d’automatisation low-code.

Le projet sert d’excellente référence pour les développeurs cherchant à construire des workflows d’automatisation similaires axés sur le transport ou les données en utilisant n8n.

Tags :
Share :
comments powered by Disqus