#!/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