Files
Geniusia_v2/archive/old_docs/SOLUTION_FINALE_WHITELIST.md
2026-03-05 00:20:25 +01:00

3.0 KiB

Solution Finale : Observer TOUT l'Écran

🎯 Objectif

Le système doit observer TOUTES les fenêtres, pas seulement celles dans une liste blanche.

Corrections Appliquées

1. Suppression de la Whitelist

rm -f geniusia2/data/user_profiles/whitelist.json

Fait !

2. Configuration

Fichier : geniusia2/core/config.py

"enforce_whitelist": False  # ✅ Déjà à False

3. Comportement Attendu

Avec enforce_whitelist: False, l'Orchestrator devrait :

  • Accepter TOUTES les fenêtres
  • Ne PAS appeler whitelist_manager.is_window_allowed()
  • Capturer les événements partout

🧪 Test

Test 1 : Capture Simple

geniusia2/venv/bin/python test_capture_simple.py

Instructions :

  1. Le script démarre
  2. Clique 3 fois n'importe où (dans n'importe quelle fenêtre)
  3. Tu devrais voir "PATTERN DÉTECTÉ !"

Si ça marche : La capture fonctionne

Test 2 : Application Complète

cd geniusia2 && ./run.sh

Instructions :

  1. Clique sur "Start"
  2. Fais 3 clics dans n'importe quelle fenêtre (Kiro, Firefox, etc.)
  3. Attends la notification "Tâche apprise !"
  4. Refais 1 clic au même endroit
  5. L'overlay devrait apparaître

🐛 Si Ça Ne Marche Pas

Problème 1 : Aucun Événement Capturé

Cause : pynput n'a pas les permissions

Solution :

# Sur Linux, vérifie les permissions X11
xhost +local:

# Ou lance avec sudo (pas recommandé)
sudo geniusia2/venv/bin/python test_capture_simple.py

Problème 2 : Pattern Non Détecté

Cause : Les clics sont trop espacés ou dans des fenêtres différentes

Solution :

  • Clique 3 fois rapidement (< 5 secondes entre chaque)
  • Clique dans la même fenêtre
  • Clique au même endroit (±50 pixels)

Problème 3 : Whitelist Toujours Active

Cause : Le fichier whitelist.json se recrée

Solution :

# Supprimer et empêcher la recréation
rm -f geniusia2/data/user_profiles/whitelist.json
touch geniusia2/data/user_profiles/whitelist.json
chmod 444 geniusia2/data/user_profiles/whitelist.json

📊 Vérification

# Vérifier la config
geniusia2/venv/bin/python -c "
from geniusia2.core.config import get_config
config = get_config()
print(f'enforce_whitelist: {config[\"security\"][\"enforce_whitelist\"]}')
"

# Résultat attendu : enforce_whitelist: False

🎉 Résultat Attendu

Avec ces corrections :

  • Le système observe TOUTES les fenêtres
  • Pas de liste blanche
  • Capture dans Kiro, Firefox, Chrome, Terminal, etc.
  • Mode RPA complet multi-applications

💡 Note Importante

Le système RPA doit observer toutes les fenêtres pour être utile !

La liste blanche est utile seulement pour :

  • Environnements de production sécurisés
  • Éviter d'automatiser des apps sensibles (banque, etc.)
  • Conformité réglementaire

Pour le développement et les tests : Mode Permissif (enforce_whitelist: False)


Teste maintenant et dis-moi si ça marche ! 🚀