# 🌳 Structure du Projet GeniusIA v2

## 📁 Structure Principale

```
Geniusia_v2/
│
├── 📂 geniusia2/                    # Code source principal
│   ├── 📄 main.py                   # Point d'entrée de l'application
│   ├── 📄 run.sh                    # Script de lancement
│   ├── 📄 run_headless.sh           # Lancement sans GUI
│   │
│   ├── 📂 core/                     # Composants principaux
│   │   ├── 📄 orchestrator.py       # Orchestrateur principal (boucle cognitive)
│   │   ├── 📄 learning_manager.py   # Gestion de l'apprentissage
│   │   ├── 📄 suggestion_manager.py # Gestion des suggestions (mode Assist)
│   │   ├── 📄 workflow_detector.py  # Détection de workflows
│   │   ├── 📄 workflow_matcher.py   # Matching de workflows
│   │   ├── 📄 session_manager.py    # Gestion des sessions
│   │   ├── 📄 event_capture.py      # Capture d'événements (clavier/souris)
│   │   ├── 📄 vision_analysis.py    # Analyse visuelle avec IA
│   │   ├── 📄 vision_search.py      # Recherche visuelle
│   │   ├── 📄 llm_manager.py        # Gestion du LLM (Ollama)
│   │   ├── 📄 logger.py             # Système de logging
│   │   ├── 📄 config.py             # Configuration
│   │   ├── 📄 models.py             # Modèles de données
│   │   ├── 📄 whitelist_manager.py  # Gestion liste blanche
│   │   ├── 📄 task_replay.py        # Rejeu de tâches
│   │   ├── 📄 replay_async.py       # Rejeu asynchrone
│   │   ├── 📄 metrics_collector.py  # Collecte de métriques
│   │   ├── 📄 ui_change_detector.py # Détection changements UI
│   │   │
│   │   ├── 📂 embedders/            # Système d'embeddings
│   │   │   ├── 📄 __init__.py
│   │   │   ├── 📄 base.py           # Classe de base
│   │   │   ├── 📄 clip_embedder.py  # Embeddings CLIP
│   │   │   ├── 📄 pix2struct_embedder.py # Embeddings Pix2Struct
│   │   │   ├── 📄 embedding_manager.py   # Gestionnaire d'embeddings
│   │   │   ├── 📄 faiss_index.py    # Index FAISS
│   │   │   └── 📄 fine_tuner.py     # Fine-tuning
│   │   │
│   │   └── 📂 utils/                # Utilitaires
│   │       ├── 📄 vision_utils.py   # Utilitaires vision
│   │       ├── 📄 image_utils.py    # Utilitaires images
│   │       └── 📄 input_utils.py    # Utilitaires entrées
│   │
│   ├── 📂 gui/                      # Interface graphique
│   │   ├── 📄 __init__.py
│   │   ├── 📄 improved_gui.py       # GUI améliorée (principale)
│   │   ├── 📄 minimal_gui.py        # GUI minimale (ancienne)
│   │   ├── 📄 demo_gui.py           # GUI de démo
│   │   ├── 📄 signals.py            # Signaux Qt
│   │   ├── 📄 models.py             # Modèles de données GUI
│   │   ├── 📄 logs_panel.py         # Panneau de logs
│   │   ├── 📄 human_logger.py       # Logger lisible par humains
│   │   ├── 📄 orchestrator_integration.py # Intégration orchestrateur
│   │   ├── 📄 interactive_dialog.py # Dialogues interactifs
│   │   │
│   │   └── 📂 dialogs/              # Dialogues
│   │       ├── 📄 transition_notification.py
│   │       └── 📄 post_action_notification.py
│   │
│   ├── 📂 tests/                    # Tests
│   │   └── 📄 test_human_logger.py
│   │
│   └── 📂 data/                     # Données
│       ├── 📂 logs/                 # Logs d'actions
│       ├── 📂 screenshots/          # Captures d'écran
│       ├── 📂 embeddings/           # Embeddings sauvegardés
│       └── 📂 workflows/            # Workflows appris
│
├── 📂 docs/                         # Documentation
│   └── 📂 sessions/                 # Documentation de sessions
│
├── 📂 .kiro/                        # Spécifications Kiro
│   └── 📂 specs/                    # Specs de fonctionnalités
│       ├── 📂 workflow-detection-fix/
│       ├── 📂 assisted-mode-suggestions/
│       ├── 📂 embedding-improvement/
│       └── 📂 gui-logs-improvement/
│
├── 📄 README.md                     # Documentation principale
├── 📄 GUIDE_INSTALLATION.md         # Guide d'installation
├── 📄 GUIDE_MODES.md                # Guide des modes
├── 📄 STRUCTURE_PROJET.txt          # Liste des fichiers
│
├── 🔧 Scripts de test
│   ├── 📄 test_*.py                 # Scripts de test Python
│   ├── 📄 lancer_test.sh            # Lancer les tests
│   ├── 📄 monitor_workflows.sh      # Monitorer les workflows
│   └── 📄 verifier_integration.sh   # Vérifier l'intégration
│
├── 🔧 Scripts d'installation
│   ├── 📄 installer_dependances_completes.sh
│   ├── 📄 install_pix2struct.sh
│   └── 📄 VERIFIER_INSTALLATION.sh
│
├── 🔧 Scripts de diagnostic
│   ├── 📄 diagnostic_complet_systeme.py
│   ├── 📄 diagnostic_faiss.py
│   ├── 📄 debug_embeddings.py
│   └── 📄 visualize_embeddings.py
│
└── 📚 Documentation de corrections
    ├── 📄 LOGS_GUI_CONNECTES.md
    ├── 📄 CORRECTIONS_ERREURS_GUI.md
    ├── 📄 FIX_MODE_SUGGESTIONS.md
    ├── 📄 FIX_CALLBACKS_MANQUANTS.md
    └── 📄 INTEGRATION_COMPLETE.md
```

## 🎯 Composants Clés

### Core (Cœur du Système)

- **Orchestrator** : Boucle cognitive principale (Observer → Réfléchir → Agir → Apprendre)
- **LearningManager** : Gestion de l'apprentissage et des modes
- **SuggestionManager** : Création et gestion des suggestions
- **WorkflowDetector** : Détection de patterns répétitifs
- **EventCapture** : Capture des événements clavier/souris
- **VisionAnalysis** : Analyse visuelle avec Qwen3-VL

### GUI (Interface Graphique)

- **ImprovedGUI** : Interface principale avec logs en temps réel
- **LogsPanel** : Panneau d'affichage des logs
- **HumanLogger** : Messages lisibles pour l'utilisateur
- **OrchestratorIntegration** : Pont entre orchestrateur et GUI

### Embeddings (Système d'Embeddings)

- **EmbeddingManager** : Gestion des embeddings visuels
- **CLIPEmbedder** : Embeddings avec CLIP
- **Pix2StructEmbedder** : Embeddings avec Pix2Struct
- **FAISSIndex** : Index de recherche de similarité
- **FineTuner** : Fine-tuning des modèles

## 🚀 Scripts Principaux

### Lancement
```bash
./geniusia2/run.sh              # Lancer avec GUI
./geniusia2/run_headless.sh     # Lancer sans GUI
```

### Tests
```bash
./lancer_test.sh                # Tests généraux
./lancer_test_mode_assiste.sh   # Tests mode assisté
./monitor_workflows.sh          # Monitorer workflows
```

### Installation
```bash
./installer_dependances_completes.sh  # Installer toutes les dépendances
./install_pix2struct.sh              # Installer Pix2Struct
```

### Diagnostic
```bash
python3 diagnostic_complet_systeme.py  # Diagnostic complet
python3 diagnostic_faiss.py            # Diagnostic FAISS
python3 debug_embeddings.py            # Debug embeddings
```

## 📊 Statistiques

- **Fichiers Python** : ~80 fichiers
- **Scripts Shell** : ~15 scripts
- **Documentation** : ~50 fichiers MD
- **Tests** : ~20 fichiers de test
- **Lignes de code** : ~15,000 lignes

## 🔧 Technologies Utilisées

- **Python 3.10+**
- **PyQt5** : Interface graphique
- **OpenCV** : Traitement d'images
- **CLIP / Pix2Struct** : Embeddings visuels
- **FAISS** : Recherche de similarité
- **Ollama** : LLM local (Qwen3-VL)
- **pynput** : Capture d'événements
- **numpy / torch** : Calculs numériques

## 📝 Notes

- Le dossier `venv/` contient l'environnement virtuel Python (non inclus dans l'archive)
- Le dossier `data/` contient les données d'exécution (logs, screenshots, workflows)
- Le dossier `.git/` contient l'historique Git (non inclus dans l'archive)
- Les fichiers `*.pyc` et `__pycache__/` sont générés automatiquement

---

**Pour créer une archive : `./create_backup.sh`**
