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

4.2 KiB

📦 Build Client Executable

Ce document explique comment créer un exécutable pour l'application client Spotify Le 2.

🎯 Prérequis

Windows

Linux

macOS


🚀 Compilation Rapide

Windows

Double-cliquez sur: BUILD_CLIENT_WINDOWS.bat

Ou manuellement:

cd frontend
flutter pub get
flutter build windows --release

L'exécutable sera créé dans: frontend\build\windows\x64\runner\Release\

Linux

chmod +x BUILD_CLIENT_LINUX.sh
./BUILD_CLIENT_LINUX.sh

L'exécutable sera créé dans: frontend/build/linux/x64/release/bundle/

macOS

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)

    iscc dist/windows/installer_script.iss
    
  2. WiX Toolset

    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):

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

    # 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)

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:

name: spotify_le_2  # Changez ceci

Puis recréez le projet avec:

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