Ce cours vous apprendra à utiliser les techniques de création d’applications Internet/Intranet ASP.NET Web Forms dans l’environnement .NET 4.7 avec Visual Studio 2015/2013 Vous apprendrez également à lier vos applications avec différents types de bases de données. Enfin, ce cours vous présentera un ensemble de bonnes pratiques en se focalisant sur l’acquisition de l’architecture du framework ASP.Net Web Forms.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Comprendre le fonctionnement des pages ASP.NET
  • Acquérir les compétences de développement Web avec ASP.NET
  • Maîtriser la syntaxe du développement Web avec le langage C# (ou VBNet)
  • Utiliser l’environnement de développement intégré Visual Studio
  • Savoir définir une gestion de sécurité de base des applications Web

Travaux pratiques

Les participants apprendront à maîtriser l’infrastructure ASP.NET. Ils utiliseront l’environnement .NET/Visual Studio pour mettre en œuvre les techniques nécessaires aux applications Web professionnelles. Les exercices sont effectués en C# ou VB.Net suivant le choix des participants.
PROGRAMME DE FORMATION

Introduction et rappels

  • Rappels des concepts liés à l’Internet/Intranet et technologies .NET.
  • L’architecture d’une application Internet/Intranet, rappel des méthodes HTTP.
  • Les Technologies .NET. Application Web en .NET.
  • Les outils intégrés à Visual Studio.

Travaux pratiques
Utilisation de Visual Studio pour la création d’un site, création d’un formulaire d’entrée de données.

Fonctionnement des pages ASP.NET

  • Principe des pages ASP.NET, cycle de vie.
  • Utilisation des contrôles serveur WebForms. Intégration dans les pages ASPX avec Visual Studio.
  • Persistance de l’état des contrôles serveur avec le ViewState.
  • Gestion de la persistance des données applicatives : Session, Cache, Application, Cookies.
  • Membres caractéristiques des classes Page, HttpRequest, HttpResponse et HttpServerUtility.
  • Utilisation et limitations du QueryString.
  • Mise en œuvre du CrossPagePostBack.
  • Gestion des événements dans les pages ASP.NET et cycle de vie : Load, UnLoad, PreRender…
  • Gestion des événements de l’application : fichier global.asax, événements importants, utilisation.
  • Structuration d’une application Web avec VS (séparation données/code/présentation, dossiers spéciaux, ressources, etc.)

Travaux pratiques
Ecriture des premières pages ASP.NET basées sur des contrôles serveur standard (listes, boutons, etc.) et gérant des événements. Mise en œuvre des mécanismes nécessaires aux applications professionnelles (session, cookie, etc.).

Contrôles serveur

  • Utilité des contrôles serveur pour la création de pages actives côté client et serveur.
  • Intégration des contrôles serveur HTML (HtmlInputText, HtmlTable…) avec les scripts clients JavaScript/jQuery.
  • Contrôles conteneur : Panel, MultiView, Wizard…
  • Contrôles riches : Calendar, AdRotator, FileUpload…
  • Contrôles de validation, groupes de validation et unobstrusive validation d’ASP.NET.

Travaux pratiques
Utilisation des contrôles serveur afin de rendre une page dynamique, du côté client et du côté serveur. Mise en œuvre des contrôles de validation côté client et côté serveur avec les contrôles Wizard. Exemple du contrôle FileUpload… Mise en œuvre de l’Ajax avec UpdatePanel.

Conception de la structure d’un site Web

  • Contrôles utilisateur pour la structuration des pages.
  • Mise en forme d’un site à l’aide des MasterPages.
  • Rôles des dossiers spéciaux (App_Code, App_Data, App_Themes, etc.).
  • Utilisation des feuilles de style CSS et des thèmes.
  • Le gestionnaire de packages NuGet.
  • Mise en place d’un système de navigation avec SiteMap et SiteMapPath, TreeView et Menu.

Travaux pratiques
Exemple de réalisation d’une application de e-commerce, réalisation d’un contrôle utilisateur et utilisation de pages maîtres.

Accès aux données

  • Tour des différents moyens d’accès aux données avec ASP.Net WebForms : Entity Framework, ADO.NET et TableAdapters.
  • Mécanismes d’accès à une BD : connexion, instruction SQL, procédure stockée, lecture.
  • Mécanisme de DataBinding.
  • Utilisation des contrôles liés à une source de données : XmlDataSource, GridView (tri et pagination).
  • Afficher une vue Maître/Détail entre un contrôle GridView/ListView et les contrôles DetailsView, FormView.
  • Principes des modèles (Templates).
  • Model binding d’ASP.NET.

Travaux pratiques
Utilisation des contrôles DataSource (SqlDataSource, EntityDataSource, …), des GridView, ListView et DetailsView pour présenter les données.

Gestion de la sécurité

  • Les types d’attaques (SQL injection, spoofing, répudiation…).
  • Les moyens de prévenir des attaques.
  • Contrôle applicatif des accès et des droits.
  • Gestion de la sécurité par le système.
  • Gestion de la sécurité par l’application.

Travaux pratiques
Mise en place de restrictions d’accès sur un site.

Configuration et déploiement

  • Gestion des exceptions.
  • Rôle et format du fichier Web.config.
  • Sauvegarde des paramètres de l’application.
  • Configuration de la gestion des sessions.
  • Le mode Release.
  • La publication de l’application.

Travaux pratiques
Publication d’une application.

Utilisation des services Web

  • Les principes des services Web.
  • Architecture, communication XML/SOAP/JSON, méta-données WSDL.
  • Appel d’un service Web à partir d’une requête HTTP et d’un proxy.

Travaux pratiques
Démonstration d’un Web Service simple (recherche dans une base de données) et interrogation via ASP.NET et un proxy.