# Guide de Diagnostic Documentation - Visual Workflow Builder ## 🎯 Objectif Ce guide vous aide à diagnostiquer et résoudre le problème de l'onglet Documentation qui ne fonctionne pas dans le Visual Workflow Builder. ## 📋 Outils de Diagnostic Disponibles ### 1. Diagnostic HTML Frontend (`diagnostic_documentation_final.html`) - **Usage**: Ouvrir dans le navigateur pendant que l'application fonctionne - **Cible**: Interface utilisateur, composants React, interactions - **Résultats**: Analyse en temps réel des éléments DOM et des interactions ### 2. Diagnostic Python Backend (`test_documentation_diagnostic_final.py`) - **Usage**: Exécuter en ligne de commande - **Cible**: Services backend, fichiers, APIs, configuration - **Résultats**: Vérification de l'infrastructure et des données ## 🚀 Procédure de Diagnostic Complète ### Étape 1: Préparation ```bash # 1. Assurez-vous que les services sont démarrés cd visual_workflow_builder ./start.sh # 2. Vérifiez que l'application est accessible # Frontend: http://localhost:3000 # Backend: http://localhost:5000 ``` ### Étape 2: Diagnostic Backend ```bash # Exécuter le diagnostic Python python3 test_documentation_diagnostic_final.py # Examiner les résultats cat diagnostic_documentation_results.json ``` ### Étape 3: Diagnostic Frontend 1. Ouvrez `http://localhost:3000` dans votre navigateur 2. Créez un élément de workflow (glissez depuis la palette) 3. Cliquez sur l'élément pour ouvrir le panneau des propriétés 4. Ouvrez `diagnostic_documentation_final.html` dans un nouvel onglet 5. Copiez le script de diagnostic depuis la page HTML 6. Retournez sur l'application (onglet avec le workflow) 7. Ouvrez F12 → Console 8. Collez le script et appuyez sur Entrée 9. Attendez les résultats complets ### Étape 4: Analyse des Résultats ## 🔍 Interprétation des Résultats ### Diagnostic Backend - Indicateurs Clés #### ✅ Statut Normal ```json { "backend_services": { "server_running": true, "server_status": 200 }, "frontend_files": { "files": { "src/components/DocumentationTab/index.tsx": { "exists": true, "has_component": true, "has_documentation_service": true } } } } ``` #### ❌ Problèmes Possibles - `server_running: false` → Serveur backend non démarré - `files.*.exists: false` → Fichiers manquants - `api_endpoints.*.accessible: false` → APIs non fonctionnelles - `data_integrity.*.syntax_checks` → Erreurs de syntaxe dans les données ### Diagnostic Frontend - Indicateurs Clés #### ✅ Statut Normal ```javascript { environment: { react: true, mui: true, toolsDoc: true }, tabs: { documentationFound: true, activated: true }, panels: { withDocContent: 1 } } ``` #### ❌ Problèmes Possibles - `environment.react: false` → React non chargé - `tabs.documentationFound: false` → Onglet Documentation absent - `tabs.activated: false` → Onglet ne s'active pas au clic - `panels.withDocContent: 0` → Aucun contenu de documentation visible - `services.documentationService: false` → Service non disponible ## 🛠️ Solutions par Type de Problème ### Problème 1: Serveur Backend Non Accessible ```bash # Vérifier les processus ps aux | grep python ps aux | grep node # Redémarrer les services cd visual_workflow_builder ./start.sh # Vérifier les ports netstat -tlnp | grep :5000 netstat -tlnp | grep :3000 ``` ### Problème 2: Fichiers Frontend Manquants ```bash # Vérifier la structure des fichiers ls -la visual_workflow_builder/frontend/src/components/DocumentationTab/ ls -la visual_workflow_builder/frontend/src/services/ ls -la visual_workflow_builder/frontend/src/data/ # Réinstaller les dépendances si nécessaire cd visual_workflow_builder/frontend npm install ``` ### Problème 3: Onglet Documentation Non Trouvé **Causes possibles:** - Composant DocumentationTab non importé dans PropertiesPanel - Erreur de compilation TypeScript - Problème de rendu conditionnel **Vérifications:** ```bash # Vérifier les erreurs de compilation cd visual_workflow_builder/frontend npm run build # Vérifier les logs du serveur de développement # (dans la console où vous avez lancé npm start) ``` ### Problème 4: Onglet Ne S'Active Pas **Causes possibles:** - Gestionnaire d'événements non attaché - Problème de state management React - Conflit avec d'autres composants **Solutions:** 1. Vérifier les props passées au composant Tabs 2. Vérifier la fonction `handleTabChange` 3. Vérifier l'état `activeTab` ### Problème 5: Contenu Documentation Non Visible **Causes possibles:** - Service DocumentationService non initialisé - Données TOOLS_DOCUMENTATION non chargées - Problème de rendu conditionnel dans DocumentationTab **Solutions:** 1. Vérifier l'initialisation du service dans `useEffect` 2. Vérifier le chargement des données `toolDocumentation.ts` 3. Vérifier les conditions de rendu dans le composant ### Problème 6: Données de Documentation Corrompues ```bash # Vérifier la syntaxe TypeScript cd visual_workflow_builder/frontend npx tsc --noEmit # Vérifier le fichier de données spécifiquement node -c src/data/toolDocumentation.ts ``` ## 🔧 Actions de Réparation Courantes ### Réparation 1: Redémarrage Complet ```bash # Arrêter tous les services pkill -f "react-scripts" pkill -f "python.*app.py" # Nettoyer les caches cd visual_workflow_builder/frontend rm -rf node_modules/.cache rm -rf build # Redémarrer ./start.sh ``` ### Réparation 2: Reconstruction Frontend ```bash cd visual_workflow_builder/frontend rm -rf node_modules rm package-lock.json npm install npm start ``` ### Réparation 3: Vérification des Imports Vérifier que dans `PropertiesPanel/index.tsx`: ```typescript import DocumentationTab from '../DocumentationTab'; import documentationService from '../../services/DocumentationService'; ``` Vérifier que dans `DocumentationTab/index.tsx`: ```typescript import documentationService from '../../services/DocumentationService'; import { TOOLS_DOCUMENTATION } from '../../data/toolDocumentation'; ``` ## 📊 Rapport de Diagnostic Type Après avoir exécuté les deux diagnostics, vous devriez avoir: 1. **Fichier JSON** (`diagnostic_documentation_results.json`) avec les résultats backend 2. **Sortie console** avec les résultats frontend détaillés 3. **Résumé** indiquant les composants OK/ERROR ### Exemple de Rapport Complet ``` Backend Status: ✅ OK Frontend Files: ✅ OK API Status: ✅ OK Data Integrity: ❌ ERROR (syntax error in toolDocumentation.ts) Configuration: ✅ OK Integration: ⚠️ WARNING (DocumentationTab not properly imported) → DIAGNOSTIC: Problème dans les données de documentation et l'intégration → ACTION: Corriger la syntaxe et vérifier les imports ``` ## 🎯 Prochaines Étapes Une fois le diagnostic terminé: 1. **Analysez les résultats** selon ce guide 2. **Identifiez la cause racine** (backend, frontend, données, intégration) 3. **Appliquez les corrections** appropriées 4. **Re-testez** avec les outils de diagnostic 5. **Documentez la solution** pour éviter la récurrence ## 📞 Support Si le problème persiste après avoir suivi ce guide: 1. Partagez les résultats complets des deux diagnostics 2. Incluez les logs d'erreur de la console navigateur 3. Incluez les logs du serveur backend 4. Précisez les étapes exactes qui mènent au problème Ce diagnostic complet devrait permettre d'identifier et de résoudre 95% des problèmes liés à l'onglet Documentation.