Files
Geniusia_v2/geniusia_v2_transfer/ARBRE_PROJET.md
2026-03-05 00:20:25 +01:00

195 lines
8.3 KiB
Markdown

# 🌳 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`**