Avatar / clean_and_restructure.ps1
DataSage12's picture
Initial commit - HOLOKIA-AVATAR v2.2
de63014
# ===========================================
# 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