# 🚀 DĂ©marrage - Audio Classifier ## ✅ Statut Le projet est configurĂ© et prĂȘt Ă  fonctionner ! ## Configuration actuelle - **Backend API** : http://localhost:8001 - **Base de donnĂ©es** : PostgreSQL sur port 5433 - **Frontend** : À lancer sur port 3000 ## 1. Services Docker (DĂ©jĂ  lancĂ©s) ```bash cd "/Users/benoit/Documents/code/Audio Classifier" # VĂ©rifier que les services tournent docker-compose -f docker-compose.dev.yml ps # Logs du backend docker-compose -f docker-compose.dev.yml logs -f backend ``` ## 2. Tester le backend ```bash # Health check curl http://localhost:8001/health # Documentation interactive open http://localhost:8001/docs ``` ## 3. Lancer le frontend ```bash cd frontend # Si pas encore fait npm install # CrĂ©er .env.local cat > .env.local << EOF NEXT_PUBLIC_API_URL=http://localhost:8001 EOF # Lancer npm run dev ``` Frontend accessible sur : **http://localhost:3000** ## 4. Analyser votre bibliothĂšque audio ### Option A : Via l'API ```bash # Analyser un dossier curl -X POST http://localhost:8001/api/analyze/folder \ -H "Content-Type: application/json" \ -d '{ "path": "/audio", "recursive": true }' # Note: "/audio" correspond au montage dans le conteneur # Pour analyser vos fichiers, mettre Ă  jour AUDIO_LIBRARY_PATH dans .env ``` ### Option B : Depuis votre machine (sans Essentia) Le systĂšme fonctionne actuellement **sans les modĂšles Essentia** pour simplifier le dĂ©ploiement. **FonctionnalitĂ©s disponibles** : - ✅ Extraction tempo (BPM) - ✅ DĂ©tection tonalitĂ© - ✅ Features spectrales (energy, danceability, valence) - ✅ Signature rythmique - ❌ Classification genre/mood/instruments (nĂ©cessite Essentia) **Pour activer Essentia** (optionnel) : 1. TĂ©lĂ©charger les modĂšles : ```bash ./scripts/download-essentia-models.sh ``` 2. Reconstruire avec Dockerfile complet : ```bash # Éditer docker-compose.dev.yml # Changer: dockerfile: Dockerfile.minimal # En: dockerfile: Dockerfile docker-compose -f docker-compose.dev.yml build backend docker-compose -f docker-compose.dev.yml up -d ``` ## 5. Commandes utiles ### GĂ©rer les services ```bash # ArrĂȘter docker-compose -f docker-compose.dev.yml stop # RedĂ©marrer docker-compose -f docker-compose.dev.yml restart # Tout supprimer (⚠ perd les donnĂ©es DB) docker-compose -f docker-compose.dev.yml down -v ``` ### RequĂȘtes API ```bash # Lister les pistes curl http://localhost:8001/api/tracks?limit=10 # Recherche curl "http://localhost:8001/api/search?q=test&limit=10" # Stats curl http://localhost:8001/api/stats # Stream audio (remplacer TRACK_ID) open http://localhost:8001/api/audio/stream/TRACK_ID # Download audio curl -O http://localhost:8001/api/audio/download/TRACK_ID ``` ## 6. Configuration avancĂ©e ### Changer le dossier audio Ă  analyser Éditer `.env` : ```env AUDIO_LIBRARY_PATH=/Users/benoit/Music ``` Puis redĂ©marrer : ```bash docker-compose -f docker-compose.dev.yml restart backend ``` ### AccĂ©der Ă  la base de donnĂ©es ```bash # Connexion psql docker exec -it audio_classifier_db psql -U audio_user -d audio_classifier # Queries utiles \dt -- Liste des tables SELECT COUNT(*) FROM audio_tracks; SELECT filename, tempo_bpm, key FROM audio_tracks LIMIT 5; ``` ## 🐛 ProblĂšmes courants ### Backend ne dĂ©marre pas ```bash docker-compose -f docker-compose.dev.yml logs backend ``` ### Port dĂ©jĂ  utilisĂ© Les ports ont Ă©tĂ© changĂ©s pour Ă©viter les conflits : - PostgreSQL : **5433** (au lieu de 5432) - Backend : **8001** (au lieu de 8000) ### Frontend ne se connecte pas VĂ©rifier `.env.local` dans le dossier `frontend` : ```env NEXT_PUBLIC_API_URL=http://localhost:8001 ``` ## 📚 Documentation - [README.md](README.md) - Vue d'ensemble - [SETUP.md](SETUP.md) - Guide complet - http://localhost:8001/docs - API interactive ## đŸŽ” Prochaines Ă©tapes 1. **Analyser vos fichiers** : Utiliser l'API `/api/analyze/folder` 2. **Explorer le frontend** : Naviguer dans les pistes 3. **Tester la recherche** : Filtrer par BPM, etc. 4. **Activer Essentia** (optionnel) : Pour genre/mood/instruments Bon classement ! đŸŽ¶