Skip to content

L'objectif est de développer un nouveau site web pour remplacer l'actuel site "https://marchedeviens.com/" en utilisant le framework .NET.

Notifications You must be signed in to change notification settings

Simplon-hdf/Projet-DotNet-P6-LJMA

Repository files navigation

Projet-DotNet-P6-MLJA

L'objectif est de développer un nouveau site web pour remplacer l'actuel site "https://marchedeviens.com/" et ajouter les fonctionalités liés à la réservation d'un randonnée (compte de réservation, réservation à date, catalogue de randonnée, sejours proposé avec un nombre minimal et maximale de participant).
Optionnellement ajout d'une section dédiés aux posts et vlogs de Dimitri actuellement posté sur linkedin.

Stack Technologique

Notre projet utilise une combinaison de technologies modernes pour le développement front-end et back-end. Voici un aperçu de notre stack :

Front-end

  • Angular 18 : Framework JavaScript pour la construction d'interfaces utilisateur
  • Angular Material : Bibliothèque de composants UI pour Angular
  • HTML5 : Langage de balisage pour la structure des pages web
  • CSS3 : Langage de style pour la mise en forme des pages web
  • TypeScript : Surensemble typé de JavaScript

Back-end

Outils et Environnement de Développement

  • WampServer : Environnement de développement Web pour Windows

Bibliothèques et Frameworks Supplémentaires

Sécurité

Gestion de Version

  • Git pour le contrôle de version

Environnements de Développement

Notre projet utilise plusieurs environnements de développement pour répondre à différents besoins :

Visual Studio Code (VS Code)

VS Code est notre éditeur de code principal pour le développement front-end et certaines tâches back-end légères.

  • Type : Éditeur de code source léger mais puissant
  • Utilisation principale : Développement Angular, TypeScript, HTML, CSS
  • Caractéristiques clés :
    • Hautement personnalisable avec une large gamme d'extensions
    • Intégration Git intégrée
    • Débogage intégré pour JavaScript et TypeScript
    • Terminal intégré

Visual Studio

Visual Studio est notre IDE complet pour le développement back-end .NET.

  • Type : Environnement de développement intégré (IDE) complet
  • Utilisation principale : Développement ASP.NET Core, C#
  • Caractéristiques clés :
    • Outils de développement .NET intégrés
    • Débogueur puissant
    • Outils de test intégrés
    • Support natif pour le développement ASP.NET Core

WampServer

WampServer est utilisé comme environnement de développement local pour notre stack web.

  • Type : Suite d'applications pour le développement web local
  • Utilisation principale : Hébergement local de la base de données MySQL et serveur web
  • Caractéristiques clés :
    • Intègre Apache, MySQL et PHP
    • Interface de gestion facile à utiliser
    • Permet de tester l'application en environnement local
    • Facilite la configuration et la gestion de la base de données MySQL

Ces outils complémentaires nous permettent de couvrir efficacement tous les aspects de notre stack de développement, du front-end au back-end, en passant par l'hébergement local et la gestion de base de données.

Nomenclature

Nommage des branches

commande git depuis la branche develop description
git checkout -b feat/front/nom_ticket Création d'une branche feature front
git checkout -b feat/back/nom_ticket Création d'une branche feature back

Convention de style de codage

Règles et conventions de nommage des identificateurs C#
Conventions de code C# courantes
Angular 18: syntaxe, les conventions et la structure d'application

[type](fileName): [commit message]
Type Description
build Changements qui affectent le système de build ou les dépendances externes (exemples : gulp, broccoli, npm)
ci Changements apportés aux fichiers et scripts de configuration CI (exemples
chore Changements qui ne modifient pas le code source ou les tests, par exemple des modifications du processus de build, des outils auxiliaires et des bibliothèques
docs Modifications de la documentation uniquement
feat Nouvelle fonctionnalité
fix Correction d'un bug
perf Changement de code qui améliore les performances
refactor Changement de code qui ne corrige pas un bug et n'ajoute pas de fonctionnalité
revert Annulation d'un changement précédent
style Changements qui n'affectent pas la signification du code (espaces, formatage, points-virgules manquants, etc.)
test Ajout de tests manquants ou correction de tests existants

Gestion de la Base de Données et ORM

Notre projet utilise Entity Framework Core comme ORM (Object-Relational Mapping) pour interagir avec la base de données MySQL. Voici un aperçu des outils et techniques utilisés :

  • Utilisation : ORM pour .NET, facilitant l'interaction avec la base de données
  • Version : Entity Framework Core 8.0 (compatible avec .NET 8)

DbContext

  • Rôle : Représente une session avec la base de données, permettant d'interroger et de sauvegarder des données
  • Utilisation : Configuration des entités, définition des relations, et personnalisation du comportement de l'ORM
  • Objectif : Gestion des changements de schéma de base de données de manière contrôlée et versionnée
  • Utilisation de la ligne de commande (CLI) :
    dotnet ef migrations add [NomMigration]
    dotnet ef database update
    
  • Utilisation de la Console du Gestionnaire de Packages (Package Manager Console) dans Visual Studio:
    Add-Migration [NomMigration]
    Update-Database
    
  • Utilisation : Génération automatique de modèles, contrôleurs et vues à partir de la base de données existante
  • Utilisation de la ligne de commande (CLI) :
    dotnet ef dbcontext scaffold [ConnectionString] Pomelo.EntityFrameworkCore.MySql -o Models
    
  • Utilisation de la Console du Gestionnaire de Packages (Package Manager Console) dans Visual Studio :
    Scaffold-DbContext [ConnectionString] Pomelo.EntityFrameworkCore.MySql -OutputDir Models
    

Packages NuGet Utilisés

  • Pomelo.EntityFrameworkCore.MySql : Provider MySQL pour Entity Framework Core
  • Microsoft.EntityFrameworkCore : Package principal d'Entity Framework Core
  • Microsoft.EntityFrameworkCore.Tools : Outils pour les migrations et le scaffolding dans la console Package Manager

Configuration

La configuration de la connexion à la base de données se fait dans le fichier appsettings.json :

{
"ConnectionStrings": {
  "DefaultConnection": "Server=localhost;Database=NomDeVotreDB;User=root;Password=votreMotDePasse;"
}
}

Cette configuration est ensuite utilisée dans la méthode ConfigureServices de Infrastructure/Configurations/DataBaseConfiguration.cs :

services.AddDbContext<VotreDbContext>(options =>
    options.UseMySql(Configuration.GetConnectionString("DefaultConnection"),
    new MySqlServerVersion(new Version(8, 0, 21))));

Cette approche nous permet de maintenir une base de données évolutive et de gérer efficacement les changements de schéma tout au long du développement du projet.

About

L'objectif est de développer un nouveau site web pour remplacer l'actuel site "https://marchedeviens.com/" en utilisant le framework .NET.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •