Retour au projet

SynexFlow AI - Étude de cas du hackathon Tatweer

Étude de cas publique du projet classé deuxième au hackathon Tatweer, centrée sur la prévision, la planification agentique, les alertes et l'architecture IBP.

Vue d'ensemble

SynexFlow est un prototype de planification assistée par IA conçu pour le hackathon Tatweer, où l'équipe a remporté la deuxième place. Il relie la prévision, la planification de la production, la visibilité sur les stocks, le contexte externe et les recommandations.

Problème

La planification d'entreprise dépend des données de ventes, de stocks, de logistique, de fournisseurs, de marché et d'opérations. Quand ces données sont séparées, les équipes réagissent tard aux variations de la demande, aux ruptures, aux retards et aux risques.

Contexte

L'organisation publique compte quatre dépôts : synexflow-ai pour la prévision et les agents FastAPI, tatweer-back pour Express/MongoDB, tatweer-front pour le tableau de bord et tatweer-Landing-page pour les visuels de la page d'accueil.

Mon rôle

Membre de l'équipe du hackathon classée deuxième. L'étude de cas se concentre sur l'architecture construite en équipe et sur le travail de planification par IA, sans revendiquer la paternité exclusive sur l'ensemble des dépôts.

Objectifs

  • Créer un MVP de planification d'entreprise intégrée pour le hackathon Tatweer
  • Prévoir les ventes futures à partir des totaux de commandes historiques
  • Générer des recommandations de planification produit à partir des données produit, du contexte web et d'un raisonnement par LLM
  • Classer les alertes opérationnelles et y répondre avec un plan d'action assisté par IA
  • Exposer les entités métier via une API REST pour le tableau de bord et le service d'IA
  • Montrer la planification, la prévision, les alertes et les facteurs externes dans un tableau de bord tourné vers le produit

Décisions techniques

  • Utiliser FastAPI pour le service d'IA afin que la prévision et les workflows d'agents puissent évoluer indépendamment de l'API produit principale
  • Utiliser TimeGPT via Nixtla pour générer des prévisions de ventes à partir d'un historique de dates et de prix totaux
  • Utiliser LangGraph pour des workflows en plusieurs étapes plutôt qu'un seul prompt, afin de rendre la planification produit et le traitement des alertes plus faciles à raisonner
  • Utiliser DeepSeek via OpenRouter pour les appels au LLM dans les workflows de planification et d'alertes
  • Utiliser une API Express/TypeScript avec MongoDB/Mongoose pour l'authentification, les produits, les clients, les commandes, les fournisseurs, les entrepôts, l'inventaire, les alertes, les actions, les intégrations et les prévisions
  • Utiliser Next.js, React, TypeScript, Tailwind CSS et Chart.js pour le tableau de bord et les surfaces d'analyse
  • Utiliser un dépôt distinct pour la page d'accueil afin que le produit du hackathon puisse être expliqué publiquement tandis que le tableau de bord et l'API restaient modulaires

Architecture

SynexFlow est découpé en couches produit, données et IA. Le tableau de bord Next.js appelle une API Express/TypeScript via Axios. L'API gère l'authentification, la validation, les téléversements et les enregistrements MongoDB des ventes, produits, inventaires, alertes, actions, intégrations et prévisions. FastAPI expose les routes de prévision et de planification. TimeGPT produit les prévisions ; LangGraph récupère les données, ajoute du contexte, appelle un LLM et renvoie des recommandations.

Schéma d'architecture

Mermaid
flowchart LR
  Visitor["Visiteur de la page d'accueil"] --> Landing["Page d'accueil Next.js"]
  BusinessUser["Utilisateur métier"] --> Dashboard["Tableau de bord Next.js"]
  Landing --> Dashboard
  Dashboard --> Rest["Client REST Axios"]
  Rest --> Api["API Express TypeScript"]
  Api --> Auth["Authentification JWT, validation, téléversements"]
  Api --> Modules["Modules IBP"]
  Modules --> Records["Produits, commandes, fournisseurs, entrepôts, inventaire, alertes, prévisions"]
  Api <--> Mongo[("MongoDB et Mongoose")]
  Api --> AiApi["Service d'IA FastAPI"]
  AiApi --> Forecast["Prévision des ventes TimeGPT"]
  AiApi --> ProductGraph["Workflow LangGraph de planification produit"]
  AiApi --> AlertGraph["Workflow LangGraph d'actions sur alertes"]
  ProductGraph --> ProductData["Données de l'endpoint produits"]
  ProductGraph --> MarketSearch["Contexte de recherche web"]
  AlertGraph --> ERPData["Données d'alertes ERP"]
  AlertGraph --> MarketSearch
  MarketSearch --> LLM["DeepSeek via OpenRouter"]
  ERPData --> LLM
  ProductData --> LLM
  LLM --> Plans["Plans intégrés et recommandations d'actions"]
  Forecast --> Insights["Résultats de prévision"]
  Plans --> Dashboard
  Insights --> Dashboard

Captures d'écran de l'étude de cas

4 vues
Surface de planification de la production issue du dépôt de la page d'accueil, qui montre le workflow du calendrier et la barre latérale de planification partagée.
Visuel du tableau de bord de prévision : courbe de tendance des ventes, cartes d'indicateurs, popularité des produits, trafic par zone et métriques marketing.
Surface d'alertes et de prédictions pour les ruptures de stock, les retards d'expédition, les hausses inhabituelles et l'historique des alertes.
Intégrations de facteurs externes : météo, logistique, marchés financiers, entrepôts IoT, prix des concurrents et analyse des comportements.

Fonctionnalités clés

  • Route de prévision des ventes prenant en entrée les données historiques et un horizon de prévision
  • Workflow d'agent de planification produit : récupération des données produit, recherche de contexte web et génération d'un plan intégré
  • Workflow d'actions sur alertes : récupération des données ERP, classification des alertes, contexte supplémentaire et création du plan final
  • Modules backend pour les entités IBP, dont produits, commandes, inventaire, entrepôts, fournisseurs, alertes, actions, intégrations et prévisions
  • Écrans de tableau de bord pour la planification de la production, la prévision des ventes, les alertes et prédictions, l'inventaire, les produits et les rapports
  • Page d'accueil qui présente la planification et l'exécution d'entreprise assistées par IA
  • Deuxième place au hackathon Tatweer par Micro Club à l'USTHB

Défis

  • Rendre compréhensible dans le temps d'un hackathon une idée IBP très large
  • Séparer les dépôts d'IA, de backend, de tableau de bord et de page d'accueil sans perdre le contexte produit
  • Concevoir des workflows d'agents qui récupèrent du contexte avant de générer des plans plutôt que de s'appuyer sur des prompts isolés
  • Relier les sorties de l'IA à des écrans opérationnels comme les prévisions, les alertes, les plans de production et les facteurs externes
  • Garder un texte de portfolio honnête en le présentant comme un prototype de hackathon réalisé en équipe

Résultats

  • Deuxième place au hackathon Tatweer organisé par Micro Club à l'USTHB
  • Un projet public de quatre dépôts avec workflows d'IA, API backend, tableau de bord et page d'accueil
  • Ajout d'une étude de cas sur les LLM et les systèmes agentiques
  • Remplacement du texte de substitution par une architecture, des visuels et des liens publics fondés sur les dépôts

Ce que j'ai appris

  • Les systèmes agentiques sont plus faciles à expliquer quand chaque nœud correspond à une étape métier : récupérer des données, ajouter du contexte, raisonner, puis produire un plan
  • Les workflows de prévision et d'alertes deviennent plus utiles lorsqu'ils sont reliés aux décisions du tableau de bord
  • Les projets de hackathon ont besoin de schémas d'architecture clairs parce que le produit s'étend souvent sur plusieurs petits dépôts
  • Un résultat gagnant est plus utile quand il s'accompagne de détails techniques concrets