ajout du control denvoi de message et interface up

This commit is contained in:
gpatruno
2025-07-20 04:34:00 +02:00
parent 75d9a65cc4
commit baefddd6b3
32 changed files with 3759 additions and 219 deletions
+126
View File
@@ -0,0 +1,126 @@
#!/usr/bin/env python3
"""
Script de démonstration du système de sous-titres
"""
import os
import json
from datetime import datetime
def demo_subtitle_system():
"""Démonstration du système de sous-titres"""
print("🎬 Démonstration du système de sous-titres")
print("=" * 60)
# 1. Vérifier les fichiers audio
record_dir = "record"
if not os.path.exists(record_dir):
print(f"❌ Dossier record non trouvé: {record_dir}")
return False
audio_files = [f for f in os.listdir(record_dir) if f.endswith('.mp3')]
if not audio_files:
print(f"❌ Aucun fichier audio trouvé dans {record_dir}")
return False
print(f"{len(audio_files)} fichiers audio trouvés")
print(f"📁 Premier fichier: {audio_files[0]}")
print(f"📁 Dernier fichier: {audio_files[-1]}")
# 2. Vérifier le stockage
storage_dir = "storage"
subtitle_file = os.path.join(storage_dir, "subtitle_data.json")
if os.path.exists(subtitle_file):
try:
with open(subtitle_file, 'r', encoding='utf-8') as f:
subtitle_data = json.load(f)
print(f"✅ Stockage existant avec {len(subtitle_data)} sous-titre(s)")
if subtitle_data:
print("📝 Derniers sous-titres:")
sorted_keys = sorted(subtitle_data.keys())
for key in sorted_keys[-3:]: # Afficher les 3 derniers
print(f" {key}: {subtitle_data[key]}")
except Exception as e:
print(f"⚠️ Erreur lecture stockage: {e}")
else:
print("📝 Aucun stockage existant")
# 3. Simuler le traitement manuel
print("\n🔧 Simulation du traitement manuel:")
print(" 1. Détection des fichiers audio ✅")
print(" 2. Lancement de Whisper sur chaque fichier")
print(" 3. Nettoyage et suppression des répétitions")
print(" 4. Sauvegarde dans le stockage")
print(" 5. Nettoyage des fichiers temporaires")
# 4. Créer un exemple de sous-titre
example_subtitle = {
"03:52:30": "Voici un exemple de sous-titre généré",
"03:52:35": "Le système fonctionne correctement",
"03:52:40": "Whisper traite les fichiers audio"
}
# Sauvegarder l'exemple
if not os.path.exists(storage_dir):
os.makedirs(storage_dir)
try:
with open(subtitle_file, 'w', encoding='utf-8') as f:
json.dump(example_subtitle, f, indent=4, ensure_ascii=False)
print("✅ Exemple de sous-titres sauvegardé")
except Exception as e:
print(f"❌ Erreur sauvegarde: {e}")
# 5. Afficher les instructions pour l'interface web
print("\n🌐 Instructions pour l'interface web:")
print(" 1. Ouvrir http://localhost:5000")
print(" 2. Aller dans l'onglet 'Sous-titres'")
print(" 3. Cliquer sur 'Traitement Manuel'")
print(" 4. Attendre le traitement des fichiers audio")
print(" 5. Voir les sous-titres générés")
return True
def test_whisper_availability():
"""Tester la disponibilité de Whisper"""
print("\n🔍 Test de Whisper:")
try:
import subprocess
result = subprocess.run(['whisper', '--help'], capture_output=True, text=True, timeout=10)
if result.returncode == 0:
print("✅ Whisper est disponible et fonctionnel")
return True
else:
print("❌ Whisper ne répond pas correctement")
return False
except FileNotFoundError:
print("❌ Whisper n'est pas installé")
return False
except Exception as e:
print(f"❌ Erreur test Whisper: {e}")
return False
if __name__ == '__main__':
print("🚀 Démonstration du système de sous-titres")
print("=" * 60)
# Test 1: Système de base
system_ok = demo_subtitle_system()
# Test 2: Whisper
whisper_ok = test_whisper_availability()
print("\n" + "=" * 60)
if system_ok and whisper_ok:
print("✅ Système prêt !")
print("🎉 Vous pouvez maintenant utiliser le bouton 'Traitement Manuel'")
print(" dans l'interface web pour créer des sous-titres.")
else:
print("❌ Problèmes détectés")
if not system_ok:
print(" - Problème avec le système de base")
if not whisper_ok:
print(" - Problème avec Whisper")