Files
rpa_vision_v3/visual_workflow_builder
Dom ffd97ae9a5
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 11s
security-audit / pip-audit (CVE dépendances) (push) Successful in 10s
security-audit / Scan secrets (grep) (push) Successful in 7s
tests / Lint (ruff + black) (push) Successful in 12s
tests / Tests unitaires (sans GPU) (push) Failing after 13s
tests / Tests sécurité (critique) (push) Has been skipped
feat(knowledge): détection et gestion automatique des dialogues UI
UIPatternLibrary câblée dans l'executor et le stream processor.
Pendant un wait_for_anchor, Léa surveille l'écran toutes les secondes :
1. OCR plein écran (docTR)
2. Pattern matching (dialogues Save, OK, Cancel, cookies...)
3. OCR ciblé pour trouver le bouton par son texte réel
4. Clic sur le match le plus bas (bouton, pas titre)

Fix : seuil ratio supprimé (trigger trouvé = match, quelle que soit
la longueur du texte OCR). Matching strict mot exact ≥3 chars
(évite les faux positifs sur lettres isolées). Fallback recherche
partielle pour les lettres soulignées (E_nregistrer).

Plus aucune coordonnée hardcodée — 100% vision.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 11:06:17 +02:00
..
2026-04-16 08:37:12 +02:00
2026-04-16 08:37:12 +02:00
2026-04-16 08:37:12 +02:00
2026-04-16 08:37:12 +02:00
2026-04-16 08:37:12 +02:00

Visual Workflow Builder

Interface graphique pour créer des workflows RPA par glisser-déposer, sans écrire de code.

État actuel (avril 2026) : la version active est frontend_v4/ (Vite + React, port 3002), lancée par ./run_v4.sh ou ./launch.sh (wrapper). Le dossier frontend/ est conservé pour référence legacy (Create React App, port 3000), lancé par ./run.sh. Les sections launch.sh setup/stop/restart/logs ci-dessous sont historiques : seules ./launch.sh (= ./run_v4.sh) et ./launch.sh legacy (= ./run.sh) sont effectivement implémentées.

🚀 Démarrage Ultra-Rapide

Méthode Simple (Recommandée)

# Démarrer l'application complète (frontend_v4, port 3002)
./launch.sh

# Ouvrir http://localhost:3002 dans votre navigateur

Sur Windows :

# Configuration initiale (une seule fois)
launch.bat setup

# Démarrer l'application complète
launch.bat start

Prérequis

  • Python 3.8+
  • Node.js 16+
  • npm

🎮 Commandes Principales

Script de Lancement Unifié

Le script launch.sh (ou launch.bat sur Windows) simplifie toutes les opérations :

# Démarrer en mode développement (avec hot reload)
./launch.sh start --dev

# Démarrer en mode production
./launch.sh start --prod

# Arrêter l'application
./launch.sh stop

# Redémarrer
./launch.sh restart

# Voir le statut
./launch.sh status

# Voir les logs en temps réel
./launch.sh logs

# Lancer tous les tests
./launch.sh test

# Configuration initiale
./launch.sh setup

# Nettoyer les fichiers temporaires
./launch.sh clean

# Aide complète
./launch.sh --help

Ports Personnalisés

# Frontend sur port 3001, backend sur port 5002
./launch.sh start --port 3001 --backend-port 5002

🧪 Tests

Tests Automatisés

# Tous les tests
./launch.sh test

# Tests spécifiques
./test_import_export.sh    # Test import/export
./test_zoom_pan.sh         # Test zoom et panoramique

Tests Manuels

  1. Interface utilisateur : http://localhost:3000
  2. API Health Check : http://localhost:5001/health
  3. Import/Export : Utilisez les boutons dans l'interface
  4. Zoom/Pan : Molette de souris + Ctrl+Drag

Architecture

Le projet est divisé en deux parties principales :

Frontend (React + TypeScript)

  • Framework: React 18 avec TypeScript
  • Canvas: react-flow-renderer pour le rendu des graphes avec zoom/pan personnalisé
  • State Management: Hooks personnalisés avec Undo/Redo
  • UI Components: Composants personnalisés + Material-UI
  • Real-time: Socket.IO client pour synchronisation d'exécution
  • Import/Export: Support JSON/YAML avec validation
  • Build: Create React App avec TypeScript

Backend (Flask + Python)

  • Framework: Flask avec Flask-SocketIO
  • Database: SQLAlchemy (SQLite pour dev, PostgreSQL pour prod)
  • Validation: JSON Schema + validation personnalisée
  • Import/Export: API REST avec support multi-formats
  • Cache: Redis (optionnel)
  • Testing: Pytest + tests d'intégration

Structure du Projet

visual_workflow_builder/
├── launch.sh              # 🚀 Script de lancement principal (Linux/Mac)
├── launch.bat             # 🚀 Script de lancement principal (Windows)
├── backend/               # API Flask
│   ├── api/
│   │   ├── workflows.py   # CRUD workflows
│   │   ├── import_export.py # Import/Export
│   │   ├── templates.py   # Templates
│   │   └── websocket_handlers.py # WebSocket
│   ├── models/            # Modèles de données
│   ├── services/          # Logique métier
│   └── app.py            # Point d'entrée
├── frontend/             # Interface React + TypeScript
│   ├── src/
│   │   ├── components/
│   │   │   ├── Canvas/    # Canvas principal avec zoom/pan
│   │   │   ├── ZoomControls/ # Contrôles de zoom
│   │   │   ├── ImportExport/ # Import/Export UI
│   │   │   └── UndoRedoToolbar/ # Undo/Redo
│   │   ├── hooks/
│   │   │   ├── useZoomPan.ts # Hook zoom/panoramique
│   │   │   ├── useWorkflowWithUndo.ts # Workflow + Undo
│   │   │   └── useExecutionSync.ts # Sync exécution
│   │   ├── utils/
│   │   │   ├── ImportExport.ts # Logique import/export
│   │   │   └── UndoManager.ts # Gestionnaire Undo/Redo
│   │   └── types/         # Types TypeScript
│   └── public/
├── test_import_export.sh  # Tests import/export
├── test_zoom_pan.sh      # Tests zoom/panoramique
└── docs/                 # Documentation

Installation

Prérequis

  • Node.js 18+ et npm
  • Python 3.10+
  • Redis (optionnel pour dev, requis pour prod)

Frontend

cd frontend
npm install
npm start  # Démarre le serveur de développement sur http://localhost:3000

Backend

cd backend
python -m venv venv
source venv/bin/activate  # Sur Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env  # Configurer les variables d'environnement
python app.py  # Démarre le serveur Flask sur http://localhost:5001

Développement

Frontend

npm start          # Serveur de développement avec hot reload
npm run build      # Build de production
npm test           # Exécuter les tests
npm run lint       # Vérifier le code avec ESLint
npm run type-check # Vérifier les types TypeScript

Backend

python app.py                    # Démarrer le serveur
pytest                           # Exécuter tous les tests
pytest tests/unit                # Tests unitaires seulement
pytest -m property               # Tests property-based seulement
pytest --cov                     # Tests avec couverture de code
black .                          # Formater le code
flake8 .                         # Vérifier le style
mypy .                           # Vérifier les types

Tests

Frontend

  • Tests unitaires: Jest + React Testing Library
  • Coverage: Minimum 70% requis

Backend

  • Tests unitaires: Pytest
  • Tests d'intégration: Pytest avec fixtures
  • Tests property-based: Hypothesis
  • Coverage: Minimum 70% requis

Configuration

Variables d'Environnement Backend

Voir .env.example pour la liste complète. Les principales :

  • FLASK_ENV: development ou production
  • SECRET_KEY: Clé secrète pour les sessions
  • DATABASE_URL: URL de la base de données
  • REDIS_URL: URL Redis pour le cache
  • CORS_ORIGINS: Origines autorisées pour CORS

Configuration Frontend

Le frontend se configure via webpack.config.js et les variables d'environnement peuvent être passées au build.

Déploiement

Production

  1. Frontend: Build et déploiement sur CDN ou serveur web

    npm run build
    # Les fichiers sont dans dist/
    
  2. Backend: Déploiement avec Gunicorn + Nginx

    gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 app:app
    
  3. Base de données: Migrer vers PostgreSQL

  4. Cache: Configurer Redis

  5. Monitoring: Configurer logs et métriques

Roadmap

Phase 1: MVP (4-6 semaines)

  • Structure du projet configurée
  • API REST de base
  • Canvas avec drag & drop
  • Nodes essentiels
  • Exécution simple

Phase 2: Fonctionnalités Avancées (4-6 semaines)

  • WebSocket temps réel
  • Templates avancés
  • Undo/Redo
  • Zoom/Pan optimisé
  • Variables management

Phase 3: Production (2-4 semaines)

  • Optimisations performance
  • Sécurité renforcée
  • Documentation complète
  • Déploiement production

Contribution

Voir le document de design complet dans .kiro/specs/visual-workflow-builder/design.md pour les détails d'architecture et les propriétés de correction à respecter.

License

MIT