Section courante

A propos

Section administrative du site

Structure typique du code et du projet

Plus un projet grossit, plus est nécessaire d'avoir de l'ordre une structure solide dans un projet. La raison est fort, simple vous risquez d'introduire des illogismes et ou des incohérences dans votre projet lorsqu'il devra plus gros. Il est vrai que si le but d'un projet est simple d'afficher un «Hello World», il n'est pas nécessaire d'avoir de tel structure, mais les logiciels répondant à des demandes de toute sorte, mettre très vite à l'épreuve une structure mal pensés.

Structure de répertoire

La structure de répertoire typique d'un projet ASP.NET Core bien organisé, incluant des éléments comme la documentation, des API, des pipelines Azure, des scripts, des bibliothèques, des exemples, des tests, des outils, et des ressources, pourrait ressembler à ceci :

Dossier Description
/MonProjetAspNetCore Ce répertoire contient le projet
    /.build Ce répertoire contient des scripts de build et configurations spécifiques
        azure-pipelines.yml Ce fichier contient la configuration pour Azure Pipelines
        docker-compose.yml Ce fichier contient la configuration Docker
        build.ps1 Ce fichier contient le script PowerShell pour automatiser la compilation
    /.config Ce répertoire contient la configuration locale nécessaire pour installer le projet sur les machines de développement.
    /artifacts Ce répertoire contient les artifacts générés (builds, paquets, journal de bord,...)
    /azure Ce répertoire contient les scripts et la configurations Azure
        /infrastructure Ce répertoire contient les scripts pour déployer l'infrastructure Azure
        /templates Ce répertoire contient les gabarits ARM/Bicep pour l'infrastructure
    /bd Ce répertoire contient les scripts de construction de la base de données
    /docs Ce répertoire contient la documentation du projet
        /architecture Ce répertoire contient le diagrammes d'architecture
        /api Ce répertoire contient la documentation API (par exemple Swagger)
        /guides Ce répertoire contient les guides d'utilisation
    /lib Ce répertoire contient les bibliothèques externes (si non gérées par NuGet)
        external-library.dll Ce fichier contient une bibliothèque externe
    /src Ce répertoire contient le code source de l'application
        /MyApp.Api Ce répertoire contient le projet ASP.NET Core (API)
            /Controllers Ce répertoire contient les contrôleurs API
            /Models Ce répertoire contient les modèles utilisés par l'API
            /Services Ce répertoire contient les services métier
            appsettings.json Ce fichier contient la configuration de l'application
            Program.cs Ce fichier contient le point d'entrée de l'application
            Startup.cs Ce fichier contient la configuration ASP.NET Core
            MonApp.Api.csproj Ce fichier contient le projet C#
        /MonApp.Library Ce répertoire contient la bibliothèque de classes (réutilisable)
            MonApp.Library.csproj Ce fichier contient le projet de la bibliothèque
        /Site Ce répertoire contient le projet principal ASP.NET Core
            /Controllers Ce répertoire contient le contrôleurs du site
            /Models Ce répertoire contient les modèles utilisés par le site
            /View Ce répertoire contient les vues utilisés par le site
    /resources Ce répertoire contient les ressources statiques (images, fichiers,...)
        /css Ce répertoire contient les feuilles de styles CSS
            site.css Ce fichier contient les CSS principale du site
        /js Ce dossier contient les JavaScript
            site.js Ce fichier contient le code JavaScript principale du site
        /locales Ce répertoire contient les fichiers de localisation
        /images Ce répertoire contient les images du projet
        /config Ce répertoire contient les fichiers de configuration supplémentaires
    /samples Ce répertoire contient des exemples de code ou d'utilisation de l'application, des Kick-Off, des preuves de concepts,...
        /SampleApp Ce répertoire contient des exemples avec un petit projet d'application
            SampleApp.csproj Ce fichier contient les spécifications du projet SampleApp.
    /scripts Ce répertoire contient les scripts utilitaires (déploiement, build,...)
        deploy.ps1 Ce répertoire contient le script de déploiement
    /tests Ce répertoire contient les tests d'applications
        /MyApp.Tests.Unit Ce répertoire contient les tests unitaires
        /MyApp.Tests.Integration Ce répertoire contient les tests d'intégration
        /MyApp.Tests.Functional Ce répertoire contient les tests fonctionnels
    /tools Ce répertoire contient les scripts et les outils pour le développement et la maintenance
        /migration-scripts Ce répertoire contient les scripts de migration de base de données
    global.json Ce fichier contient les spécifications de la version .NET SDK utilisée
    README.md Ce fichier contient la documentation générale du projet
    .gitignore Ce fichier contient les informations pour ignorer certains fichiers dans Git


Dernière mise à jour : Vendredi, le 6 septembre 2024