Skip to content

zoukidev/WebServer

Repository files navigation

WebServer C#

Un micro serveur web développé en C# avec ASP.NET Core, conçu pour être simple, léger et facilement extensible.

Client associé

Fonctionnalités

  • 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

Prérequis

Installation

  1. Cloner le dépôt

    git clone https://github.com/zoukidev/WebServer.git
    cd WebServer
  2. Restaurer les dépendances

    dotnet restore
  3. Lancer le serveur

    dotnet run
  4. (Optionnel) Modifier la configuration

    • Les fichiers appsettings.json et appsettings.Development.json permettent d’ajuster les paramètres (port, niveau de logs, etc.).

Structure du projet

  • Program.cs : Point d’entrée de l’application, configuration des services et des routes principales
  • Routes.cs : Définition des routes HTTP personnalisées
  • Data/ : Contexte de base de données (AppDbContext)
  • Handlers/ : Gestionnaires pour l’authentification et les utilisateurs
  • Helpers/ : Utilitaires (ex : JwtTokenHelper pour la génération de tokens JWT)
  • Models/ : Modèles de données (ex : User)

Configuration

  • Modifiez appsettings.json ou appsettings.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.)

Exemples de requêtes

Authentification

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>

Sécurité

  • 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.

Développement

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages