🛠️ NetMentor — Schéma d'Orchestration Fonctionnel NetMentor :
Discover how the NetMentor platform orchestrates intelligent LAB generation, simulation, and analysis.

Description des Apps
1️⃣ App assistant/ (Assistant IA)
Élément | Détail |
---|---|
🎯 Rôle | Gérer le dialogue avec l'utilisateur pour créer ou améliorer un LAB |
📥 Input | Questions/commandes utilisateur via UI (chatbot web) |
⚙️ Traitement | Utiliser LLM pour répondre / générer des propositions techniques |
📤 Output | Réponses semi-structurées (texte, json brut) |
🔗 Vers | prompt/ (structuration propre) |
- Utilisateur : "Je veux 5 routeurs connectés par BGP"
- Assistant : Génère un JSON brut expliquant les devices souhaités
APPORT DE L ASSITANT IA - LLM
Catégorie | Exemples de Questions |
---|---|
Topologie simple | Créer une topologie simple avec 3 routeurs et 1 switch"- "Générer un réseau Clos FatTree 3:1". |
Topologie avancée | Créer un LAB SD-WAN simple | Génère une topologie réseau avec deux régions interconnectées via SD-WAN avec 2 routeurs par site.. |
Topologie avancée | Générer un LAB EVPN VXLAN | Crée une topologie basée sur EVPN VXLAN avec 2 leafs et 2 spines. |
Topologie avancée | Générer un LAB MPLS complexe multi-régions | (Prompt structuré ➡️ détaillé juste en dessous ⬇️). |
Sécurité | "Lister les failles de sécurité sur une topologie donnée"- "Ajouter des ACL sur toutes les interfaces externes" |
⚙️ Simulation | "Simuler une coupure de lien OSPF entre R1 et R2"- "Analyser le temps de convergence BGP après panne" |
⚙️ Simulation avancée | Simuler une panne BGP multi-AS | Simule une panne BGP entre 2 AS distincts avec perte de peering. |
📤 Audit | "Vérifier l'isolation VRF pour tous les clients"- "Contrôler les routes importées/exportées en VPNv4" |
📤Audit avancé | Détecter les anomalies BGP | Analyse une topologie BGP et détecte les chemins incohérents ou boucles de routage. |
🔗 Déploiement | "Générer le fichier clab.yml pour la topologie MPLS"- "Préparer les configs de boot des équipements" |
Monitoring | "Afficher les flux NetFlow les plus actifs"- "Détecter les anomalies de trafic sur le réseau" |
✅ Exemple de prompt complet :
"Génère une topologie MPLS avancée multi-régions avec les critères suivants :- Nombre de régions géographiques : [ex: 3 régions]
- Nombre de sites clients par région : [ex: 5 sites]
- Nombre de POP principaux par région : [ex: 2 POP]
- Connexions entre POPs intra-région : [ex: maillage complet ou en anneau]
- Connexions inter-régions : [ex: Backbone BGP/MPLS reliant chaque POP]
- Type de services à activer : [VPNv4, Internet, L3VPN, etc.]
- Options de redondance : [Lien primaire/secours, route reflectors, etc.]
Produis une sortie YAML compatible avec un fichier Containerlab .clab.yml.
Chaque équipement doit avoir un hostname, une boucle OSPF, une interface de transport, et une connectivité BGP/MPLS."
Assistant IA (App assistant/)
Élément | Détail |
---|---|
🌟 Rôle | Gérer le dialogue avec l'utilisateur pour créer ou améliorer un LAB. |
📥 Input | Questions/commandes utilisateur via UI (chatbot web) |
⚙️ Traitement | Utiliser LLM pour répondre / générer des propositions techniques |
📤 Output | Réponses semi-structurées (texte, JSON brut) |
🔗 Vers | prompt/ (structuration propre) |
Prompt Manager (App prompt/)
Élément | Détail |
---|---|
🌟 Rôle | Structurer et valider les données issues de l'assistant IA. |
📥 Input | JSON brut des réponses |
⚙️ Traitement | Normalisation, enrichissement, validation de topologie. |
📤 Output | Topologie propre (JSON/YAML) |
🔗 Vers | topology/ ou labs/ |
Topology Generator (App topology/)
Élément | Détail |
---|---|
🌟 Rôle | Génération de topologies aléatoires via Neo4j si besoin. |
📥 Input | Structure JSON/YAML validée |
⚙️ Traitement | Création automatique de liens/nœuds. |
📤 Output | Topologie enrichie |
🔗 Vers | labs/ |
Lab Manager (App labs/)
Élément | Détail |
---|---|
🌟 Rôle | Génération et stockage de fichiers .clab.yml. |
📥 Input | Topologie enrichie |
⚙️ Traitement | Écriture du fichier YAML, affichage à l'utilisateur. |
📤 Output | Fichier .clab.yml sauvegardé |
🔗 Vers | simulator/ |
Simulator (App simulator/)
Élément | Détail |
---|---|
🌟 Rôle | Exécution du LAB (Containerlab) et tests réseau. |
📥 Input | Fichier .clab.yml |
⚙️ Traitement | Déploiement, test de convergence, collecte de logs. |
📤 Output | Logs et résultats de simulation |
🔗 Vers | audit/ |
Audit Manager (App audit/)
Élément | Détail |
---|---|
🌟 Rôle | Analyse d'impact et détection d'anomalies. |
📥 Input | Logs de simulation |
⚙️ Traitement | Comparaison, scoring, CVE check. |
📤 Output | Rapport final à l'utilisateur |
🔗 Vers | dashboard/ (visualisation) |
UTILISATEUR (Dashboard / Chatbot IA) | v +----------------------------+ | assistant/ | | (Dialogue + récupération) | +------------+---------------+ | v +----------------------------+ | prompt/ | | (Structuration + validation)| +------------+---------------+ | v +----------------------------+ | topology/ | | (Génération de topologie | | aléatoire via Neo4j) | +------------+---------------+ | v +----------------------------+ | labs/ | | (Création du .clab.yml) | | (Stockage + affichage) | +------------+---------------+ | v +----------------------------+ | simulator/ | | (Déploiement + Simulation) | +------------+---------------+ | v +----------------------------+ | audit/ | | (Analyse résultats) | | (Impact, CVE, Résilience) | +----------------------------+ | v +----------------------------+ | Retour Utilisateur | | (Résultats, Optimisations) | +----------------------------+
🛠 Comment chaque app doit fonctionner et se chaîner :
App Django | Fonction principale | Donnée entrée | Donnée sortie |
---|---|---|---|
assistant/ | Gérer le dialogue avec l'utilisateur pour créer ou améliorer un LAB. | ||
prompt/ | Dialogue + collecte d'infos | Questions/réponses utilisateur | Réponses JSON |
topology/ | Génération aléatoire de topologie (option) | Infos réseau | Topologie structurée |
labs/ | Génération du .clab.yml | Topologie ou configs | Fichier YAML valide |
simulator/ | Déploiement et simulation réseau | .clab.yml | Résultats simulation |
audit/ | Analyse de performance et erreurs | Résultats simulation | Rapport final |
📋 Résumé rapide :
Fonction | Enchaînement |
---|---|
Créer un LAB | Assistant ➔ Prompt ➔ Topology ➔ Labs |
Déployer un LAB | Labs ➔ Simulator |
Analyser un LAB | Simulator ➔ Audit |
🎯 Ce que cela permet :
- 100% sans code pour l'utilisateur (tout orchestré en fond)
- Recyclage intelligent des données
- Modularité (tu peux changer l'IA, le simulateur sans casser le reste)
- Traçabilité totale (chaque étape peut être loguée, versionnée)
- Extensibilité (on peut ajouter des apps futures : sécurité avancée, performance tuning, auto-fix)
🔥 Exemple de scénario utilisateur complet :
🎯 Tout est fluide, sans code manuel pour l'utilisateur.
✅ PLAN DE TEST STACK NETMENTOR
🛠️ Plan de Test NetMentor
Validation complète du cycle de vie des projets réseau via la plateforme.
# | Étape | Description | Responsable | Statut |
---|---|---|---|---|
1 | Création Projet | Création d'un projet réseau depuis le Dashboard. | Utilisateur | Validé |
2 | Interaction Chatbot | Collecte et assistance via Chatbot IA intelligent. | Assistant IA | À tester |
3 | Génération YAML | Création dynamique du fichier `.clab.yml` basé sur les prompts. | Backend Django | Validé |
4 | Déploiement Lab | Déploiement automatisé via ContainerLab sur l'infrastructure cible. | ContainerLab | À planifier |
5 | Supervision & Monitoring | Surveillance en temps réel et analyse des simulations de panne. | Monitoring Django | À planifier |