# =========================================== # Script PowerShell de nettoyage et restructuration pour Hugging Face # HOLOKIA-AVATAR - Avatar 3D Interactif # =========================================== param( [switch]$Help ) # Fonctions utilitaires function Write-Info { param([string]$Message) Write-Host "[INFO] $Message" -ForegroundColor Blue } function Write-Success { param([string]$Message) Write-Host "[SUCCESS] $Message" -ForegroundColor Green } function Write-Warning { param([string]$Message) Write-Host "[WARNING] $Message" -ForegroundColor Yellow } function Write-Error { param([string]$Message) Write-Host "[ERROR] $Message" -ForegroundColor Red } # Aide if ($Help) { Write-Host "Usage: .\clean_and_restructure.ps1 [OPTIONS]" Write-Host "" Write-Host "Ce script nettoie l'historique Git et restructure le projet pour Hugging Face Spaces." Write-Host "" Write-Host "Options:" Write-Host " -Help Afficher cette aide" Write-Host "" Write-Host "ATTENTION: Ce script va supprimer l'historique Git existant!" Write-Host "Une sauvegarde sera créée dans ..\backup_holokia_avatar\" Write-Host "" exit 0 } # Vérifications préliminaires function Test-Requirements { Write-Info "Vérification des prérequis..." # Vérifier Git if (-not (Get-Command git -ErrorAction SilentlyContinue)) { Write-Error "Git n'est pas installé" exit 1 } # Vérifier Git LFS if (-not (Get-Command git-lfs -ErrorAction SilentlyContinue)) { Write-Warning "Git LFS n'est pas installé" Write-Info "Téléchargez et installez Git LFS depuis: https://git-lfs.github.io/" Write-Info "Ou utilisez: winget install Git.Git-LFS" exit 1 } Write-Success "Tous les prérequis sont satisfaits" } # Sauvegarde des fichiers importants function Backup-ImportantFiles { Write-Info "Sauvegarde des fichiers importants..." # Créer un dossier de sauvegarde $backupDir = "..\backup_holokia_avatar" if (-not (Test-Path $backupDir)) { New-Item -ItemType Directory -Path $backupDir -Force | Out-Null } # Sauvegarder les fichiers de configuration Copy-Item -Path "." -Destination $backupDir -Recurse -Force Write-Success "Sauvegarde terminée dans $backupDir" } # Nettoyage de l'historique Git function Clear-GitHistory { Write-Info "Nettoyage de l'historique Git..." # Supprimer le dossier .git existant if (Test-Path ".git") { Write-Info "Suppression de l'historique Git existant..." Remove-Item -Path ".git" -Recurse -Force } # Initialiser un nouveau dépôt Git Write-Info "Initialisation d'un nouveau dépôt Git..." git init # Configurer Git LFS Write-Info "Configuration de Git LFS..." git lfs install # Ajouter les fichiers LFS git lfs track "*.glb" git lfs track "*.fbx" git lfs track "*.obj" git lfs track "*.png" git lfs track "*.jpg" git lfs track "*.jpeg" git lfs track "*.wav" git lfs track "*.mp3" Write-Success "Historique Git nettoyé et LFS configuré" } # Restructuration des fichiers function Restructure-Files { Write-Info "Restructuration des fichiers pour Hugging Face..." # Supprimer les fichiers de développement $filesToRemove = @( "build-frontend.sh", "deploy_to_hf.sh", "test_deployment.py", "README_HF_DEPLOYMENT.md", "huggingface_hub_config.yaml" ) foreach ($file in $filesToRemove) { if (Test-Path $file) { Remove-Item -Path $file -Force Write-Info "Supprimé: $file" } } # Supprimer les dossiers de développement $dirsToRemove = @( "docker", "Back-end\tts_cache", "Back-end\logs", "frontend\node_modules", "frontend\dist", "__pycache__", ".pytest_cache" ) foreach ($dir in $dirsToRemove) { if (Test-Path $dir) { Remove-Item -Path $dir -Recurse -Force Write-Info "Supprimé: $dir" } } # Supprimer les fichiers docker-compose Get-ChildItem -Path "." -Name "docker-compose*.yml" | ForEach-Object { Remove-Item -Path $_ -Force Write-Info "Supprimé: $_" } # Supprimer les fichiers .env (sauf .env.example) Get-ChildItem -Path "." -Name ".env*" -Recurse | Where-Object { $_.Name -ne ".env.example" } | ForEach-Object { Remove-Item -Path $_.FullName -Force Write-Info "Supprimé: $($_.FullName)" } Write-Success "Restructuration terminée" } # Création des fichiers nécessaires pour HF function New-HuggingFaceFiles { Write-Info "Création des fichiers nécessaires pour Hugging Face..." # Créer un README.md simple pour HF $readmeContent = @" --- title: HOLOKIA-AVATAR emoji: 🤖 colorFrom: blue colorTo: purple sdk: docker pinned: false license: mit short_description: Avatar 3D intelligent avec IA conversationnelle en temps réel --- # 🤖 HOLOKIA-AVATAR - Avatar 3D Interactif Un avatar 3D intelligent avec capacités de conversation en temps réel, utilisant l'IA pour des interactions naturelles. ## ✨ Fonctionnalités - 🎭 **Avatar 3D interactif** avec synchronisation labiale - 🗣️ **Reconnaissance vocale** (Speech-to-Text) - 🔊 **Synthèse vocale** (Text-to-Speech) - 🧠 **IA conversationnelle** (Groq LLM) - 📡 **Streaming temps réel** via WebSocket - 🌐 **Interface web moderne** avec React et Three.js ## 🚀 Utilisation 1. **Parlez** à l'avatar via le microphone 2. **L'avatar écoute** et comprend votre message 3. **L'IA génère** une réponse intelligente 4. **L'avatar parle** avec synchronisation labiale 5. **Interaction continue** en temps réel ## 🔧 Configuration Ajoutez votre clé API Groq dans les **Secrets** du Space : - Nom : `GROQ_API_KEY` - Valeur : `gsk_...` (votre clé API) ## 📄 Licence MIT License --- **Développé avec ❤️ par l'équipe HOLOKIA** "@ $readmeContent | Out-File -FilePath "README.md" -Encoding UTF8 Write-Success "Fichiers HF créés" } # Configuration Git function Set-GitConfiguration { Write-Info "Configuration Git..." # Ajouter tous les fichiers git add . # Commit initial git commit -m "Initial commit: HOLOKIA-AVATAR for Hugging Face Spaces" Write-Success "Configuration Git terminée" } # Fonction principale function Main { Write-Host "🧹 HOLOKIA-AVATAR - Nettoyage et restructuration pour Hugging Face" -ForegroundColor Cyan Write-Host "==================================================================" -ForegroundColor Cyan Write-Host "" # Vérifications Test-Requirements # Sauvegarde Backup-ImportantFiles # Nettoyage Clear-GitHistory # Restructuration Restructure-Files # Création des fichiers HF New-HuggingFaceFiles # Configuration Git Set-GitConfiguration Write-Host "" Write-Success "🎉 Nettoyage et restructuration terminés!" Write-Host "" Write-Info "Prochaines étapes:" Write-Host "1. Ajoutez le remote Hugging Face:" Write-Host " git remote add origin https://huggingface.co/spaces/DataSage12/avatar-v2" Write-Host "" Write-Host "2. Poussez le code:" Write-Host " git push -u origin main" Write-Host "" Write-Host "3. Ajoutez votre clé API Groq dans les secrets du Space" Write-Host "" Write-Warning "Sauvegarde disponible dans: ..\backup_holokia_avatar\" } # Exécution Main