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

103 lines
3.3 KiB
Markdown

# 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 :
```csharp
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 :
```csharp
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) :
```csharp
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 :
```csharp
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 :
```csharp
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 :
```sql
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`