Files
AudiOhm/BUILD_CLIENT_README.md
T
root a89c7894cf Initial commit: AudiOhm - Alternative Spotify avec streaming YouTube
Backend:
- FastAPI avec PostgreSQL et Redis
- Authentification JWT complète
- API REST pour musique, playlists, recherche
- Streaming audio via yt-dlp
- SQLAlchemy 2.0 async

Frontend:
- Flutter avec thème néon cyberpunk
- State management Riverpod
- Layout adaptatif desktop/mobile
- Lecteur audio avec mini-player

Infrastructure:
- Docker Compose (PostgreSQL + Redis)
- Scripts d'installation automatisés
- Scripts de build pour exécutables

Fichiers ajoutés:
- BUILD_CLIENT_*.bat/sh: Scripts de compilation
- BUILD_CLIENT_README.md: Documentation compilation
- CHECK_FLUTTER.sh: Vérificateur d'environnement
- requirements.txt mis à jour pour Python 3.13
- Modèles SQLAlchemy corrigés (metadata -> extra_metadata)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 20:08:36 +00:00

197 lines
4.2 KiB
Markdown

# 📦 Build Client Executable
Ce document explique comment créer un exécutable pour l'application client Spotify Le 2.
## 🎯 Prérequis
### Windows
- **Flutter SDK** (3.19.0 ou supérieur)
- Télécharger: https://docs.flutter.dev/get-started/install/windows
- **Visual Studio 2022** (avec "Desktop development with C++")
- **Git for Windows**
### Linux
- **Flutter SDK** (3.19.0 ou supérieur)
- Télécharger: https://docs.flutter.dev/get-started/install/linux
- Dépendances de build:
```bash
sudo apt install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
```
### macOS
- **Flutter SDK** (3.19.0 ou supérieur)
- Télécharger: https://docs.flutter.dev/get-started/install/macos
- **Xcode** (avec les outils de ligne de commande)
---
## 🚀 Compilation Rapide
### Windows
**Double-cliquez sur:** `BUILD_CLIENT_WINDOWS.bat`
**Ou manuellement:**
```cmd
cd frontend
flutter pub get
flutter build windows --release
```
L'exécutable sera créé dans: `frontend\build\windows\x64\runner\Release\`
### Linux
```bash
chmod +x BUILD_CLIENT_LINUX.sh
./BUILD_CLIENT_LINUX.sh
```
L'exécutable sera créé dans: `frontend/build/linux/x64/release/bundle/`
### macOS
```bash
cd frontend
flutter pub get
flutter build macos --release
```
L'exécutable sera créé dans: `frontend/build/macos/Build/Products/Release/`
---
## 📦 Distribution
Le script de build crée automatiquement un paquet dans `dist/` contenant:
- L'exécutable compilé
- Tous les assets nécessaires
- Un fichier README avec les instructions
### Créer un installeur (Windows - optionnel)
Pour créer un vrai installeur `.msi` ou `.exe`, vous pouvez utiliser:
1. **Inno Setup** (gratuit)
```cmd
iscc dist/windows/installer_script.iss
```
2. **WiX Toolset**
```cmd
candle.exe installer.wxs
light.exe -out installer.msi installer.wixobj
```
3. **electron-builder** (si vous portez l'app en Electron)
---
## 🔧 Configuration de l'API
L'URL de l'API backend est configurée dans:
```
frontend/lib/core/constants/api_constants.dart
```
Par défaut: `http://localhost:8000/api/v1`
Pour changer l'URL du backend (ex: serveur distant):
```dart
const String baseUrl = 'http://VOTRE-SERVER-IP:8000/api/v1';
```
Puis recompilez l'application.
---
## ✅ Vérification
Avant de distribuer l'exécutable:
1. **Tester l'application localement**
```bash
# Lancer le backend
cd backend && source venv/bin/activate && uvicorn app.main:app
# Lancer le client
flutter run -d windows
```
2. **Vérifier les fonctionnalités clés**
- Connexion/Inscription
- Recherche musicale
- Lecture audio
- Gestion des playlists
3. **Tester sur une machine propre** (sans Flutter installé)
---
## 📝 Notes importantes
- **Taille du fichier**: L'exécutable pèse environ **50-80 MB**
- **Dépendances**: Aucune dépendance externe nécessaire pour l'utilisateur
- **Performance**: Version release optimisée (compactée et accélérée)
- **Mises à jour**: Pour mettre à jour l'application, il faut recompiler et redistribuer
---
## 🐛 Problèmes Courants
### "Flutter command not found"
→ Ajoutez Flutter au PATH:
- Windows: `%LOCALAPPDATA%\Flutter\bin`
- Linux/Mac: `export PATH="$PATH:`pwd`/flutter/bin"`
### "No valid Windows build target"
→ Installez Visual Studio 2022 avec "Desktop development with C++"
### "clang: command not found" (Linux)
```bash
sudo apt install clang cmake ninja-build pkg-config libgtk-3-dev
```
### L'application ne se connecte pas au backend
→ Vérifiez que:
1. Le backend est démarré
2. L'URL dans `api_constants.dart` est correcte
3. Le firewall ne bloque pas le port 8000
---
## 🎨 Personnalisation
### Changer l'icône de l'application
**Windows:**
1. Remplacer `windows/runner/resources/app_icon.ico`
2. Recompiler
**Linux:**
1. Remplacer `linux/flutter/assets/icon.png`
2. Recompiler
### Changer le nom de l'application
Modifier dans `pubspec.yaml`:
```yaml
name: spotify_le_2 # Changez ceci
```
Puis recréez le projet avec:
```bash
flutter create --platforms=windows,linux,macos .
```
---
**Pour distribuer votre application:**
1. Suivez les étapes ci-dessus
2. Testez sur plusieurs machines
3. Créez un installeur si nécessaire
4. Uploadez le fichier sur votre site/plateforme de distribution
**Bon build ! 🚀**