Premier pas de l'Option B hybride : vision + UIA pour Windows natif. Pourquoi Rust ? - Binaire standalone ~500 Ko, aucune dépendance runtime - 5-10x plus rapide que pywinauto (10-20ms par query vs 50-200ms) - Compilation cross-platform depuis Linux (x86_64-pc-windows-gnu) - Safe : pas de crash sur null pointer ou memory leak - Préparation d'un déploiement industriel robuste Commandes : - query --x N --y N : élément UIA à cette position - find --name "..." --control-type "..." : recherche par nom - capture --max-depth N : élément focus + hiérarchie - health : vérifier que UIA est dispo Sortie JSON structurée (stdin/stdout pour IPC avec Python). Stub Linux pour dev/tests sans Windows. Validé sur VM Windows : - query (100,100) → "Bureau 1" en 18ms - query (500,400) → "Bureau 1" en 12ms - find "Rechercher" → not_found en 11ms (normal, rien d'ouvert) Le binaire lea_uia.exe sera packagé avec Léa dans C:\Lea\helpers\ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
35 lines
905 B
TOML
35 lines
905 B
TOML
[package]
|
|
name = "lea_uia"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Dom <dom@rpa-vision-v3>"]
|
|
description = "Helper Windows UI Automation pour Léa (agent RPA V3)"
|
|
license = "Proprietary"
|
|
|
|
[[bin]]
|
|
name = "lea_uia"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows = { version = "0.59", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Com",
|
|
"Win32_System_Ole",
|
|
"Win32_System_Variant",
|
|
"Win32_UI_Accessibility",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
"Win32_Graphics_Gdi",
|
|
] }
|
|
|
|
[profile.release]
|
|
opt-level = "z" # Taille minimale
|
|
lto = true # Link-time optimization
|
|
codegen-units = 1 # Meilleure optimisation
|
|
strip = true # Retirer les symboles
|
|
panic = "abort" # Pas d'unwinding → binaire plus petit
|