Files
Audio-Classifier/DEMARRAGE.md
2025-11-27 17:43:52 +01:00

197 lines
4.0 KiB
Markdown

# 🚀 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 ! 🎶