Initial commit

This commit is contained in:
Dom
2026-03-05 00:20:25 +01:00
commit dcd4de9945
1954 changed files with 669380 additions and 0 deletions

View File

@@ -0,0 +1,123 @@
# ✅ Corrections des Erreurs GUI
## 🐛 Erreurs Corrigées
### 1. `'NoneType' object has no attribute 'isoformat'`
**Fichier**: `geniusia2/core/learning_manager.py`
**Problème**: `task.last_execution` peut être `None` mais le code essayait d'appeler `.isoformat()` sans vérifier.
**Solution**:
```python
# AVANT
"last_execution": task.last_execution.isoformat()
# APRÈS
"last_execution": task.last_execution.isoformat() if task.last_execution else None
```
### 2. `'ImprovedGUI' object has no attribute 'show_notification'`
**Fichier**: `geniusia2/main.py` et `geniusia2/core/orchestrator.py`
**Problème**: Le code appelait `self.gui.show_notification()` mais cette méthode n'existe pas dans `ImprovedGUI`. Elle existe dans `MinimalGUI` mais pas dans la nouvelle GUI.
**Solution**: Remplacer tous les appels à `show_notification` par `log_to_gui`.
#### Corrections dans `main.py`
```python
# AVANT
if self.gui:
self.gui.show_notification(
f"Erreur: {error}",
"error"
)
# APRÈS
if self.orchestrator and hasattr(self.orchestrator, 'log_to_gui'):
self.orchestrator.log_to_gui("", f"Erreur: {error}", "error")
```
#### Corrections dans `orchestrator.py`
Tous les appels à `self.gui.show_notification()` ont été remplacés par :
```python
if hasattr(self, 'log_to_gui'):
self.log_to_gui("emoji", "message", "level")
```
**Liste des remplacements** :
1. ✅ Tâche apprise
2. 🎯 Workflow détecté
3. ⚠️ Élément introuvable
4. 👀 Observation d'action
5. ⚠️ Action bloquée (whitelist)
6. ✔️ Action exécutée
7. ⚠️ Échec d'exécution - Rollback
8. ❌ Erreur d'exécution
9. 🔄 Rollback effectué
10. 🎓 Mode Progressif activé
11. ✅ Mode Assist activé
12. 👀 Mode Shadow maintenu
## 🎯 Avantages de la Solution
### Uniformité
- Tous les messages passent maintenant par le même système de logging
- Cohérence dans l'affichage des messages
### Compatibilité
- Utilisation de `hasattr()` pour vérifier l'existence des méthodes
- Fonctionne en mode headless (sans GUI)
- Pas de crash si la GUI n'est pas initialisée
### Meilleure Expérience
- Messages plus concis et clairs
- Emojis pour identification rapide
- Niveaux de log appropriés (info, success, warning, error)
## 🧪 Test
Pour tester les corrections :
```bash
./geniusia2/run.sh
```
Effectuez des actions répétitives (3 fois la même action) pour déclencher la détection de pattern.
Vous devriez voir :
1. ✅ Pas d'erreur `'NoneType' object has no attribute 'isoformat'`
2. ✅ Pas d'erreur `'ImprovedGUI' object has no attribute 'show_notification'`
3. ✅ Les logs s'affichent correctement dans la GUI
4. ✅ Les patterns sont détectés et affichés
5. ✅ Les tâches sont créées et comptabilisées
## 📊 Statistiques Affichées
La GUI affiche maintenant correctement :
- **Actions** : Nombre d'événements capturés
- **Patterns** : Nombre de workflows détectés
- **Workflows** : Nombre de tâches apprises
## 🔍 Vérification
Pour vérifier que tout fonctionne :
1. **Démarrage** : Vous devez voir "🚀 Démarrage de l'observation..."
2. **Actions** : Effectuez des clics → compteur d'actions augmente
3. **Pattern** : Répétez 3 fois la même action → "🎯 Pattern détecté !"
4. **Tâche** : Après le pattern → "📚 Tâche apprise : [nom]"
5. **Stats** : Les compteurs se mettent à jour automatiquement
## 🎉 Résultat
L'application fonctionne maintenant sans erreur et affiche correctement toutes les informations dans la GUI !
---
**Toutes les erreurs sont corrigées ! 🚀**