Spaces:
Sleeping
Sleeping
| # =========================================== | |
| # 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 | |