Un micro serveur web développé en C# avec ASP.NET Core, conçu pour être simple, léger et facilement extensible.
- Authentification JWT sécurisée
- Gestion des utilisateurs (inscription, connexion, liste)
- Base de données SQLite intégrée (Entity Framework Core)
- Architecture modulaire : séparation claire entre Handlers, Helpers, Models, Data
- Configuration flexible via
appsettings.json
- CORS activé pour le développement front-end
- Prêt pour déploiement local ou cloud
- .NET 8 SDK
- (Optionnel) SQLite pour la gestion directe de la base de données
-
Cloner le dépôt
git clone https://github.com/zoukidev/WebServer.git cd WebServer
-
Restaurer les dépendances
dotnet restore
-
Lancer le serveur
dotnet run
-
(Optionnel) Modifier la configuration
- Les fichiers
appsettings.json
etappsettings.Development.json
permettent d’ajuster les paramètres (port, niveau de logs, etc.).
- Les fichiers
Program.cs
: Point d’entrée de l’application, configuration des services et des routes principalesRoutes.cs
: Définition des routes HTTP personnaliséesData/
: Contexte de base de données (AppDbContext
)Handlers/
: Gestionnaires pour l’authentification et les utilisateursHelpers/
: Utilitaires (ex :JwtTokenHelper
pour la génération de tokens JWT)Models/
: Modèles de données (ex :User
)
- Modifiez
appsettings.json
ouappsettings.Development.json
pour :- Le niveau de logs
- Les hôtes autorisés
- (À compléter selon vos besoins : chaîne de connexion, clés secrètes, etc.)
Inscription
POST /register
Content-Type: application/json
{
"username": "admin",
"name": "Administrateur",
"password": "motdepasse"
}
Connexion
POST /login
Content-Type: application/json
{
"username": "admin",
"password": "motdepasse"
}
Vérification du token
GET /check-token
Authorization: Bearer <votre_token_jwt>
Liste des utilisateurs
GET /users
Authorization: Bearer <votre_token_jwt>
- Le mot de passe utilisateur est stocké sous forme de hash BCrypt.
- Les routes sensibles nécessitent un token JWT valide dans l’en-tête
Authorization
.
- Le projet utilise Entity Framework Core avec migration automatique à la création.
- Pour modifier la structure de la base, modifiez les modèles dans
Models/
puis appliquez les migrations si besoin.