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.