Introduction aux Web Forms

Les Web Forms s’apparentent aux Windows Forms, mais adapté au Web. On retrouve la notion programmation événementielle basée sur le cycle d’exécution d’une côte serveur, avec des contrôles, eux aussi exécutés côté serveur de la même façon, avec un rendu (génération automatique et personnalisable) HTML qui évolue de façon à respecter tous les standards en vigueur (HTML5, CSS3, JavaScript, avec intégration prévue de tous les Frameworks du Web (Modernizr, jQuery, Bootstrap, Angular, etc.).Cette analogie avec les Windows Forms, maintenus mais stoppés pour avoir fait place à WPF, pourrait se poursuivre depuis que l’approche MVC a vu le jour en 2010 en .NET. Toutefois, le choix doit être plus nuancé puisque le rendu des 2 approches reste de l’HTML. Les Web Forms apportent une productivité sans équivalent, permettant d’éditer des données en quelques minutes, de manière quasiment automatique, tout en proposant des moyens de mieux contrôler les opérations si besoin, notamment avec la Model Binding venu avec le Framework 4.5, mais avec une approche code-behind. Un développeur expérimenté pourra tirer parti de ces facilités, en, architecturant ses applications comme il se doit pour concevoir des applications Web Forms évolutives et maintenables, mais rien n’est imposé, contrairement à l’approche MVC.
Développement d'applications Web
Filière
Web
 
Code cours
WEF
 
Niveau
Intermédiaire
 
Durée
5 Jours

Participants

Ce cours s'adresse aux développeurs qui souhaitent acquérir les techniques fondamentales pour développer des applications Web Forms professionnelles.

Prérequis

Bonne connaissance du langage HTML, des feuilles de styles CSS, de JavaScript, de Visual Studio et du langage C#. Expérience requise.

Profils : Developpeur Java, Developpeur .NET

Équivalence : Cours CS1

Objectifs

  • Rappels sur le fonctionnement d’un site Web (modèle client-serveur, protocole HTTP).
  • Se familiariser avec le cycle d’exécution d’une page ASPX (PostBack, ViewState) et avec les contrôles serveur courants (Label, TextBox, CheckBox, Listes et conteneurs.
  • Savoir valider les données reçues d’une page web avec les contrôles de validation (BaseValidator, RequiredFieldValidator, RangeValidator, CompareValidator, RegularExpressionValidator, CustomValidator et ValidationSummary.
  • Connaître les différents niveaux de gestion de l'état (persistance applicative) disponibles (ViewState, Cookies, Session et Application).
  • Savoir concevoir une interface Web à l’aide de pages maîtres intégrant des scripts, des feuilles de styles CSS et des contrôles utilisateurs.
  • Se familiariser avec les différents types de sources de données et de vues.
  • Mise en œuvre de la sécurité applicative.
  • Savoir configurer, déployer et gérer les traces de l’application.
  • Mise en œuvre des extensions AJAX.

Travaux pratiques

  • Les travaux pratiques sont organisés en 2 parties : la première pour mettre en œuvre tous les concepts fondamentaux (cycle d’exécution d’une page, ViewState, PostBack, contrôles de base, échange de données entre pages avec validation, gestion des données aux différents niveaux (ViewState, QueryString, CrossPagePostBack, Cookies, Session et Application).
  • La deuxième partie est consacrée à la création d’un site type avec des pages maîtres (intégration des CSS, JavaScripts, gestion des Thèmes avec templates de contrôles) et un exemple de UserControl.
  • Les contrôles de données mis en œuvre sont les contrôles SqlDataSource, XmlDataSource en lecture, GridView, FormView en lecture et DetailsView en édition Maître/Détails.
  • Gestion des événements de l’application (démarrage, gestion des exceptions et des sessions).
  • Affichage des données de Session avec un ObjectDataSource.
  • Intégration d’objets métiers.
  • Envoi par messagerie de données reçues et validées par formulaire.
  • Mise en œuvre des extension AJAX.
  • Mise en place d’un backoffice avec restriction d’accès aux utilisateurs authentifiés par formulaire par credential, avec mise en œuvre des contrôles Login, LoginStatus et LoginView. Le système de gestion des utilisateurs par Membership est également présenté.
  • Savoir déployer l’application (configuration, pré-compilation, mode Trace).