// Config/database_config.dart - Version améliorée class DatabaseConfig { static const String host = 'database.c4m.mg'; static const int port = 3306; static const String username = 'guycom'; static const String password = '3iV59wjRdbuXAPR'; static const String database = 'guycom'; static const String prodHost = 'database.c4m.mg'; static const String prodUsername = 'guycom'; static const String prodPassword = '3iV59wjRdbuXAPR'; static const String prodDatabase = 'guycom'; static const Duration connectionTimeout = Duration(seconds: 30); static const Duration queryTimeout = Duration(seconds: 15); static const int maxConnections = 10; static const int minConnections = 2; static bool get isDevelopment => false; static Map getConfig() { if (isDevelopment) { return { 'host': host, 'port': port, 'user': username, 'password': password, 'database': database, 'timeout': connectionTimeout.inSeconds, }; } else { return { 'host': prodHost, 'port': port, 'user': prodUsername, 'password': prodPassword, 'database': prodDatabase, 'timeout': connectionTimeout.inSeconds, }; } } // Validation de la configuration static bool validateConfig() { try { final config = getConfig(); return config['host']?.toString().isNotEmpty == true && config['database']?.toString().isNotEmpty == true && config['user'] != null; } catch (e) { print("Erreur de validation de la configuration: $e"); return false; } } // Configuration avec retry automatique static Map getConfigWithRetry() { final config = getConfig(); config['retryCount'] = 3; config['retryDelay'] = 5000; // ms return config; } }