Avatar / clean_and_restructure.sh
DataSage12's picture
Initial commit - HOLOKIA-AVATAR v2.2
de63014
#!/bin/bash
# ===========================================
# Script de nettoyage et restructuration pour Hugging Face
# HOLOKIA-AVATAR - Avatar 3D Interactif
# ===========================================
set -e
# Couleurs pour les logs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Fonctions utilitaires
log_info() {
echo -e "${BLUE}[INFO]${NC} $1"
}
log_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
log_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Vérifications préliminaires
check_requirements() {
log_info "Vérification des prérequis..."
# Vérifier Git
if ! command -v git &> /dev/null; then
log_error "Git n'est pas installé"
exit 1
fi
# Vérifier Git LFS
if ! command -v git-lfs &> /dev/null; then
log_warning "Git LFS n'est pas installé"
log_info "Installation de Git LFS..."
if command -v apt-get &> /dev/null; then
sudo apt-get install git-lfs
elif command -v brew &> /dev/null; then
brew install git-lfs
else
log_error "Impossible d'installer Git LFS automatiquement"
log_info "Installez Git LFS manuellement: https://git-lfs.github.io/"
exit 1
fi
fi
log_success "Tous les prérequis sont satisfaits"
}
# Sauvegarde des fichiers importants
backup_important_files() {
log_info "Sauvegarde des fichiers importants..."
# Créer un dossier de sauvegarde
mkdir -p ../backup_holokia_avatar
# Sauvegarder les fichiers de configuration
cp -r . ../backup_holokia_avatar/ 2>/dev/null || true
log_success "Sauvegarde terminée dans ../backup_holokia_avatar/"
}
# Nettoyage de l'historique Git
clean_git_history() {
log_info "Nettoyage de l'historique Git..."
# Supprimer le dossier .git existant
if [ -d ".git" ]; then
log_info "Suppression de l'historique Git existant..."
rm -rf .git
fi
# Initialiser un nouveau dépôt Git
log_info "Initialisation d'un nouveau dépôt Git..."
git init
# Configurer Git LFS
log_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"
log_success "Historique Git nettoyé et LFS configuré"
}
# Restructuration des fichiers
restructure_files() {
log_info "Restructuration des fichiers pour Hugging Face..."
# Supprimer les fichiers de développement
rm -f build-frontend.sh
rm -f deploy_to_hf.sh
rm -f test_deployment.py
rm -f README_HF_DEPLOYMENT.md
rm -f huggingface_hub_config.yaml
rm -rf docker/
rm -f docker-compose*.yml
# Supprimer les fichiers de cache et temporaires
rm -rf Back-end/tts_cache/
rm -rf Back-end/logs/
rm -rf frontend/node_modules/
rm -rf frontend/dist/
rm -rf __pycache__/
rm -rf .pytest_cache/
# Supprimer les fichiers .env s'ils existent
find . -name ".env*" -not -name ".env.example" -delete 2>/dev/null || true
log_success "Restructuration terminée"
}
# Création des fichiers nécessaires pour HF
create_hf_files() {
log_info "Création des fichiers nécessaires pour Hugging Face..."
# Créer un README.md simple pour HF
cat > README.md << 'EOF'
---
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**
EOF
log_success "Fichiers HF créés"
}
# Configuration Git
setup_git() {
log_info "Configuration Git..."
# Ajouter tous les fichiers
git add .
# Commit initial
git commit -m "Initial commit: HOLOKIA-AVATAR for Hugging Face Spaces"
log_success "Configuration Git terminée"
}
# Fonction principale
main() {
echo "🧹 HOLOKIA-AVATAR - Nettoyage et restructuration pour Hugging Face"
echo "=================================================================="
echo ""
# Vérifications
check_requirements
# Sauvegarde
backup_important_files
# Nettoyage
clean_git_history
# Restructuration
restructure_files
# Création des fichiers HF
create_hf_files
# Configuration Git
setup_git
echo ""
log_success "🎉 Nettoyage et restructuration terminés!"
echo ""
log_info "Prochaines étapes:"
echo "1. Ajoutez le remote Hugging Face:"
echo " git remote add origin https://huggingface.co/spaces/DataSage12/avatar-v2"
echo ""
echo "2. Poussez le code:"
echo " git push -u origin main"
echo ""
echo "3. Ajoutez votre clé API Groq dans les secrets du Space"
echo ""
log_warning "Sauvegarde disponible dans: ../backup_holokia_avatar/"
}
# Gestion des arguments
case "${1:-}" in
--help|-h)
echo "Usage: $0 [OPTIONS]"
echo ""
echo "Ce script nettoie l'historique Git et restructure le projet pour Hugging Face Spaces."
echo ""
echo "Options:"
echo " --help Afficher cette aide"
echo ""
echo "ATTENTION: Ce script va supprimer l'historique Git existant!"
echo "Une sauvegarde sera créée dans ../backup_holokia_avatar/"
echo ""
exit 0
;;
*)
main "$@"
;;
esac