- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
104 lines
3.0 KiB
Python
Executable File
104 lines
3.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Vérification automatique du système de capture d'écran
|
|
Exécuté automatiquement par run.sh pour garantir que tout fonctionne
|
|
"""
|
|
|
|
import sys
|
|
import logging
|
|
|
|
# Configuration du logging
|
|
logging.basicConfig(level=logging.INFO, format='%(message)s')
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def verify_imports():
|
|
"""Vérifier que tous les imports nécessaires fonctionnent"""
|
|
logger.info("Vérification des imports...")
|
|
|
|
try:
|
|
import numpy as np
|
|
logger.info(" ✓ numpy")
|
|
except ImportError as e:
|
|
logger.error(f" ✗ numpy: {e}")
|
|
return False
|
|
|
|
try:
|
|
import mss
|
|
logger.info(" ✓ mss")
|
|
except ImportError:
|
|
logger.warning(" ⚠ mss non disponible (fallback vers pyautogui)")
|
|
try:
|
|
import pyautogui
|
|
logger.info(" ✓ pyautogui (fallback)")
|
|
except ImportError as e:
|
|
logger.error(f" ✗ Aucune bibliothèque de capture disponible: {e}")
|
|
return False
|
|
|
|
try:
|
|
import pygetwindow
|
|
logger.info(" ✓ pygetwindow")
|
|
except (ImportError, NotImplementedError) as e:
|
|
logger.warning(" ⚠ pygetwindow non disponible (détection de fenêtre désactivée)")
|
|
logger.debug(f" Raison: {e}")
|
|
|
|
return True
|
|
|
|
|
|
def verify_screen_capturer():
|
|
"""Vérifier que ScreenCapturer fonctionne"""
|
|
logger.info("\nVérification de ScreenCapturer...")
|
|
|
|
try:
|
|
from core.capture.screen_capturer import ScreenCapturer
|
|
logger.info(" ✓ Import réussi")
|
|
except ImportError as e:
|
|
logger.error(f" ✗ Impossible d'importer ScreenCapturer: {e}")
|
|
return False
|
|
|
|
try:
|
|
capturer = ScreenCapturer()
|
|
logger.info(f" ✓ Initialisation réussie (méthode: {capturer.method})")
|
|
except Exception as e:
|
|
logger.error(f" ✗ Échec d'initialisation: {e}")
|
|
return False
|
|
|
|
try:
|
|
img = capturer.capture()
|
|
if img is not None:
|
|
logger.info(f" ✓ Capture réussie: {img.shape}")
|
|
return True
|
|
else:
|
|
logger.error(" ✗ Capture a retourné None")
|
|
return False
|
|
except Exception as e:
|
|
logger.error(f" ✗ Échec de capture: {e}")
|
|
return False
|
|
|
|
|
|
def main():
|
|
"""Fonction principale de vérification"""
|
|
logger.info("="*60)
|
|
logger.info("VÉRIFICATION DU SYSTÈME DE CAPTURE D'ÉCRAN")
|
|
logger.info("="*60)
|
|
|
|
# Vérifier les imports
|
|
if not verify_imports():
|
|
logger.error("\n✗ Échec de vérification des imports")
|
|
logger.error("Installez les dépendances: pip install mss pygetwindow")
|
|
return 1
|
|
|
|
# Vérifier ScreenCapturer
|
|
if not verify_screen_capturer():
|
|
logger.error("\n✗ Échec de vérification de ScreenCapturer")
|
|
return 1
|
|
|
|
logger.info("\n" + "="*60)
|
|
logger.info("✓ SYSTÈME DE CAPTURE OPÉRATIONNEL")
|
|
logger.info("="*60)
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|