Files
rpa_vision_v3/visual_workflow_builder/PROJECT_SETUP.md
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:23:51 +01:00

8.4 KiB

Visual Workflow Builder - Project Setup Complete

Configuration Terminée

La structure du projet Visual Workflow Builder a été configurée avec succès. Tous les fichiers de configuration et la structure de base sont en place.

Structure Créée

visual_workflow_builder/
├── README.md                    # Documentation principale
├── PROJECT_SETUP.md            # Ce fichier
├── .gitignore                  # Configuration Git
├── start.sh                    # Script de démarrage rapide
│
├── frontend/                   # Application React + TypeScript
│   ├── src/
│   │   ├── components/
│   │   │   ├── Canvas/         # Composant Canvas (Phase 2)
│   │   │   ├── Palette/        # Composant Palette (Phase 2)
│   │   │   ├── PropertiesPanel/ # Panneau de propriétés (Phase 3)
│   │   │   └── TargetSelector/  # Sélecteur de cible (Phase 3)
│   │   ├── models/             # Types TypeScript
│   │   ├── services/           # Services API
│   │   ├── store/              # Redux store
│   │   ├── utils/              # Utilitaires
│   │   ├── App.tsx             # Composant principal
│   │   ├── index.tsx           # Point d'entrée
│   │   └── index.css           # Styles globaux
│   ├── public/
│   │   ├── index.html          # Template HTML
│   │   └── favicon.ico         # Icône
│   ├── tests/
│   │   └── setup.ts            # Configuration Jest
│   ├── package.json            # Dépendances npm
│   ├── tsconfig.json           # Configuration TypeScript
│   ├── webpack.config.js       # Configuration Webpack
│   ├── .eslintrc.json          # Configuration ESLint
│   └── jest.config.js          # Configuration Jest
│
└── backend/                    # API Flask + Python
    ├── api/
    │   ├── __init__.py
    │   ├── workflows.py        # Endpoints workflows
    │   ├── templates.py        # Endpoints templates
    │   ├── node_types.py       # Endpoints types de nodes
    │   ├── executions.py       # Endpoints exécutions
    │   └── websocket_handlers.py # Handlers WebSocket
    ├── models/                 # Modèles de données
    │   └── __init__.py
    ├── services/               # Logique métier
    │   └── __init__.py
    ├── utils/                  # Utilitaires
    │   └── __init__.py
    ├── tests/
    │   ├── __init__.py
    │   └── conftest.py         # Configuration Pytest
    ├── app.py                  # Point d'entrée Flask
    ├── requirements.txt        # Dépendances Python
    ├── .env.example            # Template variables d'environnement
    └── pytest.ini              # Configuration Pytest

Technologies Configurées

Frontend

  • React 18 avec TypeScript
  • Webpack 5 pour le build
  • ESLint pour le linting
  • Jest + React Testing Library pour les tests
  • Redux Toolkit pour la gestion d'état
  • Material-UI pour les composants UI
  • react-flow-renderer pour le canvas
  • Socket.IO client pour le temps réel

Backend

  • Flask avec Flask-SocketIO
  • Flask-CORS pour CORS
  • SQLAlchemy pour la base de données
  • Redis pour le cache (optionnel en dev)
  • Pytest pour les tests
  • Hypothesis pour les tests property-based
  • Pydantic pour la validation

Démarrage Rapide

Option 1: Script Automatique

cd visual_workflow_builder
./start.sh

Ce script démarre automatiquement le backend et le frontend.

Option 2: Démarrage Manuel

Backend

cd visual_workflow_builder/backend
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
python app.py

Le backend sera accessible sur http://localhost:5001

Frontend

cd visual_workflow_builder/frontend
npm install
npm start

Le frontend sera accessible sur http://localhost:3000

Vérification de l'Installation

Backend

cd backend
source venv/bin/activate
pytest  # Devrait passer (aucun test pour l'instant)
python app.py  # Devrait démarrer sans erreur
curl http://localhost:5001/health  # Devrait retourner {"status": "healthy"}

Frontend

cd frontend
npm run type-check  # Devrait passer
npm run lint  # Devrait passer
npm test  # Devrait passer (aucun test pour l'instant)
npm start  # Devrait ouvrir le navigateur

Prochaines Étapes

Phase 1: Fondations et Structure de Base (Tâches 2-4)

  1. Tâche 2: Implémenter les modèles de données de base

    • Classes Python pour VisualWorkflow, VisualNode, VisualEdge
    • Interfaces TypeScript correspondantes
    • Tests property-based pour la sérialisation
  2. Tâche 3: Créer l'API REST de base

    • Endpoints CRUD pour workflows
    • Validation JSON Schema
    • Tests d'API
  3. Tâche 4: Checkpoint - Vérifier que les tests passent

Phase 2: Interface Canvas de Base (Tâches 5-8)

  1. Tâche 5: Implémenter le composant Canvas
  2. Tâche 6: Implémenter la gestion des edges
  3. Tâche 7: Créer la palette de nodes
  4. Tâche 8: Checkpoint

Phases Suivantes

  • Phase 3: Configuration et Propriétés (Tâches 9-12)
  • Phase 4: Validation et Vérification (Tâches 13-15)
  • Phase 5: Conversion et Exécution (Tâches 16-19)
  • Phase 6: Feedback Temps Réel (Tâches 20-22)
  • Phase 7: Templates et Réutilisabilité (Tâches 23-25)
  • Phase 8: Fonctionnalités Avancées (Tâches 26-29)
  • Phase 9: Raccourcis et UX (Tâches 30-33)
  • Phase 10: Intégration avec l'Écosystème (Tâches 34-37)
  • Phase 11: Extensibilité et Documentation (Tâches 38-41)

Configuration des Outils de Développement

VS Code (Recommandé)

Extensions recommandées:

  • ESLint
  • Prettier
  • Python
  • Pylance
  • Jest Runner

Configuration Git

cd visual_workflow_builder
git init
git add .
git commit -m "Initial project setup - Visual Workflow Builder"

Dépendances Système

Prérequis

  • Node.js: 18.x ou supérieur
  • Python: 3.10 ou supérieur
  • npm: 9.x ou supérieur
  • pip: 23.x ou supérieur

Optionnel (pour production)

  • Redis: 7.x ou supérieur (pour le cache)
  • PostgreSQL: 15.x ou supérieur (pour la base de données)
  • Nginx: Pour le reverse proxy

Commandes Utiles

Frontend

npm start          # Développement avec hot reload
npm run build      # Build de production
npm test           # Tests
npm run lint       # Linting
npm run lint:fix   # Fix automatique du linting
npm run type-check # Vérification TypeScript

Backend

python app.py           # Démarrer le serveur
pytest                  # Tous les tests
pytest -v               # Tests verbeux
pytest --cov            # Avec couverture
pytest -m unit          # Tests unitaires seulement
pytest -m property      # Tests property-based seulement
black .                 # Formater le code
flake8 .                # Vérifier le style
mypy .                  # Vérifier les types

Troubleshooting

Port déjà utilisé

Si le port 3000 ou 5000 est déjà utilisé:

  • Frontend: Modifier webpack.config.js (devServer.port)
  • Backend: Modifier .env (PORT=5001)

Erreurs d'installation npm

rm -rf node_modules package-lock.json
npm cache clean --force
npm install

Erreurs d'installation pip

rm -rf venv
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Base de données verrouillée

rm backend/*.db
python backend/app.py  # Recrée la base

Support et Documentation

  • Design Document: .kiro/specs/visual-workflow-builder/design.md
  • Requirements: .kiro/specs/visual-workflow-builder/requirements.md
  • Tasks: .kiro/specs/visual-workflow-builder/tasks.md
  • README: visual_workflow_builder/README.md

Statut du Projet

  • Tâche 1: Configuration de la structure du projet - TERMINÉE
  • Tâche 2: Implémenter les modèles de données de base
  • Tâche 3: Créer l'API REST de base
  • Phases suivantes...

Date de création: 2 décembre 2024 Version: 1.0.0 Statut: Configuration initiale terminée