801e6a050b
- Documentation archivée et réorganisée - Backend: Ajout tests, migrations, library service, rate limiting - Frontend: Suppression Flutter, focus sur interface web HTML/JS - Tailwind CSS ajouté pour le style - Améliorations UX et corrections bugs Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
197 lines
4.2 KiB
Markdown
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 ! 🚀**
|