v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- 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>
This commit is contained in:
62
run_gui.py
Executable file
62
run_gui.py
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Launch RPA Vision V3 GUI with full integration"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# Add current directory to path for imports
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from gui.main_window import MainWindow
|
||||
from core.system import initialize_system_cleanup, shutdown_system
|
||||
from core.security import validate_production_security, get_security_config
|
||||
import logging
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||||
)
|
||||
|
||||
def main():
|
||||
# Valider la sécurité en production
|
||||
try:
|
||||
config = get_security_config()
|
||||
validate_production_security(config)
|
||||
except Exception as e:
|
||||
logging.error(f"Security validation failed: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
# Initialiser le système de cleanup
|
||||
initialize_system_cleanup()
|
||||
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName("RPA Vision V3")
|
||||
|
||||
# Enregistrer le cleanup de l'application Qt
|
||||
def cleanup_qt():
|
||||
try:
|
||||
app.quit()
|
||||
except Exception as e:
|
||||
logging.error(f"Error during Qt cleanup: {e}")
|
||||
|
||||
from core.system import register_cleanup_function
|
||||
register_cleanup_function(cleanup_qt, "Qt Application")
|
||||
|
||||
window = MainWindow()
|
||||
window.show()
|
||||
|
||||
try:
|
||||
result = app.exec_()
|
||||
shutdown_system()
|
||||
sys.exit(result)
|
||||
except KeyboardInterrupt:
|
||||
logging.info("Received keyboard interrupt, shutting down...")
|
||||
shutdown_system()
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
logging.error(f"Unexpected error: {e}")
|
||||
shutdown_system()
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user