Files
Geniusia_v2/docs/archive/old-summaries/LECON_APPRISE_DEPENDANCES.md
2026-03-05 00:20:25 +01:00

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 :

  1. 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
  2. PyTorch : Framework de base

    • Nécessaire pour tous les modèles ML
    • OpenCLIP, Qwen3-VL, OWL-ViT en dépendent
  3. 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 :

  1. J'ai supposé que l'environnement était complet
  2. Je me suis concentré uniquement sur le code
  3. Mes tests étaient des tests de syntaxe, pas d'exécution réelle

Ce que j'aurais dû faire :

  1. ✓ Vérifier l'environnement AVANT de coder
  2. ✓ Tester avec des imports réels
  3. ✓ 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)

  1. Toujours vérifier l'environnement avant de coder
  2. Tester avec des imports réels
  3. Exécuter le code, pas juste vérifier la syntaxe
  4. Créer des tests d'intégration

Pour l'utilisateur (toi)

  1. Exécuter diagnostic_complet_systeme.py régulièrement
  2. Garder l'environnement virtuel activé pendant le développement
  3. Signaler immédiatement si quelque chose ne s'importe pas

Pour le projet

  1. Ajouter un test CI/CD qui vérifie les dépendances
  2. Créer un requirements-dev.txt séparé
  3. Documenter clairement les dépendances critiques
  4. 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