- DEPENDENCIES.md: Documentation complète de toutes les dépendances * Backend Python (requirements.txt) * Dépendances système (apt packages) * Frontend Node.js (package.json) * Modèles Essentia (28 MB) * Variables d'environnement requises - check_dependencies.py: Script pour vérifier l'installation * Teste tous les imports Python * Affiche statut ✅/❌ pour chaque package * Utile pour debug d'installation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.0 KiB
4.0 KiB
Dépendances du projet
Backend Python (requirements.txt)
Web Framework
fastapi==0.109.0- Framework web moderneuvicorn[standard]==0.27.0- Serveur ASGIpython-multipart==0.0.6- Support formulaires multipart
Database
sqlalchemy==2.0.25- ORMpsycopg2-binary==2.9.9- Driver PostgreSQLpgvector==0.2.4- Extension vecteurs PostgreSQLalembic==1.13.1- Migrations de base de données
Audio Processing
librosa==0.10.1- Analyse audiosoundfile==0.12.1- Lecture/écriture fichiers audioaudioread==3.0.1- Décodage formats audiomutagen==1.47.0- Métadonnées ID3
Machine Learning
essentia-tensorflow- Classification genre/mood/instruments (installé via Dockerfile)numpy==1.24.3- Calcul numériquescipy==1.11.4- Calcul scientifique
Configuration & Validation
pydantic==2.5.3- Validation de donnéespydantic-settings==2.1.0- Configuration via env varspython-dotenv==1.0.0- Chargement fichier .envemail-validator==2.1.0- Validation emails (requis par Pydantic EmailStr)
Authentication
python-jose[cryptography]==3.3.0- JWT tokenspasslib[bcrypt]==1.7.4- Hashing passwords
Utilities
aiofiles==23.2.1- I/O fichiers asynchroneshttpx==0.26.0- Client HTTP asynchrone
Dépendances Système (Dockerfile)
Requis pour le backend
apt-get install -y \
ffmpeg # Transcodage audio (MP3, etc.)
libsndfile1 # Lecture formats audio
gcc g++ gfortran # Compilation packages Python
libopenblas-dev # Algèbre linéaire optimisée
liblapack-dev # Routines algèbre linéaire
libfftw3-dev # Transformées de Fourier rapides
libavcodec-dev # Codecs audio/vidéo
libavformat-dev # Formats conteneurs
libavutil-dev # Utilitaires FFmpeg
libswresample-dev # Resampling audio
libsamplerate0-dev # Conversion taux d'échantillonnage
libtag1-dev # Métadonnées audio
libchromaprint-dev # Audio fingerprinting
Frontend (package.json)
Framework
next@15.5.6- Framework Reactreact@19.0.0- Bibliothèque UIreact-dom@19.0.0- Rendu React
State Management & Data Fetching
@tanstack/react-query@5.62.11- Gestion état serveuraxios@1.7.9- Client HTTP
UI & Styling
tailwindcss@3.4.17- Framework CSS utility-first
Types
typescript@5.7.2- Typage statique@types/react@19.0.1@types/node@22.10.1
Modèles Essentia (inclus dans le repo)
Total: ~28 MB
discogs-effnet-bs64-1.pb(18 MB) - Modèle d'embeddinggenre_discogs400-discogs-effnet-1.pb(2 MB) - Classification genregenre_discogs400-discogs-effnet-1.json(15 KB) - Métadonnées genresmtg_jamendo_moodtheme-discogs-effnet-1.pb(2.6 MB) - Classification moodmtg_jamendo_instrument-discogs-effnet-1.pb(2.6 MB) - Classification instrumentsmtg_jamendo_genre-discogs-effnet-1.pb(2.7 MB) - Classification genre (alternatif)
Vérification des dépendances
Backend
cd backend
python check_dependencies.py
Build Docker
# Backend
docker build -t audio-classifier-backend -f backend/Dockerfile .
# Frontend
docker build -t audio-classifier-frontend -f frontend/Dockerfile .
Notes de compatibilité
- Python: 3.9 (requis pour essentia-tensorflow)
- Architecture: amd64 (meilleure compatibilité Essentia)
- Node.js: 20+ (pour Next.js 15)
- PostgreSQL: 16+ avec extension pgvector
Installation locale
Backend
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
pip install essentia-tensorflow
Frontend
cd frontend
npm install
Variables d'environnement requises
Voir .env.example pour la liste complète des variables nécessaires.
Critiques
DATABASE_URL- Connexion PostgreSQLADMIN_EMAIL- Email adminADMIN_PASSWORD- Mot de passe adminJWT_SECRET_KEY- Secret pour JWT (générer avecopenssl rand -hex 32)