Licence CC BY

Créez votre site web avec ASP.NET

La programmation web en C# accessible à tous !

Les auteurs de ce contenu recherchent un correcteur. N’hésitez pas à les contacter par MP pour proposer votre aide !

Vous savez faire des sites web statiques, tel que votre page perso ? Et vous souhaitez aller plus loin pour créer votre blog ou votre forum ?

Ou bien peut être avez-vous l’idée de LA plateforme d’échange qui va révolutionner le web ?

Alors ce tutoriel est fait pour vous !

De nos jours, un site doit agir comme une véritable application :

  • offrir un contenu dynamique, tel que la possibilité de commenter un article, de discuter sur un forum, etc.
  • permettre d’interagir rapidement et avec fluidité avec l’utilisateur.

ASP.NET est une puissante technologie regroupant des fonctionnalités multiples qui va nous permettre de créer des applications web de manière simple et structurée.

Ce tutoriel est adressé aux débutants, vous n’avez besoin d’aucune notion à propos d’ASP.NET. Il est vivement conseillé de suivre chaque chapitre en entier et dans l’ordre.

Cependant avant d’utiliser ASP.NET, il faut impérativement connaître les langages HTML et CSS, et maîtriser les notions de base du langage C#.

Pour un avant goût de ce que vous permet ASP.NET, voici quelques grands sites qui utilises cette technologie :

Il est aussi possible de développer des applications pour le web en VB.NET. Nous ne traiterons que le C# dans ce tutoriel.

Vue d'ensemble

  1. ASP.NET : le framework web de Microsoft

    1. Qu'est-ce qu'un framework ?

    2. Le framework web ASP.NET

    3. Fonctionnement d'un site web

  2. Installation des outils

    1. L'environnement de développement

    2. Installation de Visual Studio

    3. Créez votre premier projet

    4. Analyse de l'environnement de développement

    5. Exécutez l'application web

  3. Les différents types d'applications

    1. Choisir son template

    2. Projet basé sur l'architecture MVC

    3. Les WebForms

    4. Les api REST

    5. Les applications sur une seule page

    6. Quelle technologie utiliser ?

Les bases de ASP.NET

  1. Ma première page avec ASP.NET

    1. Objectif : dire bonjour !

    2. Créer le projet MVC vide

    3. Décrire les informations : création du modèle

    4. Traiter les informations : création du contrôleur

    5. Afficher les informations : création de la vue

    6. Testons l'application

  2. Le déroulement d'une requête : introduction aux filtres et aux routes

    1. Le déroulement d'une requête

    2. Les routes par défaut

    3. Les filtres

  3. Montrer des informations à l'utilisateur

    1. Un contrôleur de base

    2. Introduction à Razor

    3. Le layout de base

    4. Les sessions et les cookies

  4. Intéragir avec les utilisateurs

    1. Préparation aux cas d'étude

    2. Cas d'étude numéro 1 : afficher les articles

    3. Cas d'étude numéro 2 : publier un article

    4. Cas d'étude numéro 3 : envoyer une image pour illustrer l'article

    5. Cas d'étude numéro 4 : la pagination

    6. Se protéger contre les failles de sécurité

Gérer la base de données avec Entity Framework Code First

  1. Entity Framework : un ORM qui vous veut du bien

    1. ORM ? Qu'est-ce que c'est ?

    2. Les différentes approches pour créer une base de données

    3. Présentation d'Entity Framework

  2. La couche de sauvegarde : les entités

    1. L'entité, une classe comme les autres

    2. Customiser des entités

    3. Préparer le contexte de données

  3. Manipuler ses entités avec EF

    1. Obtenir, filtrer, ordonner vos entités

    2. Ajouter une entité à la bdd

    3. Modifier et supprimer une entité dans la base de données

    4. Le patron de conception Repository

  4. Les relations entre entités

    1. Préparation aux cas d'étude

    2. Cas d'étude numéro 1 : les commentaires

    3. Cas d'étude numéro 2 : les tags

  5. Les Migrations codefirst

    1. Définition

    2. Créer un jeu de données pour tester l'application

    3. Améliorer notre modèle avec la FluentAPI

Allons plus loin avec ASP.NET

  1. Sécurité et gestion des utilisateurs

    1. Authentifier un utilisateur, le login et le mot de passe

  2. Validez vos données

    1. Ajouter des contraintes aux entités

    2. Un peu plus loin : les MetaType

  3. Aller plus loin avec les routes et les filtres

    1. Les routes personnalisées

    2. Les filtres personnalisés

    3. Les filtres en pratique : mini TP calculer le temps de chargement

  4. Les API REST

    1. Un peu d'organisation : les zones

    2. Les bases d'une bonne API REST

    3. Le bonus : la documentation



Ce tutoriel est en cours de rédaction. La route est encore longue pour devenir un maître du web. Nous espérons que vous apprenez au moins autant de choses que vous ne l’espériez, alors faites-nous de jolies applications !

18 commentaires

Tutoriel bien sympathique !

Je n’ai pas terminé la lecture mais j’ai déjà une remarque dans la partie Entity Framework :

Votre proposition d’implémentation du pattern repository pour entity framework me semble assez peu pertinente. En effet, dans une application réelle, la couche repository ne devrait pas être responsable de l’appel à la méthode SaveChanges(). C’est la responsabilité de la couche métier de savoir quand la transaction doit être validée, pas celle de la couche d’accès aux données ! En opérant ainsi vous effectuez une transaction pour chaque opération d’écriture dans la base, ce qui anéantit l’intérêt principal d’un framework comme EF (autant utiliser Dapper ou PetaPOCO si c’est pour utiliser un ORM bas niveau).

Voici un article intéressant sur le sujet et un moyen d’y remédier. Le pattern qui y est décrit est discutable - personnellement je ne trouve rien de "désastreux" au fait d’appeler SaveChanges à la fin du scope "per request" de mon conteneur DI par exemple - mais il a le mérite d’expliquer clairement les différentes problématiques liées à l’utilisation de DbContext et des transactions.

Néanmoins la lecture de votre tutoriel m’a permis jusque là de revoir quelques bases, ce qui est une bonne chose ! Bonne continuation.

+1 -0

Bonjour,

Ce tutoriel est très bien présenté, mais il manque quelques éléments pour le rendre totalement exploitable par des novices.

Il n’y a pas de lien pour télécharger la solution finale. Je suis un novice sans aucunes bases, et contrairement à d’autres qui sont qualifiés pour critiquer et apporter de la clarté sur certains points, personnellement il me reste des zones d’ombres (sûrement dû à des incompréhensions de ma part de certaines parties !!) Et avoir, le corrigé du cours serait vraiment un plus !

les chapitres "1°) vues d’ensemble" et "2°) Les bases de ASP.NET" sont faciles à suivre après c’est plutôt hard. Difficile de séparer ce qui est de la narration, de l’exemple ou illustration d’un propos et de l’action réelle à faire dans le projet !?

Merci à tous pour le travail !

Ah, pas bête. Si j’ai le temps un de ces jours, j’essaierai de replonger dans le tuto et de donner la solution finale en .zip.

les chapitres "1°) vues d’ensemble" et "2°) Les bases de ASP.NET" sont faciles à suivre après c’est plutôt hard. Difficile de séparer ce qui est de la narration, de l’exemple ou illustration d’un propos et de l’action réelle à faire dans le projet !?

hum, pour qu’on améliore le tout, tu as au moins un exemple s’il te plait?

En tout cas, merci d’avoir lu le tutoriel :)

Bonjour et merci pour ce merveilleux tuto. Je prends la peine de commenter car je suis bloqué au mini-TP de la partie II.3 : Montrer des informations à l’utilisateur.

En effet, après avoir modifié les fichiers hosts et applicationhost.config, j’obtiens l’erreur suivante au moment de lancer IIS : "Unable to launch the IIS Express Web server. The start URL specified is not valid. http//livesite.dev:2693"

J’ai essayé beaucoup de choses, modifier le numéro de port pour qu’il soit le même que celui par défaut de localhost, créer un "Virtual Directory" (même si j’avoue que je ne comprends pas bien ce que c’est), ajouter l’attribut "applicationPool="Clr4IntegratedAppPool"" qui n’était pas présent dans mon fichier applicationhost.config … bref, j’ai essayé de faire en sorte que mon projet match le plus possible avec le tuto et j’obtiens toujours la même erreur …

Si quelqu’un avait une piste ce serait vraiment sympa :) Merci encore pour ce tuto <3

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte