Guide d'Installation FoxShelter
📋 Table des Matières
- Prérequis Système
- Installation des Outils
- Configuration de l'Environnement
- Installation du Projet
- Configuration de la Base de Données
- Premier Lancement
- Vérification de l'Installation
- Dépannage
- Configuration Avancée
💻 Prérequis Système
Configuration Minimale
- OS : Windows 10/11, macOS 10.15+, ou Linux (Ubuntu 18.04+)
- RAM : 4 GB minimum, 8 GB recommandé
- Stockage : 2 GB d'espace libre
- Processeur : x64 compatible
Configuration Recommandée
- OS : Windows 11 ou macOS 12+
- RAM : 16 GB
- Stockage : SSD avec 10 GB d'espace libre
- Processeur : Intel i5/AMD Ryzen 5 ou supérieur
🛠️ Installation des Outils
1. Visual Studio 2022
Windows
- Télécharger Visual Studio 2022 Community
- Lancer l'installateur
- Sélectionner les charges de travail :
- Développement web et ASP.NET
- Développement .NET Desktop
- Stockage et traitement des données
Composants Requis
- .NET 8.0 SDK
- Entity Framework Core Tools
- SQL Server Express LocalDB
- Git pour Windows
2. .NET 8 SDK
Vérification de l'Installation
Installation Manuelle
Si .NET 8 n'est pas installé :
Windows :
# Via winget
winget install Microsoft.DotNet.SDK.8
# Ou télécharger depuis https://dotnet.microsoft.com/download
macOS :
# Via Homebrew
brew install --cask dotnet-sdk
# Ou télécharger depuis https://dotnet.microsoft.com/download
Linux (Ubuntu) :
# Ajouter le repository Microsoft
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
# Installer .NET 8
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
3. SQL Server
Option A : SQL Server Express LocalDB (Recommandé)
Windows : - Inclus avec Visual Studio 2022 - Ou télécharger SQL Server Express
Vérification :
Option B : SQL Server Express
Windows :
1. Télécharger SQL Server Express
2. Installer avec les options par défaut
3. Noter l'instance : .\SQLEXPRESS
Option C : SQL Server Developer (Gratuit)
Pour un environnement de développement complet : 1. Télécharger SQL Server Developer 2. Installer SQL Server Management Studio (SSMS)
4. Git
Installation
Windows :
macOS :
Linux :
Configuration Initiale
⚙️ Configuration de l'Environnement
1. Variables d'Environnement
Windows
# Ajouter .NET CLI aux variables PATH (généralement automatique)
setx PATH "%PATH%;C:\Program Files\dotnet"
macOS/Linux
# Ajouter à ~/.bashrc ou ~/.zshrc
export PATH="$PATH:/usr/local/share/dotnet"
export DOTNET_ROOT="/usr/local/share/dotnet"
2. Vérification des Outils
# Vérifier .NET
dotnet --version
dotnet --list-sdks
# Vérifier Entity Framework Tools
dotnet ef --version
# Vérifier Git
git --version
# Vérifier SQL Server LocalDB (Windows)
sqllocaldb info
📦 Installation du Projet
1. Cloner le Repository
# Créer un dossier de travail
mkdir C:\Dev\FoxShelter # Windows
mkdir ~/Dev/FoxShelter # macOS/Linux
# Naviguer vers le dossier
cd C:\Dev\FoxShelter # Windows
cd ~/Dev/FoxShelter # macOS/Linux
# Cloner le projet (remplacer par l'URL réelle)
git clone https://github.com/votre-repo/foxshelter.git .
2. Restaurer les Packages NuGet
# Naviguer vers le dossier du projet
cd FoxShelter
# Restaurer les dépendances
dotnet restore
# Vérifier la restauration
dotnet list package
3. Vérifier la Structure du Projet
FoxShelter/
├── Controllers/
├── Models/
├── Views/
├── Services/
├── Data/
├── wwwroot/
├── FoxShelter.csproj
├── Program.cs
└── appsettings.json
🗄️ Configuration de la Base de Données
1. Configuration de la Chaîne de Connexion
Option A : SQL Server LocalDB (Par défaut)
Le fichier appsettings.json
contient déjà :
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=FoxShelterDB;Trusted_Connection=true;MultipleActiveResultSets=true"
}
}
Option B : SQL Server Express
Modifier appsettings.json
:
{
"ConnectionStrings": {
"DefaultConnection": "Server=.\\SQLEXPRESS;Database=FoxShelterDB;Trusted_Connection=true;MultipleActiveResultSets=true"
}
}
Option C : SQL Server avec Authentification
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=FoxShelterDB;User Id=sa;Password=VotreMotDePasse;TrustServerCertificate=true;MultipleActiveResultSets=true"
}
}
2. Installation des Outils Entity Framework
# Installer les outils EF globalement
dotnet tool install --global dotnet-ef
# Vérifier l'installation
dotnet ef --version
3. Création de la Base de Données
Méthode 1 : Migrations Entity Framework
# Créer la migration initiale (si pas déjà fait)
dotnet ef migrations add InitialCreate
# Appliquer les migrations
dotnet ef database update
# Vérifier les migrations
dotnet ef migrations list
Méthode 2 : Script SQL Manuel
Si vous préférez créer la base manuellement :
-- Se connecter à SQL Server et exécuter :
CREATE DATABASE FoxShelterDB;
GO
USE FoxShelterDB;
GO
-- Les tables seront créées automatiquement au premier lancement
4. Vérification de la Base de Données
Via SQL Server Management Studio (Windows)
- Ouvrir SSMS
- Se connecter à
(localdb)\mssqllocaldb
ou.\SQLEXPRESS
- Vérifier que la base
FoxShelterDB
existe - Vérifier les tables créées
Via Ligne de Commande
# Lister les bases LocalDB
sqllocaldb info mssqllocaldb
# Tester la connexion
dotnet ef database update --verbose
🚀 Premier Lancement
1. Compilation du Projet
# Compiler le projet
dotnet build
# Vérifier qu'il n'y a pas d'erreurs
echo $? # Doit retourner 0 (Linux/macOS)
echo %ERRORLEVEL% # Doit retourner 0 (Windows)
2. Lancement en Mode Développement
3. Accès à l'Application
L'application sera accessible aux adresses : - HTTPS : https://localhost:5001 - HTTP : http://localhost:5000
4. Vérification du Lancement
Vous devriez voir dans la console :
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shutdown.
✅ Vérification de l'Installation
1. Tests de Base
Page d'Accueil
- Ouvrir https://localhost:5001
- Vérifier que la page d'accueil s'affiche
- Vérifier les statistiques (peuvent être à 0)
Navigation
- Cliquer sur "Renards" dans le menu
- Vérifier que la liste s'affiche (vide au début)
- Cliquer sur "Nouveau renard"
- Vérifier que le formulaire s'affiche
Base de Données
- Ajouter un renard de test
- Vérifier qu'il apparaît dans la liste
- Modifier ses informations
- Vérifier la persistance des données
2. Tests Fonctionnels
# Exécuter les tests unitaires (si disponibles)
dotnet test
# Vérifier les logs
# Les logs sont dans le dossier Logs/ (si configuré)
3. Vérification des Ressources
CSS et JavaScript
- Ouvrir les outils de développement (F12)
- Vérifier qu'il n'y a pas d'erreurs 404
- Vérifier que Bootstrap se charge correctement
API
- Accéder à https://localhost:5001/api/renards
- Vérifier la réponse JSON (peut être vide)
🔧 Dépannage
Problèmes Courants
1. Erreur "dotnet command not found"
Solution :
# Vérifier l'installation
which dotnet # macOS/Linux
where dotnet # Windows
# Réinstaller .NET SDK si nécessaire
2. Erreur de Connexion à la Base de Données
Symptômes :
Solutions :
# Vérifier LocalDB
sqllocaldb info
sqllocaldb start mssqllocaldb
# Ou modifier la chaîne de connexion
# Utiliser SQL Server Express au lieu de LocalDB
3. Erreur de Migration Entity Framework
Symptômes :
Solutions :
# Vérifier la chaîne de connexion
dotnet ef dbcontext info
# Recréer les migrations
dotnet ef migrations remove
dotnet ef migrations add InitialCreate
dotnet ef database update
4. Port Déjà Utilisé
Symptômes :
Solutions :
# Changer les ports dans launchSettings.json
# Ou arrêter le processus utilisant le port
netstat -ano | findstr :5001 # Windows
lsof -i :5001 # macOS/Linux
5. Erreurs de Packages NuGet
Solutions :
Logs et Diagnostics
Activer les Logs Détaillés
Modifier appsettings.Development.json
:
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft.AspNetCore": "Information",
"Microsoft.EntityFrameworkCore": "Information"
}
}
}
Vérifier les Logs
# Lancer avec logs verbeux
dotnet run --verbosity detailed
# Ou consulter les logs de l'application
# (si configurés dans Program.cs)
⚙️ Configuration Avancée
1. Configuration Multi-Environnements
Développement
// appsettings.Development.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=FoxShelterDB_Dev;Trusted_Connection=true"
},
"Logging": {
"LogLevel": {
"Default": "Debug"
}
}
}
Production
// appsettings.Production.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=prod-server;Database=FoxShelterDB;User Id=app_user;Password=secure_password"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
2. Configuration HTTPS
Certificat de Développement
Configuration Personnalisée
Modifier Program.cs
pour personnaliser HTTPS :
builder.WebHost.ConfigureKestrel(options =>
{
options.ListenLocalhost(5000);
options.ListenLocalhost(5001, listenOptions =>
{
listenOptions.UseHttps();
});
});
3. Configuration de la Base de Données Avancée
Pool de Connexions
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=FoxShelterDB;Trusted_Connection=true;MultipleActiveResultSets=true;Max Pool Size=100;Min Pool Size=5"
}
}
Timeout et Retry
// Dans Program.cs
builder.Services.AddDbContext<FoxShelterContext>(options =>
options.UseSqlServer(connectionString, sqlOptions =>
{
sqlOptions.CommandTimeout(30);
sqlOptions.EnableRetryOnFailure(3);
}));
4. Configuration des Emails (Optionnel)
{
"EmailSettings": {
"SmtpServer": "smtp.gmail.com",
"SmtpPort": 587,
"SmtpUsername": "votre-email@gmail.com",
"SmtpPassword": "votre-mot-de-passe-app",
"EnableSsl": true,
"FromEmail": "noreply@foxshelter.fr",
"FromName": "FoxShelter"
}
}
📚 Ressources Supplémentaires
Documentation Officielle
Outils Utiles
- SQL Server Management Studio : Gestion de base de données
- Postman : Test des APIs
- Visual Studio Code : Éditeur léger
- Git Extensions : Interface graphique Git
Communauté
📞 Support
Si vous rencontrez des problèmes non couverts par ce guide :
- Vérifiez les logs d'erreur
- Consultez la section dépannage
- Recherchez sur Stack Overflow
- Créez une issue sur GitHub
Guide d'installation FoxShelter - Version 1.0 Dernière mise à jour : Janvier 2024