• 30 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Mis à jour le 23/11/2017

Introduction à ASP.NET MVC

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Alors, ASP.NET MVC c’est quoi ? Ça va vraiment me permettre de créer des sites web ? En quoi c’est différent du HTML ? Pourquoi utiliser ASP.NET MVC plutôt qu’autre chose ? De quoi ai-je besoin pour commencer à apprendre ASP.NET MVC ? Et comment fonctionne un site web ?

Voilà tout ce que nous allons apprendre dans ce chapitre. Il va vous permettre de vous faire une bonne idée des étapes nécessaires pour réaliser un site web, et des solutions qu' ASP.NET MVC propose pour les franchir. Entrons dans le vif du sujet et découvrons ce qu’est ASP.NET…

Qu'est-ce qu'ASP.NET ?

Commençons par le commencement : comment ça se prononce ?
ASP.NET peut être prononcé à l'anglaise ("é est-ce pi dot nette"), à la franco-anglaise ("ah est-ce pé dot nette") ou encore à la française ("ah est-ce pé point nette"). À vous de choisir votre prononciation, celle-ci n'ayant aucune incidence sur votre apprentissage. :)

Et qu’est-ce que c’est donc ?
ASP.NET est la plateforme de développement de Microsoft permettant la réalisation d'applications web.

Même si nous allons réaliser des sites Internet, .NET ce n’est pas l’abréviation d’Internet, mais correspond, vous vous en doutez, au .NET du framework .NET.

Ce qu’on appelle « plateforme » ici est un ensemble de composants permettant de construire une application web. Quand nous construisons une maison, nous avons besoin d’un terrain, d’un chef de chantier, de matériaux de construction, d’un plan de construction, d’outils, et de savoir-faire (et sûrement d’autres choses). Et bien pour réaliser une application web, c’est un peu le même principe, nous avons besoin (entre autres) :

  • D’un outil de développement.

  • D’une boîte à fonctionnalités pour développer.

  • D’une logique de développement.

  • D’un langage de programmation.

L’outil de développement est Visual Studio (et comporte une version gratuite du nom de « Visual Studio Express pour le web »). Il est le logiciel qui va nous permettre de réaliser le site web et qui va nous fournir les outils pour orchestrer nos développements. C’est un peu le chef de chantier d’ASP.NET.
La boîte à fonctionnalités c’est le « framework .NET », qui comporte différents types de fonctionnalités :

  • des fonctionnalités dites générales qui vont servir à toutes les applications utilisant le framework .NET, que ce soient des applications web ou des applications Windows, de téléphonie, des jeux, etc.

  • des fonctionnalités spécifiques à la création de sites web : il s’agit d’ASP.NET. Dans notre chantier, le framework .NET représenterait les matériaux que l’on retrouve dans tout chantier, des briques, du ciment, etc. tandis qu’ASP.NET représenterait un matériau spécifique à un type de construction, par exemple le liner pour construire une piscine. 

La logique de développement correspondrait un peu au plan de construction. Elle fournit un schéma directeur permettant la réalisation d’un site web. ASP.NET nous propose deux logiques pour construire une application web : WebForms et MVC. Dans ce cours, nous nous intéresserons à la logique de développement MVC.
Enfin, le langage de programmation dans ce cours sera le C#, dont on reparlera un peu plus tard dans ce chapitre.

MVC et WebForms

On peut dire grosso modo qu’ASP.NET se décompose en deux grandes parties (les fameuses logiques!), à savoir :

  • ASP.NET WebForms

  • ASP.NET MVC

ASP.NET c’est le socle de la plateforme de développement de Microsoft pour réaliser des applications web. WebForms et MVC sont deux logiques différentes de développement s’inscrivant au-dessus du socle d’ASP.NET.

Nous allons étudier dans ce cours ASP.NET MVC et non pas ASP.NET WebForms et je vais vous expliquer pourquoi, mais avant tout qu’est-ce qu’ASP.NET WebForms ?

ASP.NET WebForms a été créé en 2002 et en est aujourd'hui à sa version 5. C'est une plateforme mature qui a fait ses preuves et qui est largement utilisée dans le monde professionnel. À l’origine, ASP.NET WebForms a été créé par Microsoft afin que les développeurs d'applications Windows puissent facilement créer des applications web à partir de leurs connaissances de l'environnement de développement Windows. Ainsi, ASP.NET WebForms dispose de toute une mécanique qui permet d'abstraire le plus possible le modèle web (que nous allons décrire en détail plus loin) afin que les développeurs aient l'impression de se retrouver dans les conditions de développement d'une application Windows. Ceci implique une certaine logique de développement. Les applications ASP.NET WebForms se rapprochent d'un modèle événementiel, c'est-à-dire que chaque composant d'une page est capable de réagir à une action de l'utilisateur. Le modèle ASP.NET WebForms permet également de conserver l'état d'une page, chose que le protocole HTTP ne permet pas.

ASP.NET WebForms est un logique de développement très puissante pour réaliser des applications web. Elle ajoute une couche d’abstraction qui étonne chaque jour ses utilisateurs. Cette couche d'abstraction permet de masquer la complexité du travail à réaliser ainsi que toutes les spécificités de la programmation d'applications web que nous découvrirons plus loin. ASP.NET WebForms fournit également beaucoup de contrôles serveurs permettant de générer du HTML. Par exemple en quelques lignes de codes nous pouvons générer une grille complète affichant des données, gérant les pages multiples, les tris, etc. Mais tout ceci a un coût : cycle de vie de la page complexe, moins de maîtrise du HTML généré, beaucoup d’efforts pour contourner certaines limitations, etc.

ASP.NET MVC est plus récent et a fait son apparition en 2009. Cette façon de penser la réalisation des applications web s’appuie sur un patron de conception très célèbre, MVC (de l’Anglais « model-view-controller »), qui existe depuis 1979, l’année de ma naissance… coïncidence ? :D

ASP.NET MVC est également une brique qui se rajoute au-dessus d’ASP.NET et qui exploite toute sa plomberie. Ici le principe n’est pas d’offrir une couche d’abstraction permettant de simplifier le travail, mais plutôt un cadre de réalisation des applications web, grâce à ce patron de conception réputé ; une espèce de ligne directrice qui va nous guider dans la réalisation d'une application web. Mais ASP.NET MVC donne également plus de liberté dans le rendu du HTML en permettant notamment d’utiliser des bibliothèques Javascript externes afin d’améliorer l’expérience utilisateur et de créer des applications web 2.0 puissantes, grâce à l’AJAX (que nous étudirons plus en détail en fin de cours).

Pourquoi utiliser ASP.NET MVC ?

Alors, que faut-il étudier ? ASP.NET WebForms ou ASP.NET MVC ?

C’est une question importante qu’il faut se poser ! Il n’y a pas une bonne et une mauvaise façon de concevoir des sites web avec ASP.NET, les deux solutions sont bonnes et dépendent de vos besoins. Le mieux étant bien sûr d’apprendre les deux, mais c’est une autre histoire. ;)

Vous avez besoin de créer votre propre contrôle, pour le réutiliser à plusieurs endroits, ou pour le vendre ? Vous ne connaissez rien au web mais vous savez programmer des applications Windows ?
Alors ASP.NET WebForms est pour vous ! Son modèle événementiel et son abstraction du protocole HTTP vous raviront et vous permettront d’être rapidement efficaces. ASP.NET WebForms a l’avantage de posséder de nombreux contrôles avancés : une grille complexe, un treeview ou plein d’autres choses qui ne nécessitent que très peu de code pour fonctionner et qui sont réutilisables à souhait.

Si vous êtes un pro du développement web et que vous avez déjà fait plein de PHP (ou autre langage du même genre), je vous dirai de foncer sur ASP.NET MVC et de continuer à lire ce cours. Car ASP.NET MVC va se rapprocher beaucoup de ce que vous avez déjà pu faire. Vous aurez quelques particularités spécifiques à apprendre, mais la logique sera globalement la même. Vous aurez une totale maîtrise du modèle HTTP ainsi que du code HTML généré. La maîtrise du HTML généré est également un élément déterminant si vous comptez faire un site qui fonctionne sur des PC mais également sur des tablettes ou des smartphones. Le « responsive design », pratique très à la mode qui consiste à adapter un site web au dispositif de support (smartphone, tablette, ordinateur etc.), implique d’avoir un bon contrôle sur le HTML généré, ce qui est plus compliqué à faire avec ASP.NET WebForms. Par contre, avec ASP.NET MVC il vous faudra écrire vous même tout le HTML nécessaire pour cela.

ASP.NET WebForms bénéficie de toute la maturité d’une plateforme solide, massivement utilisée par les professionnels. ASP.NET MVC, plus récent, est moins mature même s’il en est déjà à sa version 5 et que Microsoft a beaucoup investi sur le sujet. La communauté est plus jeune mais également plus dynamique. Les ressources sont peut-être un peu moins nombreuses, mais ça ce n’est pas grave car vous avez en main la clé pour apprendre ASP.NET MVC. :)

En tous cas, c’est ce que j’ai choisi de vous apprendre ici : ASP.NET MVC. J’ai personnellement travaillé avec les deux et ils sont tous les deux intéressants. Maintenant, c’est à vous de choisir celui que vous voulez apprendre, mais vous avez des éléments pour décider, et sauf si vous avez opté pour l’apprentissage d’ASP.NET WebForms, je vous propose de continuer ensemble et à découvrir cette formidable plateforme.

One ASP.NET

Je vous ai parlé d'un socle de développement (ASP.NET), et de ses deux logiques différentes pour réaliser un site web (WebForms et MVC).  Et bien sachez que nous pouvons mélanger ces deux logiques aussi pour réaliser l'application de nos rêves. Il est tout à fait possible de construire un site web en faisant à la fois du WebForms, à la fois du MVC et à la fois d'autres choses dont je n'ai pas encore parlé (comme Web API que j'aborderai tout à la fin du cours, ou SignalR dont je ne parlerai pas et qui n'a rien à voir avec du dentifrice...).

C'est ce qu'on appelle One ASP.NET. C'est la possibilité d'activer ces briques indépendamment ou ensemble dans nos différents projets. Il s'agit d'une fonctionnalité intéressante qui ne nous lie pas à un socle technique dès la construction du projet.

Nous allons ici nous concentrer sur l'apprentissage de MVC, donc je ne reviendrai pas sur One ASP.NET.

Prérequis

Il n’y a que deux prérequis pour suivre ce cours :

  • Le premier, c’est de posséder un ordinateur.

Le plus simple, c’est qu’il soit équipé du système d’exploitation Windows car je vais présenter l’installation des outils gratuits dont nous allons nous servir avec ce système d’exploitation. Ce n’est par contre pas indispensable car il existe une solution permettant de développer avec ASP.NET MVC sous linux par exemple, grâce à Mono http://www.mono-project.com/ASP.NET. Son installation et son utilisation ne sont pas décrites dans ce cours mais vous devriez être capable facilement d’utiliser ce cours avec Mono.

  • Le second c’est de parler le C#.

Le C# est le langage de développement phare de Microsoft et permet la création d’applications informatiques de toutes sortes. Il est indispensable de connaître un peu le langage de programmation C# afin de pouvoir développer des applications ASP.NET. Comme je vous disais en introduction, son étude n’est pas traitée dans ce cours mais vous pouvez retrouver un cours complet sur C# sur OpenClassrooms à cette adresse http://fr.openclassrooms.com/informatique/cours/apprenez-a-developper-en-c.

Pour résumer ce qu’est le C#, on peut dire qu’il s’agit d’un langage orienté objet apparu en même temps que le framework .NET qui n’a cessé d’évoluer depuis 2001. Il permet d’utiliser les briques du framework .NET pour réaliser des applications de toutes sortes et notamment des applications pour ASP.NET, mais aussi pour Windows, Windows Phone, des jeux, etc. C’est le ciment et les outils qui permettent d’assembler les briques de nos applications.

Sinon, tout le reste sera abordé dans ce cours. Ce qu’est un site web, ou comment fonctionne le modèle HTTP.

En résumé

  • ASP.NET est la plateforme de développement d’applications web de Microsoft

  • ASP.NET offre deux logiques de développement : WebForms et MVC. Dans ce cours, nous étudierons la logique MVC version 5 grâce au langage C#.

  • ASP.NET WebForms offre une couche d'abstraction permettant de réaliser des applications web comme si nous réalisions des applications Windows

  • ASP.NET MVC propose un cadre de développement et plus de maîtrise sur le HTML final des pages

Exemple de certificat de réussite
Exemple de certificat de réussite