- Ajout de scripts PowerShell et Bash pour build automatisé - Configuration pour connexion à l'API production (api.lions.dev/afterwork) - Documentation complète dans BUILD_CONFIG.md - Fichier .env.example pour référence - Support pour APK, App Bundle, iOS et Web
6.5 KiB
Configuration de Build AfterWork
Ce document explique comment configurer et builder l'application AfterWork pour différents environnements.
📋 Table des matières
🌍 Environnements
Development (par défaut)
- API URL :
http://192.168.1.145:8080 - Usage : Développement local avec le backend sur le réseau local
- Debug : Activé
Production
- API URL :
https://api.lions.dev/afterwork - Usage : Déploiement en production
- Debug : Désactivé
⚡ Configuration Rapide
Windows (PowerShell)
# Build APK de production
.\scripts\build_production.ps1
# Build avec nettoyage préalable
.\scripts\build_production.ps1 -Clean
# Build pour d'autres plateformes
.\scripts\build_production.ps1 -Platform appbundle
.\scripts\build_production.ps1 -Platform web
Linux/Mac (Bash)
# Rendre le script exécutable
chmod +x scripts/build_production.sh
# Build APK de production
./scripts/build_production.sh
# Build avec nettoyage préalable
./scripts/build_production.sh apk --clean
# Build pour d'autres plateformes
./scripts/build_production.sh appbundle
./scripts/build_production.sh web
🔨 Scripts de Build
build_production.ps1 / build_production.sh
Scripts automatisés pour builder l'application en production.
Paramètres :
Platform:apk(défaut),appbundle,ios,web--clean/-Clean: Nettoie le projet avant le build
Configuration automatique :
- ✅ API_BASE_URL =
https://api.lions.dev/afterwork - ✅ ENVIRONMENT =
production - ✅ Mode release activé
Sortie :
- APK :
build/app/outputs/flutter-apk/app-release.apk - App Bundle :
build/app/outputs/bundle/release/app-release.aab - iOS :
build/ios/ipa/ - Web :
build/web/
🛠️ Build Manuel
Si vous préférez builder manuellement sans les scripts :
Android APK
flutter build apk \
--dart-define=API_BASE_URL=https://api.lions.dev/afterwork \
--dart-define=ENVIRONMENT=production \
--release
Android App Bundle (pour Google Play)
flutter build appbundle \
--dart-define=API_BASE_URL=https://api.lions.dev/afterwork \
--dart-define=ENVIRONMENT=production \
--release
iOS
flutter build ios \
--dart-define=API_BASE_URL=https://api.lions.dev/afterwork \
--dart-define=ENVIRONMENT=production \
--release
Web
flutter build web \
--dart-define=API_BASE_URL=https://api.lions.dev/afterwork \
--dart-define=ENVIRONMENT=production \
--release
🔑 Variables d'Environnement
API_BASE_URL
URL de base de l'API backend.
- Type : String
- Requis : Non (utilise la valeur par défaut si non défini)
- Défaut :
http://192.168.1.145:8080(développement) - Production :
https://api.lions.dev/afterwork
Exemple d'utilisation :
import 'package:afterwork/core/constants/env_config.dart';
final apiUrl = EnvConfig.apiBaseUrl;
// En prod: https://api.lions.dev/afterwork
ENVIRONMENT
Environnement d'exécution de l'application.
- Type : String
- Valeurs :
development,staging,production - Défaut :
development
Exemple d'utilisation :
import 'package:afterwork/core/constants/env_config.dart';
if (EnvConfig.isProduction) {
// Code spécifique à la production
}
NETWORK_TIMEOUT
Timeout pour les requêtes réseau en secondes.
- Type : int
- Défaut : 30
- Production : 30 (recommandé)
DEBUG_MODE
Active les logs détaillés et fonctionnalités de debug.
- Type : bool
- Défaut :
true - Production : Automatiquement
falsesiENVIRONMENT=production
GOOGLE_MAPS_API_KEY
Clé API Google Maps (optionnelle).
- Type : String
- Requis : Non
- Défaut : vide
Exemple :
flutter build apk \
--dart-define=API_BASE_URL=https://api.lions.dev/afterwork \
--dart-define=GOOGLE_MAPS_API_KEY=votre_cle_api
🚀 Endpoints de l'API Production
L'API production est accessible à l'adresse : https://api.lions.dev/afterwork
Endpoints Principaux
| Endpoint | Description |
|---|---|
/users |
Gestion des utilisateurs |
/users/authenticate |
Authentification |
/events |
Gestion des événements |
/friends |
Gestion des amis |
/messages |
Messagerie |
/posts |
Posts sociaux |
/stories |
Stories |
/notifications |
Notifications |
WebSockets
| Endpoint | Description |
|---|---|
/chat/ws/{userId} |
Chat en temps réel |
/notifications/ws/{userId} |
Notifications en temps réel |
URL complète :
wss://api.lions.dev/afterwork/chat/ws/{userId}
wss://api.lions.dev/afterwork/notifications/ws/{userId}
Documentation API
Swagger UI disponible à :
- URL :
https://api.lions.dev/afterwork/q/swagger-ui/
📝 Vérification de la Configuration
Avant le déploiement, vérifiez que :
✅ L'API backend est accessible : https://api.lions.dev/afterwork/users
✅ Les WebSockets fonctionnent
✅ Les certificats TLS sont valides
✅ Le CORS est correctement configuré
✅ L'application se connecte avec succès à l'API
Test rapide :
# Tester l'API
curl https://api.lions.dev/afterwork/users
# Devrait retourner: [] (liste vide si aucun utilisateur)
🐛 Dépannage
Erreur : "API_BASE_URL is not set"
Solution : Vérifiez que vous utilisez --dart-define=API_BASE_URL=... lors du build.
Erreur : "Connection refused"
Solutions :
- Vérifiez que l'API est accessible :
curl https://api.lions.dev/afterwork/users - Vérifiez votre connexion internet
- Vérifiez que le CORS est configuré sur le backend
L'app se connecte au mauvais environnement
Solution : Reconstruisez complètement l'application avec le bon --dart-define.
# Nettoyage complet
flutter clean
flutter pub get
# Rebuild avec la bonne configuration
flutter build apk --dart-define=API_BASE_URL=https://api.lions.dev/afterwork
📚 Ressources
Dernière mise à jour : 2026-01-10 Version : 1.0.0