Files
TravelMateAdmin/CONFIGURATION.md
Van Leemput Dayron f9690045ea feat: Implement Database Service and ViewModels for Messages and Support Requests
- Added DatabaseService to handle database operations for messages and support requests.
- Created IDatabaseService interface to define the contract for database operations.
- Developed ViewModels for Dashboard, Messages, and Support pages to manage data and commands.
- Implemented XAML views for Dashboard, Messages, and Support, including data binding and UI elements.
- Created SQL script for setting up the database schema and inserting test data.
2026-01-12 18:04:10 +01:00

3.3 KiB

Configuration de l'Application TravelMate Admin

Configuration de Base de Données

Pour configurer la connexion à votre base de données, modifiez le fichier : TravelMateAdmin/Configuration/AppSettings.cs

Exemple pour une connexion locale :

public const string Server = "localhost";
public const string Port = "3306";
public const string Database = "travelmateadmin";
public const string User = "root";
public const string Password = "monmotdepasse";

Exemple pour une connexion distante :

public const string Server = "192.168.1.100";  // IP du serveur
public const string Port = "3306";
public const string Database = "travelmateadmin";
public const string User = "admin";
public const string Password = "motdepassesecurise";

Exemple avec un serveur cloud (ex: AWS RDS, Azure Database) :

public const string Server = "myserver.mysql.database.azure.com";
public const string Port = "3306";
public const string Database = "travelmateadmin";
public const string User = "myadmin@myserver";
public const string Password = "P@ssw0rd!";

Sécurité

⚠️ Important : Ne commitez JAMAIS vos mots de passe dans Git !

Pour une meilleure sécurité en production :

  1. Utilisez des variables d'environnement
  2. Utilisez un système de gestion des secrets (Azure Key Vault, AWS Secrets Manager)
  3. Chiffrez la chaîne de connexion

Exemple avec variables d'environnement :

public static string GetConnectionString()
{
    var server = Environment.GetEnvironmentVariable("DB_SERVER") ?? Server;
    var port = Environment.GetEnvironmentVariable("DB_PORT") ?? Port;
    var database = Environment.GetEnvironmentVariable("DB_NAME") ?? Database;
    var user = Environment.GetEnvironmentVariable("DB_USER") ?? User;
    var password = Environment.GetEnvironmentVariable("DB_PASSWORD") ?? Password;
    
    return $"Server={server};Port={port};Database={database};User={user};Password={password};";
}

Paramètres Supplémentaires MySQL

Vous pouvez ajouter des paramètres supplémentaires à la chaîne de connexion :

public static string GetConnectionString()
{
    return $"Server={Server};Port={Port};Database={Database};User={User};Password={Password};" +
           "SslMode=Required;" +                    // Pour SSL/TLS
           "AllowPublicKeyRetrieval=True;" +        // Pour l'authentification
           "ConnectionTimeout=30;" +                 // Timeout en secondes
           "DefaultCommandTimeout=30;";              // Timeout des commandes
}

Test de Connexion

Pour tester votre connexion, lancez l'application et vérifiez :

  1. Le dashboard doit afficher "✓ Connecté" en haut à droite
  2. Les statistiques doivent se charger
  3. Si "✗ Déconnecté", vérifiez vos paramètres et les logs de débogage

Dépannage Connexion

Erreur "Access denied"

  • Vérifiez le nom d'utilisateur et le mot de passe
  • Vérifiez que l'utilisateur a les droits sur la base de données :
    GRANT ALL PRIVILEGES ON travelmateadmin.* TO 'user'@'localhost';
    FLUSH PRIVILEGES;
    

Erreur "Cannot connect to server"

  • Vérifiez que MySQL est démarré
  • Vérifiez le serveur et le port
  • Vérifiez les règles de firewall

Erreur "Unknown database"

  • Vérifiez que la base de données existe
  • Exécutez le script database_setup.sql