6.6 KiB
Dossier de configuration — Projet Webzine
Équipe 1 Formation : Développement .NET niveau 1 / Dr1-P4 Date : Mars 2026
Table des modifications
| Date | Auteur |
|---|---|
| 25/03 | Clément Bobin |
| 31/03 | Joséphine Vetu |
1. Prérequis
Avant de lancer l'application, assurez-vous d'avoir installé les outils suivants :
| Outil | Version minimale | Lien |
|---|---|---|
| .NET SDK | 10.0 | https://dotnet.microsoft.com/download |
| Node.js (optionnel, pour outils front) | 18+ | https://nodejs.org |
| Git | 2.x | https://git-scm.com |
| Un IDE | Visual Studio 2022+ ou Rider | — |
2. Récupérer le projet
git clone <url-du-dépôt>
cd Webzine
3. Structure des projets
Le projet est organisé en plusieurs bibliothèques de classes et une application web :
Webzine.sln
├── Webzine.Entity/ → Entités du domaine (modèles)
├── Webzine.Entity.Tests/ → Tests unitaires MSTest
├── Webzine.Repository.Contracts/ → Interfaces des repositories
├── Webzine.Repository/ → Implémentations des repositories
├── Webzine.Business.Contracts/ → Interfaces de la couche métier
├── Webzine.Business/ → Logique métier
├── Webzine.EntitiesContext/ → Contexte Entity Framework (à venir)
├── Webzine.Documentation/ → Documentation, StyleCop, rapports
└── Webzine.WebApplication/ → Application ASP.NET Core MVC (.NET 10)
4. Lancer l'application
Via la ligne de commande
cd Webzine.WebApplication
dotnet run
L'application est accessible par défaut à :
- HTTP : http://localhost:5038
- HTTPS : https://localhost:7095
Ces URLs sont configurées dans Webzine.WebApplication/Properties/launchSettings.json.
Via Visual Studio
Ouvrir Webzine.sln, sélectionner le profil https ou http, puis lancer avec F5 ou Ctrl+F5.
5. Configuration applicative
Le fichier principal de configuration est Webzine.WebApplication/appsettings.json :
{
"Webzine": {
"NombreDerniereChronique": 3,
"NombreDeTopTitres": 3
}
}
| Propriété | Type | Description | Valeur par défaut |
|---|---|---|---|
NombreDerniereChronique |
int | Nombre de chroniques affichées sur la page d'accueil (section "Derniers titres") | 3 |
NombreDeTopTitres |
int | Nombre de titres affichés dans le bloc "Titres les plus populaires" | 3 |
Ces valeurs sont injectées dans AccueilController via IConfiguration et peuvent être modifiées sans recompilation.
Pour l'environnement de développement, les surcharges se font dans appsettings.Development.json.
6. Logging (NLog)
La configuration du logging se trouve dans Webzine.WebApplication/nlog.config.
Les logs sont écrits dans le dossier /Logs/ avec deux fichiers :
| Fichier | Contenu |
|---|---|
nlog-all-{date}.log |
Tous les logs (Debug et supérieur pour l'application) |
nlog-own-{date}.log |
Logs applicatifs avec URL de la requête |
Les logs de la console sont également activés, utiles lors du développement.
Niveaux configurés :
Webzine.WebApplication.*→ Debug et supérieurMicrosoft.*→ Warning et supérieur (pour réduire le bruit)Microsoft.Hosting.Lifetime*→ Info (pour voir le démarrage de l'appli)
Pour modifier le niveau de log minimum sans recompiler, éditer la règle correspondante dans nlog.config. NLog recharge automatiquement sa configuration (autoReload="true").
7. Lancer les tests
cd Webzine.Entity.Tests
dotnet test
Ou depuis la solution complète :
dotnet test Webzine.sln
Les tests vérifient les contraintes de validation (annotations DataAnnotations) sur toutes les entités. Ils s'exécutent en parallèle au niveau des méthodes ([assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]).
Résultat attendu : 55 tests passants, 0 échec.
8. Routes principales
| URL | Contrôleur | Description |
|---|---|---|
/ |
AccueilController.Index |
Page d'accueil |
/artiste/{nom} |
ArtisteController.Index |
Page d'un artiste |
/titre/{id} |
TitreController.Details |
Détail d'un titre |
/titre/style/{style} |
TitreController.Style |
Titres par style |
/recherche (POST) |
RechercheController.Index |
Résultats de recherche |
/Administration/Dashboard |
DashboardController.Index |
Tableau de bord admin |
/Administration/Artiste |
ArtisteController (admin) |
Gestion des artistes |
/Administration/Titre |
TitreController (admin) |
Gestion des titres |
/Administration/Style |
StyleController |
Gestion des styles |
/Administration/Commentaire |
CommentaireController |
Gestion des commentaires |
10. Variables d'environnement
L'environnement est contrôlé par la variable ASPNETCORE_ENVIRONMENT. En développement, elle vaut Development (configuré dans launchSettings.json).
En production, positionner :
export ASPNETCORE_ENVIRONMENT=Production
Cela désactive les pages d'erreur détaillées et active les optimisations de performance ASP.NET Core.
Ajout du pre-commit
Les fichiers présents dans le dossier git_hooks sont à copier dans le dossier caché .git. Le pre-commit reformatte le code à chaque commit. Le commit-msg vérifie si le message du commit respecte bien les conventions du cahier des charges:
- le message référence un ticket
- le message termine par un point
- le message doit faire au moins 10 caractères