#!/usr/bin/env python3 """ Script de démonstration des systèmes automatiques """ import os import json from datetime import datetime def demo_auto_systems(): """Démonstration des systèmes automatiques""" print("🎬 Démonstration des systèmes automatiques") print("=" * 60) # 1. Vérifier les fichiers audio record_dir = "record" if os.path.exists(record_dir): audio_files = [f for f in os.listdir(record_dir) if f.endswith('.mp3')] print(f"✅ {len(audio_files)} fichiers audio disponibles pour les sous-titres") else: print("❌ Dossier record non trouvé") # 2. Vérifier les générations storage_dir = "storage" generation_file = os.path.join(storage_dir, "IA_generator.json") if os.path.exists(generation_file): try: with open(generation_file, 'r', encoding='utf-8') as f: generation_data = json.load(f) print(f"✅ {len(generation_data)} générations disponibles pour l'envoi automatique") if generation_data: sorted_keys = sorted(generation_data.keys()) last_generation = generation_data[sorted_keys[-1]] print(f"📝 Dernière génération: {last_generation}") except Exception as e: print(f"⚠️ Erreur lecture générations: {e}") else: print("📝 Aucune génération disponible") # 3. Vérifier les utilisateurs user_config = "config/user.json" if os.path.exists(user_config): try: with open(user_config, 'r') as f: users = json.load(f) print(f"✅ {len(users)} utilisateur(s) configuré(s) pour l'envoi") except Exception as e: print(f"⚠️ Erreur lecture utilisateurs: {e}") else: print("❌ Fichier de configuration utilisateur non trouvé") return True def show_interface_instructions(): """Afficher les instructions pour l'interface""" print("\n🌐 Instructions pour l'interface web:") print("=" * 50) print("\n📺 Génération automatique de sous-titres:") print(" 1. Ouvrir http://localhost:5000") print(" 2. Dans le tableau de bord (sidebar gauche)") print(" 3. Trouver le switch 'Génération Auto Sous-titres'") print(" 4. Activer le switch pour démarrer") print(" 5. Aller dans l'onglet 'Sous-titres' pour voir le fichier en cours") print(" 6. Les sous-titres seront créés automatiquement fichier par fichier") print("\n💬 Envoi automatique de messages:") print(" 1. Dans le tableau de bord (sidebar gauche)") print(" 2. Trouver le switch 'Envoi Auto Messages'") print(" 3. Activer le switch pour démarrer") print(" 4. Les messages seront envoyés automatiquement quand des générations sont disponibles") print(" 5. Délai de 10 secondes entre chaque envoi") print("\n🔄 Fonctionnement combiné:") print(" - Les sous-titres sont générés automatiquement") print(" - Les générations IA sont créées à partir des sous-titres") print(" - Les messages sont envoyés automatiquement") print(" - Tout fonctionne en boucle automatique") def show_features(): """Afficher les fonctionnalités ajoutées""" print("\n📋 Fonctionnalités ajoutées:") print("=" * 50) print("\n🎛️ Contrôles automatiques:") print(" ✅ Switch 'Génération Auto Sous-titres'") print(" ✅ Switch 'Envoi Auto Messages'") print(" ✅ Indicateurs de statut en temps réel") print(" ✅ Gestion des erreurs avec alertes") print("\n🔄 Traitement automatique:") print(" ✅ Surveillance des fichiers audio") print(" ✅ Transcription avec Whisper") print(" ✅ Nettoyage et formatage des sous-titres") print(" ✅ Sauvegarde automatique") print(" ✅ Surveillance des générations IA") print(" ✅ Envoi automatique de messages") print(" ✅ Suppression des données traitées") print("\n📡 Communication temps réel:") print(" ✅ Événements Socket.IO pour le traitement") print(" ✅ Événements Socket.IO pour l'envoi") print(" ✅ Alertes en temps réel") print(" ✅ Actualisation automatique de l'interface") if __name__ == '__main__': print("🚀 Démonstration des systèmes automatiques") print("=" * 60) # Test des systèmes success = demo_auto_systems() # Instructions d'interface show_interface_instructions() # Fonctionnalités show_features() print("\n" + "=" * 60) if success: print("✅ Systèmes prêts !") print("🎉 Vous pouvez maintenant utiliser les switches dans l'interface web") print("💡 Les deux systèmes fonctionnent indépendamment ou ensemble") else: print("❌ Problèmes détectés") print("🔧 Vérifiez la configuration avant d'utiliser les systèmes automatiques")