#144 Ajout des fichiers commit-msg et pre-commit. Modification de .editorconfig pour ajouter des règles personnalisées. Exclusion de Progam.cs pour l'erreur SA1200.
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
|
||||
## Table des modifications
|
||||
|
||||
| Date | Auteur |
|
||||
|------|--------|
|
||||
| Date | Auteur |
|
||||
| ----- | ------------- |
|
||||
| 25/03 | Clément Bobin |
|
||||
|
||||
---
|
||||
@@ -18,12 +18,12 @@
|
||||
|
||||
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 | — |
|
||||
| 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 | — |
|
||||
|
||||
---
|
||||
|
||||
@@ -65,6 +65,7 @@ dotnet run
|
||||
```
|
||||
|
||||
L'application est accessible par défaut à :
|
||||
|
||||
- **HTTP :** http://localhost:5038
|
||||
- **HTTPS :** https://localhost:7095
|
||||
|
||||
@@ -89,10 +90,10 @@ Le fichier principal de configuration est `Webzine.WebApplication/appsettings.js
|
||||
}
|
||||
```
|
||||
|
||||
| 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 |
|
||||
| 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.
|
||||
|
||||
@@ -106,14 +107,15 @@ La configuration du logging se trouve dans `Webzine.WebApplication/nlog.config`.
|
||||
|
||||
Les logs sont écrits dans le dossier `/Logs/` avec deux fichiers :
|
||||
|
||||
| Fichier | Contenu |
|
||||
|---------|---------|
|
||||
| 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 |
|
||||
| `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érieur
|
||||
- `Microsoft.*` → Warning et supérieur (pour réduire le bruit)
|
||||
- `Microsoft.Hosting.Lifetime*` → Info (pour voir le démarrage de l'appli)
|
||||
@@ -143,18 +145,18 @@ Les tests vérifient les contraintes de validation (annotations DataAnnotations)
|
||||
|
||||
## 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 |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
@@ -168,4 +170,14 @@ 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.
|
||||
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
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
|
||||
"settings": {
|
||||
"documentationRules": {
|
||||
"documentInterfaces": false,
|
||||
"documentInternalElements": false,
|
||||
"documentExposedElements": false
|
||||
"documentationCulture": "fr-FR"
|
||||
},
|
||||
"maintainabilityRules": {
|
||||
"settings": {
|
||||
|
||||
24
Webzine.Documentation/git_hooks/commit-msg
Normal file
24
Webzine.Documentation/git_hooks/commit-msg
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Hook: commit-msg
|
||||
# Validates the commit message format.
|
||||
# Git passes the path to the temp message file as $1.
|
||||
|
||||
COMMIT_MSG=$(cat "$1")
|
||||
|
||||
if [ ${#COMMIT_MSG} -le 10 ]; then
|
||||
echo "❌ Erreur : Le message doit faire plus de 10 caractères."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! echo "$COMMIT_MSG" | grep -q "\.$"; then
|
||||
echo "❌ Erreur : Le commit doit se terminer par un point."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! echo "$COMMIT_MSG" | grep -q "#[0-9]\+"; then
|
||||
echo "❌ Erreur : Vous devez faire référence à un ticket (ex: #123)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
21
Webzine.Documentation/git_hooks/pre-commit
Normal file
21
Webzine.Documentation/git_hooks/pre-commit
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Hook: pre-commit
|
||||
# Runs dotnet format on staged files, then verifies documentation warnings.
|
||||
|
||||
echo "🔧 Running dotnet format..."
|
||||
dotnet format --severity warn
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Erreur : dotnet format a échoué."
|
||||
exit 1
|
||||
fi
|
||||
git add -u
|
||||
|
||||
echo "📄 Vérification de la documentation..."
|
||||
dotnet format style --severity warn --verify-no-changes
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Erreur : Documentation manquante (classes/méthodes non commentées)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user