Commit Graph

14 Commits

Author SHA1 Message Date
Dom
40e5fba86c feat: outils gestion fichiers dans le VWB (📁 Fichiers)
- 5 actions : lister, créer dossier, déplacer, copier, classer par extension
- Exécution sur Windows via agent port 5006
- Sécurité chemins (bloque C:\Windows, /etc, etc.)
- Propriétés panel + preview canvas pour chaque action

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:05:36 +01:00
Dom
773ee78949 feat(vwb): Remplacer EasyOCR par docTR (Mindee) pour l'OCR
docTR est plus performant et mieux maintenu. Crée un service OCR
partagé (singleton paresseux) utilisé par verify_text_content et
extraire_tableau, avec les mêmes signatures et fallbacks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 22:19:44 +01:00
Dom
4c9a6d293f feat(vwb): Améliorer outils IA et supprimer fallback statique
Backend:
- analyser_avec_ia.py: centraliser URL Ollama via os.environ.get()
- action_contracts.py: assouplir le contrat ai_analyze_text (mode texte
  sans ancre visuelle, accepter prompt ou analysis_prompt)
- intelligent_executor.py: supprimer le fallback coordonnées statiques
  quand la vision échoue — renvoyer not_found pour self-healing
- workflow.py: ajouter endpoints validate et export-training

run.sh:
- Corriger les ports (3000 → 3002) et le venv (venv_v3 → .venv)
- Lancer run_v4.sh au lieu de l'ancien run.sh

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:56:17 +01:00
Dom
3ff36e3c79 refactor(audit): Nettoyage dette technique phases 1-4
Phase 1 — Code mort et duplication :
- Supprimer catalog_routes.py (-1832 lignes, doublon de v2_vlm)
- Mettre à jour app.py et app_lightweight.py vers catalog_routes_v2_vlm
- Nettoyer 9 imports inutilisés dans catalog_routes_v2_vlm.py
- Supprimer get_required_params inutilisé dans execute.py

Phase 2 — Centraliser la configuration :
- Ollama URL via os.environ.get() dans verify_text_content.py et extraire_tableau.py
- MODEL_PATH relatif au projet + var env UI_DETR_MODEL_PATH dans ui_detection_service.py

Phase 3 — Thread-safety de l'exécution :
- Ajouter _execution_lock (RLock) pour protéger _execution_state
- Remplacer le polling self-healing par threading.Event
- Initialiser 'variables' dans le dict initial (plus de création dynamique)
- Corriger bare except → except Exception as db_err avec message

Phase 4 — Logging minimal :
- Ajouter logger dans execute.py, remplacer print() critiques par logger
- Configurer RotatingFileHandler (5MB, 3 backups) dans app.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 08:11:45 +01:00
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
Dom
473ca84be5 Feat: Actions database sauvegarder/charger_donnees
Module complet de persistance SQLite pour VWB:

GestionnaireDB:
- Interface clé-valeur avec typage auto (string, number, bool, json)
- Collections pour données structurées avec historique
- Requêtes SQL personnalisées (SELECT/modifications)
- Thread-safe, singleton par chemin de DB
- Statistiques et nettoyage

Actions:
- sauvegarder_donnees: 3 modes (cle_valeur, collection, sql)
- charger_donnees: 4 modes (cle_valeur, collection, sql, lister)

Base par défaut: ~/.vwb/data.db

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:30:31 +01:00
Dom
f62e8e7852 Feat: Action telecharger_vers_dossier
Gestion complète des téléchargements de fichiers:
- Surveillance du dossier source pour nouveaux fichiers
- Attente fin de téléchargement (fichier stable)
- Validation: taille min, extensions autorisées
- Déplacement/renommage avec templates:
  {original}, {date}, {datetime}, {annee}, etc.
- Gestion conflits de noms
- Détection fichiers temporaires (.part, .crdownload)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:25:32 +01:00
Dom
ce1a51c314 Feat: Action extraire_tableau (IA + OCR)
Nouvelle action d'extraction de données tabulaires:
- Mode IA: Ollama qwen2.5-vl pour extraction intelligente
- Mode OCR: EasyOCR avec groupement par lignes
- Formats de sortie: JSON, CSV, liste
- Support colonnes attendues pour guider l'IA
- Parsing de texte tabulé (tab, pipe, virgule)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:22:05 +01:00
Dom
38966de0db Feat: Action analyser_avec_ia (Ollama qwen2.5-vl)
Nouvelle action d'intelligence artificielle:
- Analyse de contenu visuel via Ollama
- 8 types d'analyse prédéfinis: general, formulaire, erreur,
  boutons, tableau, menu, validation, extraction
- Prompts personnalisables
- Support température et max_tokens
- Variable de sortie configurable

Modèle par défaut: qwen2.5-vl:7b

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:15:33 +01:00
Dom
ae100d3da8 Feat: Actions double_clic et clic_droit (français)
Nouvelles actions de clic avec nommage français:
- double_clic: Double-clic avec intervalle configurable
- clic_droit: Clic droit pour menus contextuels

Support des profils français: rapide, normal, lent, furtif
Intégration Humanizer anti-détection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:11:42 +01:00
Dom
34f279cbc1 Feat: Actions survol_element et glisser_deposer (français)
Nouvelles actions avec nommage français pour l'interface:
- survol_element: Survol avec durée configurable et humanisation
- glisser_deposer: Drag & drop entre deux ancres visuelles

Support des profils français: rapide, normal, lent, furtif

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:02:11 +01:00
Dom
a2aecf4ba3 Feat: Action keyboard_shortcut avec support humanisation
- Touches simples et combinaisons (Ctrl+S, Alt+F4, etc.)
- Mapping complet des touches (F1-F12, flèches, navigation)
- Support répétition avec délai configurable
- Focus optionnel sur ancre visuelle avant raccourci
- Intégration humanizer pour délais naturels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:55:25 +01:00
Dom
4eb48d10d5 Feat: Humanizer anti-détection pour environnements Citrix/VDI
- Module humanizer.py avec simulation comportement humain
- Courbes de Bézier pour mouvements souris
- Décalage gaussien pour positions de clic
- Frappe avec rythme variable et micro-erreurs
- 4 profils: fast, normal, slow, stealth
- Intégré dans click_anchor et type_text (humanize=True par défaut)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:45:17 +01:00
Dom
728fac3b59 Feat: Actions validation avec OCR Ollama (qwen2.5-vl:7b)
- verify_element_exists: recherche visuelle OpenCV réelle
- verify_text_content: OCR via Ollama (GPU) avec fallback easyocr
- Paramètres ocr_mode et ollama_model dans le catalogue frontend
- Support des modes de matching: exact, contains, regex, starts_with, ends_with

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:35:19 +01:00