Détails de la structure d’un projet MVC 4

Ce post a pour but de présenter les différents répertoires qui représentent un projet MVC 4

Tout d’abord voici la structure complète d’un projet MVC 4

Image sans titre

Certains de ces répertoires : bin et obj ne sont pas visibles par défaut, il faut dans l’explorateur de solution, choisir de voir tous les fichiers

Cette structure se compose en 5 grandes parties

1- Les informations de l’application

Properties : Les propriétés de l’application

Ce répertoire possède un fichier AssemblyInfo.cs qui contient les détails de la dll qui sera générée.

Ces détails sont le nom , la version , le copyright, …

Sur la dll, on peut voir dans les détail

Toutes ces informations sont aussi modifiables , en faisant un click droit sur le projet –> Propriétés, et clique sur le bouton « Assembly information »

Le répertoire References

Il contient toutes les références du projet, cela peut être des librairies externe ou des services de références (web services)


Pour ajouter une référence il suffit de faire un clic droit sur ce répertoire et de choisir Ajouter une référence, puis choisir la référence, soit en parcourant le disque local, soit une référence de la même solution soit une référence inscrite dans le système

Et pour l’ajout d’un service de référence

2- Répertoire de génération des dll

Bin

Ce répertoire contient toutes les dll générées par l’application

3- Les répertoires ASP.Net (App_…)

Pour rajouter un répertoire Asp.Net dans le projet Add -> Add Asp.net Folder

App_Browsers


Ce répertoire contient des fichiers de configurations pour les comportements de l’application selon les navigateurs.
Ces fichiers sont aux formats XML, tous les détails sont sur le site MSDN

App_Code

Dans se répertoire on peut mettre des classes avec des objets et des méthodes
Son avantages c’est qu’il peut contenir aussi bien des classe en C# qu’en VB.net même si le projet est en C#
Plus d’info sur la MSDN

App_Data

Ce répertoire sert à intégrer une base de données de type XML , mdf, mdb au projet, comme par exemple la base de données des memberships.
Ce répertoire n’est pas compilé et n’est pas parcouru par IIS.

App_GlobalResources

Il sert à mettre des fichiers ressources (.resx) global à l’application.
Ces ressources sont typés fortement et peuvent être accéder par la programmation.

App_LocalResources

Ces fichiers de ressources ne sont locaux que pour une page.
Plus de détails sur les fichiers de resources ici

App_Themes


Il contient les thèmes (css) pour l’application.
Ces thèmes sont utilisés pour les projets ASP.net webform mais pas pour un projet MVC.
Pour un projet MVC voici un article qui explique différentes manières de faires des thèmes voir ici
Plus d’informations sur les répertoires Asp.net sur la MSDN

4- Les répertoires de l’application

App_Start


Il sert à factoriser le code du global.asax pour une meilleur visibilité du code.
Les méthodes crées par défaut lors de la création d’un projet MVC 4 sont principalement :

  • La configuration du routing
  • La configuration des bundles des css et js
  • La configuration de l’authentification

Area

Une application web peut être constituée de plusieurs parties fonctionnelles, ASP.Net MVC donne la possibilité de séparer ces parties dans des MVC.
Exemple d’Area : la partie d’administration d’une application (Backoffice) peut se placer dans une Area.

Pour créer une Area :

Une fois créé, tous les répertoires nécessaires à son exploitation sont créés

Plus d’info sur les Areas : MSDN

Content



Par convention il contient les css et images de l’application, il n’est pas obligatoire et ces éléments (css et images) peuvent être mis dans d’autre répertoires.

Controller


Ce répertoire contient les Controller de l’application

Filters


Il contient les classes des filtres qui seront mis dans les Controllers

Images

Il contient des images, ce répertoire est entièrement facultatif

Models

Ce répertoire contient les classes des Models utilisés par l’application MVC, et comme pour Content, son nom est juste une convention les Models peuvent être mis ailleurs

Scripts


Il contient les scripts javascripts (c’est aussi une convention)

Views

Ce répertoire contient les Vues du model MVC
Il se compose de 2 parties:

      • Des répertoires des vues comme par exemple Account et Home qui sont créés par défaut lorsque l’on crée une application par authentification Internet

      • Du répertoire Shared, celui contient comme son nom l’indique tous les éléments qui seront partagé les vues

        Comme les vues partiels , le fichier _layout (master page) et par exemple la page d’erreur

Le fichier favicon.ico

Fichier favicon qui s’affiche dans la barre de titre de l’explorateur

5- Les fichiers de configurations

Le fichier Global.asax

Ce fichier contient le code du routing , du démarrage et de l’arrêt de l’application

Le fichier Package.config

Il contient la config des packages nuget utilisés dans l’application

Le fichier Web.config

Ce fichier contient la configuration de l’application.
Plus d’info sur MSDN

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s