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.
This commit is contained in:
102
CONFIGURATION.md
Normal file
102
CONFIGURATION.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user