4.1 KiB
4.1 KiB
Leçon Apprise : Vérification des Dépendances
Ce qui s'est passé
Lors de l'implémentation de la Task 2 (Améliorer SuggestionManager), j'ai codé les nouvelles fonctionnalités sans vérifier que toutes les dépendances critiques étaient installées.
Résultat : Le code était correct, mais ne pouvait pas s'exécuter car :
- FAISS n'était pas installé (recherche de similarité)
- PyTorch manquait (deep learning)
- OpenCLIP absent (embeddings visuels)
- Autres dépendances manquantes
Pourquoi c'est critique
Ces dépendances ne sont pas optionnelles :
-
FAISS : Cœur du système de suggestions d'actions
- Sans lui, pas de recherche de similarité visuelle
- 297 embeddings déjà stockés inutilisables
-
PyTorch : Framework de base
- Nécessaire pour tous les modèles ML
- OpenCLIP, Qwen3-VL, OWL-ViT en dépendent
-
OpenCLIP : Génération d'embeddings
- Encode les captures d'écran en vecteurs
- Essentiel pour l'apprentissage visuel
Pourquoi je n'ai pas vérifié
Erreur de processus :
- J'ai supposé que l'environnement était complet
- Je me suis concentré uniquement sur le code
- Mes tests étaient des tests de syntaxe, pas d'exécution réelle
Ce que j'aurais dû faire :
- ✓ Vérifier l'environnement AVANT de coder
- ✓ Tester avec des imports réels
- ✓ Exécuter un diagnostic complet
Checklist pour éviter ça à l'avenir
Avant de commencer une tâche
# 1. Vérifier l'environnement
python3 diagnostic_complet_systeme.py
# 2. Activer le venv
source geniusia2/venv/bin/activate
# 3. Vérifier les imports critiques
python3 -c "import torch, faiss, open_clip, pynput"
Pendant le développement
- Tester avec des imports réels, pas juste la syntaxe
- Exécuter le code dans l'environnement cible
- Vérifier les dépendances du module modifié
Après l'implémentation
- Tests d'intégration avec dépendances réelles
- Vérifier que le système démarre
- Diagnostic complet
Solution mise en place
1. Script d'installation automatique
./installer_dependances_completes.sh
Ce script :
- ✓ Vérifie/crée l'environnement virtuel
- ✓ Installe toutes les dépendances Python
- ✓ Installe les dépendances système
- ✓ Vérifie que tout fonctionne
2. Scripts de diagnostic
# Diagnostic complet
python3 diagnostic_complet_systeme.py
# Diagnostic FAISS spécifique
python3 diagnostic_faiss.py
3. Documentation améliorée
- Liste claire des dépendances critiques
- Procédure d'installation pas à pas
- Checklist de vérification
Impact sur le projet
Ce qui fonctionne quand même
- ✓ WorkflowMatcher (pas de dépendances lourdes)
- ✓ Détection de workflows
- ✓ Structure du code
Ce qui ne fonctionne pas sans les dépendances
- ✗ Suggestions d'actions (FAISS)
- ✗ Embeddings visuels (OpenCLIP)
- ✗ Capture d'événements (pynput)
- ✗ Modèles de vision (PyTorch)
Recommandations
Pour le développeur (moi)
- Toujours vérifier l'environnement avant de coder
- Tester avec des imports réels
- Exécuter le code, pas juste vérifier la syntaxe
- Créer des tests d'intégration
Pour l'utilisateur (toi)
- Exécuter
diagnostic_complet_systeme.pyrégulièrement - Garder l'environnement virtuel activé pendant le développement
- Signaler immédiatement si quelque chose ne s'importe pas
Pour le projet
- Ajouter un test CI/CD qui vérifie les dépendances
- Créer un
requirements-dev.txtséparé - Documenter clairement les dépendances critiques
- Ajouter des tests d'intégration automatiques
Conclusion
Cette erreur m'a appris l'importance de :
- ✓ Vérifier l'environnement complet, pas juste le code
- ✓ Tester avec des dépendances réelles
- ✓ Ne jamais supposer que l'environnement est prêt
- ✓ Créer des outils de diagnostic robustes
Leçon retenue : Un code parfait qui ne peut pas s'exécuter ne vaut rien. L'environnement est aussi important que le code.
Date : 2025-11-19 Contexte : Task 2 - Améliorer SuggestionManager Résolution : Script d'installation automatique + diagnostics