feat(dev): centraliser l'IP LAN dans android/local.properties — source unique

- build.gradle : tâche generateDevConfig qui propage dev.host vers
  network_security_config.xml et lib/core/config/local_config.dart à chaque build
- environment.dart : import kDevHost depuis local_config.dart pour les URLs dev
  (apiBaseUrl, keycloakBaseUrl, wsBaseUrl) — plus de constante IP hardcodée
- local_config.dart : fichier auto-généré (ne pas éditer directement)
- network_security_config.xml : autorisation cleartext pour 192.168.1.13

Pour changer l'IP : modifier uniquement android/local.properties → dev.host
This commit is contained in:
dahoud
2026-04-12 14:51:36 +00:00
parent cf2866a0aa
commit 318195c6fd
4 changed files with 72 additions and 8 deletions

View File

@@ -1,8 +1,12 @@
import 'local_config.dart';
/// Environnements de déploiement de l'application
enum Environment { dev, staging, prod }
/// Configuration centralisée par environnement.
/// Les URLs sont injectées via --dart-define=ENV=dev|staging|prod
/// L'IP dev est définie dans android/local.properties → dev.host
/// (propagée automatiquement vers ce fichier via build.gradle).
class AppConfig {
static late final Environment _environment;
static late final String apiBaseUrl;
@@ -26,15 +30,15 @@ class AppConfig {
case Environment.dev:
apiBaseUrl = const String.fromEnvironment(
'API_URL',
defaultValue: 'http://localhost:8085',
defaultValue: 'http://$kDevHost:8085',
);
keycloakBaseUrl = const String.fromEnvironment(
'KEYCLOAK_URL',
defaultValue: 'http://localhost:8180',
defaultValue: 'http://$kDevHost:8180',
);
wsBaseUrl = const String.fromEnvironment(
'WS_URL',
defaultValue: 'ws://localhost:8085',
defaultValue: 'ws://$kDevHost:8085',
);
enableDebugMode = true;
enableLogging = true;

View File

@@ -0,0 +1,4 @@
// AUTO-GENERATED by build.gradle - DO NOT EDIT
// Edit android/local.properties (dev.host) instead.
// ignore_for_file: prefer_single_quotes
const String kDevHost = '192.168.1.13';