SlideShare a Scribd company logo
1 of 37
Développement web avec
Visual Studio 2012 et ASP.NET




Module 8 – Programmation Avancée de ASP.NET

                                              Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Objectifs du module                                                                                        2



  Permettre aux développeurs d’acquérir des aspects avancés sur ASP.NET
   tels que la gestion de l’état, les module ou la configuration des applications
   ASP.NET




Module 8 – Programmation Avancée de ASP.NET                        Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Plan du module                                                                            3



  Configuration
  Modules et Handlers
  Gestion de l’état




Module 8 – Programmation Avancée de ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




                 4
                                                  Module 8 - Programmation Avancée de ASP.NET




                                            Section 1 : Configuration des
                                                   Applications ASP.NET


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Introduction                                                                                                       5




          ASP.NET est basé sur un système hiérarchique de configuration




                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
          Le fichier de configuration est appelé « web.config » et est sous format
           XML
          Le fichier Web.config hérite des paramètres de « Machine.config » qui
           existe dans le sous-répertoire « CONFIG » du répertoire d’installation du
           .NET Framework
          Les paramètres dédiées à la gestion de l’application web se trouvent dans
           la section « system.web »


Section 1 : Configuration des Applications ASP.NET                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Structure du Web.Config                                                                              6

<configuration>
  <configSections>
  </configSections>




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
  <connectionStrings>
  </connectionStrings>
  <appSettings></appSettings>
  <system.web>
  </system.web>
  <system.webServer>
  </system.webServer>
</configuration>



Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Principales sections (Hors System.Web)                                                                                                  7


  Sections                                               Description
  appSettings                                            Paramètres de l’application.
    Exemple




              <appSettings>




                                                                                                                                          Module 8 – Programmation Avancée de ASP.NET
                  <add key="monParametre" value="25"/>
                </appSettings>

  configSections                                         Sections personnalisées de configuration
              <configSections>
    Exemple




              <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
              EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
              requirePermission="false" /></configSections>


  connectionStrings                                      Chaînes de connexion aux bases de données
              <connectionStrings>
    Exemple




                  <add name="adv"
              connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.D
              ata.SqlClient;provider connection string=&quot;data source=.;initial catalog=AdventureWorks;integrated
              security=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
Section 1 : Configuration des Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections System.Web                                                                                                                           8


  Sections                                           Description
  Compilation                                        Détermine les paramètres de compilation tels que l’activation du
                                                     débogage, le langage cible ou les assemblies référencées dans les




                                                                                                                                                Module 8 – Programmation Avancée de ASP.NET
                                                     pages web
              <compilation debug="true" strict="true" explicit="true" defaultLanguage="c#" targetFramework="4.5"
    Exemple




              assemblyPostProcessorType=""> <assemblies>
                        <add assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                  </assemblies> 7
              </compilation>
  pages                                              Définit des paramètres communes à toutes les pages de
                                                     l’application web tels que le thème, la page maître,…etc. Pour
                                                     redéfinir ces paramètres, utiliser la directive « Page ».
              <pages buffer ="true" styleSheetTheme="" theme ="MonTheme"
    Exemple




              masterPageFile ="pageMaitre.master"
              enableEventValidation="true" />




Section 1 : Configuration des Applications ASP.NET                                                  Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections System.Web - Suite                                                                                                                       9


  Sections                                           Description
  customErrors                                       Paramètres indiquant la redirection vers les pages en cas d’erreurs
                                                     (par exemple 401 ou 404).




                                                                                                                                                    Module 8 – Programmation Avancée de ASP.NET
              <customErrors defaultRedirect ="Error.aspx" mode ="Off"> <error statusCode ="401" redirect ="Unauthorized.aspx"/>
    Exemple




              </customErrors>


  sessionState                                       Mode de gestion de l’état : en mémoire, en utilisant un serveur
                                                     d’état ou en utilisant SQL Server
              <sessionState mode="StateServer" stateConnectionString= "tcpip=serveurdetatport777:777" />
    Exemple




Section 1 : Configuration des Applications ASP.NET                                                      Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections System.Web - Suite                                                                                                             10


  Sections                                           Description
  authentification                                   Gère les paramètres d’authentification. Par exemple, « Forms » pour
                                                     les applications web et « Windows » pour les applications intranet




                                                                                                                                                 Module 8 – Programmation Avancée de ASP.NET
                                                     basées sur « Active Directory »
              <authentication mode="Forms">
    Exemple




                   <forms loginUrl="Login.apsx" timeout="30"> </forms>
              </authentication>


  authorization                                      Gère les paramètres d’autorisation (qui peut accéder à quoi) de
                                                     l’application web.
              <authorization>
    Exemple




                   <allow roles ="Admin"/>
                   <deny users ="*"/>
              </authorization>




Section 1 : Configuration des Applications ASP.NET                                                   Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections System.Web - Suite                                                                                                              11


  Sections                                           Description
  membership                                         Permet de définir des « MembershipProvider » personnalisés
                                                     permettant d’implémenter la création et la validation d’utilisateurs et




                                                                                                                                                  Module 8 – Programmation Avancée de ASP.NET
                                                     de comptes du site
              <membership defaultProvider="Demo_MemberShipProvider">
                  <providers>
                       <add      name="monProvider"
                                 type="System.Web.Security.SqlMembershipProvider"
    Exemple




                                 connectionStringName="bdd_comptes" enablePasswordRetrieval="false"
                                 enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/"
                                 requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5"
                                 minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0"
                                 passwordAttemptWindow="10" passwordStrengthRegularExpression="">
                  </providers>
              </membership>




Section 1 : Configuration des Applications ASP.NET                                                    Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections System.Web - Suite                                                                                                                12


  Sections                                           Description
  roleManager                                        Les utilisateurs sont regroupés en groupes appelés « rôles » pour
                                                     simplifier l’attribution des privilèges. Cette section permet d’intégrer




                                                                                                                                                    Module 8 – Programmation Avancée de ASP.NET
                                                     un gestionnaire de rôle fourni avec .NET ou personnalisé.
              <roleManager enabled="true" defaultProvider=« monProvider">
                    <providers>
    Exemple




                         <add connectionStringName="db_comptes" applicationName="/" name="monProvider"
                         type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral,
                         PublicKeyToken=b03f5f7f11d50a3a"/>
                    </providers>
              </roleManager>
  globalization                                      Paramètres de localisation des applications (ou sous-applications)
              <globalization culture="en-US" uiCulture="en-US"></globalization>
    Exemple




Section 1 : Configuration des Applications ASP.NET                                                      Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Intégration avec IIS7                                                                                       13




          À travers la section system.webServer, la configuration de l’application




                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
           vis-à-vis de IIS 7.0 est définie
          Des paramètres comme la page par défault, les handlers et les modules
           HTTP sont définis désormais dans cette section




Section 1 : Configuration des Applications ASP.NET                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections system.webServer                                                                                                                 14


  Sections                                           Description
  defaultDocument                                    Définit quel document donner si aucun document n’est spécifié
                                                     dans l’URL




                                                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
              <defaultDocument>
    Exemple




                    <files>
                      <add value="accueuil.apsx"/>
                    </files>
              </defaultDocument>

  Handlers                                           Un handler HTTP est un gestionnaire qui s’exécute lorsqu’une
                                                     ressource est demandée sur le serveur. Le développeur peut
                                                     exécuter ses propres Handlers en implémentant l’interface
                                                     IHttpHandler puis les déclarer dans web.config. IIS intègre les
                                                     handlers en utilisant le fichier de configuration.
              <handlers>
    Exemple




                    <add type="MonApplication.DateTimeHandler" path="*.datx" verb="*" name="datxHandler"/>
                    <add type="MonApplication.DateTimeHandler" path="*.timx" verb="*" name="timxHandler"/>
              </handlers>


Section 1 : Configuration des Applications ASP.NET                                                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




        Sections system.webServer                                                                                                              15


  Sections                                           Description
  modules                                            Permet d’ajouter des modules HTTP à l’application
              <modules>
    Exemple




                                                                                                                                                Module 8 – Programmation Avancée de ASP.NET
                   <add type="MonApplication.MyModule1" name="myModule"/>
              </modules>




Section 1 : Configuration des Applications ASP.NET                                                  Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Appliquer la configuration sur une portion de l’application                                                   16




          En ASP.NET, les applications de moyenne et de grande taille sont




                                                                                                                     Module 8 – Programmation Avancée de ASP.NET
           composées d’une multitude de dossiers et de sous-dossiers
          Avec la section « location », il est possible de définir la configuration d’un
           sous-ensemble de l’application
          Un autre moyen est de créer un fichier « web.config » dans un sous-
           répertoire de l’application




Section 1 : Configuration des Applications ASP.NET                       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Exemple de la balise « location »                                                                               17




           <location path="Rep1">




                                                                                                                       Module 8 – Programmation Avancée de ASP.NET
                  <system.web>
                      <pages clientIDMode="Static"></pages>
                      <globalization culture="fr-Fr" uiCulture="fr-Fr"></globalization>
                  </system.web>
             </location>




Section 1 : Configuration des Applications ASP.NET                         Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.1 : Configuration d’Applications ASP.NET                                           18




         • Lancer Tutoriel 8.1, étape 1 et 2




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                                  Module 8 - Programmation Avancée de ASP.NET




                 19
                                            Section 2 : Modules et Handlers
                                                                      HTTP


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Handlers HTTP                                                                                              20




          Un Handler HTTP est un module permettant de répondre à des requêtes




                                                                                                                  Module 8 – Programmation Avancée de ASP.NET
           spécifiques demandant des ressources sur internet
          Il existe deux types de Handlers : des handlers par défaut et des handlers
           personnalisés
          Par exemple, les ressources dont l’extension est « aspx » sont gérés par un
           handler spécifique lançant leur compilation
          Le handlers personnalisés sont des handlers créés par les développeurs
           pour gérer une certaine catégorie de ressources


Section 2 : Modules et Handlers HTTP                                  Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Caractéristiques des handlers                                                                                 21




          Les handlers peuvent être utilisés pour pointer sur des ressources




                                                                                                                     Module 8 – Programmation Avancée de ASP.NET
           spécifiques telles que des images, des informations RSS ou sur des
           ressources virtuelles (qui n’existent pas physiquement)
          Les handlers sont des classes implémentant une interface
           « IHttpHandler »
          Avec IIS 7.0, les handlers s’intègrent en utilisant la section
           <system.webServer »
          Pour les anciennes versions d’ASP.NET, la configuration se faisant dans la
           section « system.web »


Section 2 : Modules et Handlers HTTP                                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.2 : Création de Handlers HTTP                                                      22




         • Lancer Tutoriel 8.2, étape 1




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Modules HTTP                                                                                                    23




          Un module HTTP est un sous-système qui s’inscrit dans le cycle de vie




                                                                                                                       Module 8 – Programmation Avancée de ASP.NET
           d’une requête HTTP
          Un module inscrit des évènements au cycle de vie qui effectuent des
           actions particulières telles que les statistiques, les logs, l’authentification
          Les modules peuvent être réutilisés entre plusieurs applications




Section 2 : Modules et Handlers HTTP                                       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.2 : Création d’un module HTTP                                                      24




         • Lancer Tutoriel 8.2, étape 2




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                                        Module 8 - Programmation Avancée de ASP.NET




                 25
                                            Section 3 : Gestion de l’état


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Introduction                                                                                                26




          HTTP est un protocole sans état, en d’autres mots, entre deux requêtes




                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
           HTTP, toutes les informations créées en mémoire sont perdues
          Il est nécessaire de garder un état entre plusieurs requêtes : par exemple le
           panier dans un site de e-commerce
          La gestion de l’état est un mécanisme permettant de retrouver les
           informations entre plusieurs requêtes sans passer par des moyens de
           persistance tels que les bases de données ou les fichiers
          Il existe deux types de mécanismes de gestion d’état : des mécanismes côté
           serveur et des mécanismes côté client


Section 3 : Gestion de l’état                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Gestion de l’état côté serveur                                                                              27


                                             Etat
                                         d’application




                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
                                                         Etat de
                                Profil
                                                         session




                                            Cache

Section 3 : Gestion de l’état                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Etat de l’application                                                                                        28




          ASP.NET permet de garder l’état entre plusieurs requêtes pour une seule




                                                                                                                    Module 8 – Programmation Avancée de ASP.NET
           session à travers la propriété « Session »
          Contrairement à l’état de l’application, les variables stockées dans la
           session ne sont communes qu’à une seule session de l’utilisateur
          La session se termine après un timeout ou après que l’utilisateur ne ferme
           la fenêtre du navigateur.




Section 3 : Gestion de l’état                                           Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Etat de la session                                                                                             29




          Fournit un état accessible à toutes les applications




                                                                                                                      Module 8 – Programmation Avancée de ASP.NET
          De type HttpApplicationState
          Sa valeur est commune entre toutes les sessions actives
          Utile pour des informations partagées telles que le nombre de visiteurs
          L’accès à l’état de l’application se fait via la propriété « Application »




Section 3 : Gestion de l’état                                             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.3 : Gestion de l’état                                                              30




         • Lancer Tutoriel 8.3, étape 1




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Gestion du cache                                                                                          31




          La compilation des pages demande un temps processeur très considérable




                                                                                                                 Module 8 – Programmation Avancée de ASP.NET
          Certaines données très fréquemment utilisées sont sujettes à des
           modifications qui ne sont pas fréquentes
          Le cache permet d’accélérer les traitements en mettant les éléments qui ne
           sont pas susceptibles de changer dans un cache au lieu de les traiter à
           chaque requête
          ASP.NET offre deux mécanismes de cache : le cache de données et le cache
           des pages


Section 3 : Gestion de l’état                                        Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le cache de données                                                                                        32




          Le cache de données permet de stocker certaines données dans un




                                                                                                                  Module 8 – Programmation Avancée de ASP.NET
           emplacement temporaire
          Les données sont accédées en utilisant des clés
          Les données sont enlevées du cache lorsqu’elles arrivent à expiration ou
           lorsqu’il n’y a plus d’emplacement mémoire




Section 3 : Gestion de l’état                                         Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.3 : Gestion de l’état                                                              33




         • Lancer Tutoriel 8.3, étape 2




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le cache de pages                                                                                           34




          Le cache de pages stocke le contenu d’une forme web dans le cache afin




                                                                                                                   Module 8 – Programmation Avancée de ASP.NET
           d’éviter sa recompilation
          Le cache de page est très utile pour les pages qui ne changent pas
           fréquemment
          Le cache est activé en utilisant la directive « OutputCache »
          Dans la directive « OutputCache » certains paramètres sont définis tels
           que les délais d’expiration ou la variation. Par exemple, pour chaque
           chaîne de requête de l’URL, un cache de la page est créé.


Section 3 : Gestion de l’état                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Gestion de l’état côté client                                                                           35



                                          Champs
                                          cachés




                                                                                                               Module 8 – Programmation Avancée de ASP.NET
                                Cookies            VIEWSTATE


Section 3 : Gestion de l’état                                      Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Les Cookies                                                                                                   36




          Petits fichiers texte stockés sur la machine de l’utilisateur.




                                                                                                                     Module 8 – Programmation Avancée de ASP.NET
          Quand l’application veut constituer un cookie chez le client, elle l’inclut
           dans la réponse HTTP
          Le Cookie est alors attaché à chaque requête HTTP qu’il émet vers le
           serveur
          Les Cookies peuvent expirer
          Les cookies peuvent contenir des données telles que des paramètres
           d’authentification ou des préférences


Section 3 : Gestion de l’état                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 8.3 : Gestion de l’état                                                              37




         • Lancer Tutoriel 8.3, étape 3




                                                                                                     Module 8 – Programmation Avancée de ASP.NET
Section 1 : Configuration des Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine

More Related Content

What's hot

Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Siham Rim Boudaoud
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfoliomaknihamdi
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Webnet présentation 2012
Webnet   présentation 2012Webnet   présentation 2012
Webnet présentation 2012Webnet
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLMicrosoft
 
Exposé CMS e-biz ISC Paris 2012
Exposé CMS e-biz ISC Paris 2012Exposé CMS e-biz ISC Paris 2012
Exposé CMS e-biz ISC Paris 2012Christophe Pinquier
 
Présentation Joomla!
Présentation Joomla!Présentation Joomla!
Présentation Joomla!nomadz
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 

What's hot (20)

Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Le langage html
Le langage htmlLe langage html
Le langage html
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Jaxrs
JaxrsJaxrs
Jaxrs
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfolio
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
Struts
StrutsStruts
Struts
 
Webnet présentation 2012
Webnet   présentation 2012Webnet   présentation 2012
Webnet présentation 2012
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Outillage pour Windows 8 XAML
Outillage pour Windows 8 XAMLOutillage pour Windows 8 XAML
Outillage pour Windows 8 XAML
 
Exposé CMS e-biz ISC Paris 2012
Exposé CMS e-biz ISC Paris 2012Exposé CMS e-biz ISC Paris 2012
Exposé CMS e-biz ISC Paris 2012
 
Présentation Joomla!
Présentation Joomla!Présentation Joomla!
Présentation Joomla!
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 

Viewers also liked (9)

Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Cycle de vie d’un logiciel
Cycle de vie d’un logicielCycle de vie d’un logiciel
Cycle de vie d’un logiciel
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Wf module3
Wf module3Wf module3
Wf module3
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 

Similar to Module 8 programmation avancée d'asp.net

Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASGuillaume Sauthier
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5Mohamed Nemili
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Microsoft
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .NetGregory Renard
 
Creation servicewebjavaee
Creation servicewebjavaeeCreation servicewebjavaee
Creation servicewebjavaeeOusmane Ciss
 
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint 2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint Patrick Guimonet
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 

Similar to Module 8 programmation avancée d'asp.net (20)

Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
Séquence1.pptx
Séquence1.pptxSéquence1.pptx
Séquence1.pptx
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
Backbonejs presentation
Backbonejs presentationBackbonejs presentation
Backbonejs presentation
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnAS
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
CV_Frederick_VARANGO
CV_Frederick_VARANGOCV_Frederick_VARANGO
CV_Frederick_VARANGO
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .Net
 
cours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdfcours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdf
 
Creation servicewebjavaee
Creation servicewebjavaeeCreation servicewebjavaee
Creation servicewebjavaee
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint 2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 

More from Mohammed Amine Mostefai

More from Mohammed Amine Mostefai (11)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Conduite de projet innovants
Conduite de projet innovantsConduite de projet innovants
Conduite de projet innovants
 

Module 8 programmation avancée d'asp.net

  • 1. Développement web avec Visual Studio 2012 et ASP.NET Module 8 – Programmation Avancée de ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 2. Développement web avec ASP.NET et Visual Studio 2012 Objectifs du module 2  Permettre aux développeurs d’acquérir des aspects avancés sur ASP.NET tels que la gestion de l’état, les module ou la configuration des applications ASP.NET Module 8 – Programmation Avancée de ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 3. Développement web avec ASP.NET et Visual Studio 2012 Plan du module 3  Configuration  Modules et Handlers  Gestion de l’état Module 8 – Programmation Avancée de ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 4. Développement web avec ASP.NET et Visual Studio 2012 4 Module 8 - Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 5. Développement web avec ASP.NET et Visual Studio 2012 Introduction 5  ASP.NET est basé sur un système hiérarchique de configuration Module 8 – Programmation Avancée de ASP.NET  Le fichier de configuration est appelé « web.config » et est sous format XML  Le fichier Web.config hérite des paramètres de « Machine.config » qui existe dans le sous-répertoire « CONFIG » du répertoire d’installation du .NET Framework  Les paramètres dédiées à la gestion de l’application web se trouvent dans la section « system.web » Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 6. Développement web avec ASP.NET et Visual Studio 2012 Structure du Web.Config 6 <configuration> <configSections> </configSections> Module 8 – Programmation Avancée de ASP.NET <connectionStrings> </connectionStrings> <appSettings></appSettings> <system.web> </system.web> <system.webServer> </system.webServer> </configuration> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 7. Développement web avec ASP.NET et Visual Studio 2012 Principales sections (Hors System.Web) 7 Sections Description appSettings Paramètres de l’application. Exemple <appSettings> Module 8 – Programmation Avancée de ASP.NET <add key="monParametre" value="25"/> </appSettings> configSections Sections personnalisées de configuration <configSections> Exemple <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /></configSections> connectionStrings Chaînes de connexion aux bases de données <connectionStrings> Exemple <add name="adv" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.D ata.SqlClient;provider connection string=&quot;data source=.;initial catalog=AdventureWorks;integrated security=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 8. Développement web avec ASP.NET et Visual Studio 2012 Sections System.Web 8 Sections Description Compilation Détermine les paramètres de compilation tels que l’activation du débogage, le langage cible ou les assemblies référencées dans les Module 8 – Programmation Avancée de ASP.NET pages web <compilation debug="true" strict="true" explicit="true" defaultLanguage="c#" targetFramework="4.5" Exemple assemblyPostProcessorType=""> <assemblies> <add assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </assemblies> 7 </compilation> pages Définit des paramètres communes à toutes les pages de l’application web tels que le thème, la page maître,…etc. Pour redéfinir ces paramètres, utiliser la directive « Page ». <pages buffer ="true" styleSheetTheme="" theme ="MonTheme" Exemple masterPageFile ="pageMaitre.master" enableEventValidation="true" /> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 9. Développement web avec ASP.NET et Visual Studio 2012 Sections System.Web - Suite 9 Sections Description customErrors Paramètres indiquant la redirection vers les pages en cas d’erreurs (par exemple 401 ou 404). Module 8 – Programmation Avancée de ASP.NET <customErrors defaultRedirect ="Error.aspx" mode ="Off"> <error statusCode ="401" redirect ="Unauthorized.aspx"/> Exemple </customErrors> sessionState Mode de gestion de l’état : en mémoire, en utilisant un serveur d’état ou en utilisant SQL Server <sessionState mode="StateServer" stateConnectionString= "tcpip=serveurdetatport777:777" /> Exemple Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 10. Développement web avec ASP.NET et Visual Studio 2012 Sections System.Web - Suite 10 Sections Description authentification Gère les paramètres d’authentification. Par exemple, « Forms » pour les applications web et « Windows » pour les applications intranet Module 8 – Programmation Avancée de ASP.NET basées sur « Active Directory » <authentication mode="Forms"> Exemple <forms loginUrl="Login.apsx" timeout="30"> </forms> </authentication> authorization Gère les paramètres d’autorisation (qui peut accéder à quoi) de l’application web. <authorization> Exemple <allow roles ="Admin"/> <deny users ="*"/> </authorization> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 11. Développement web avec ASP.NET et Visual Studio 2012 Sections System.Web - Suite 11 Sections Description membership Permet de définir des « MembershipProvider » personnalisés permettant d’implémenter la création et la validation d’utilisateurs et Module 8 – Programmation Avancée de ASP.NET de comptes du site <membership defaultProvider="Demo_MemberShipProvider"> <providers> <add name="monProvider" type="System.Web.Security.SqlMembershipProvider" Exemple connectionStringName="bdd_comptes" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""> </providers> </membership> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 12. Développement web avec ASP.NET et Visual Studio 2012 Sections System.Web - Suite 12 Sections Description roleManager Les utilisateurs sont regroupés en groupes appelés « rôles » pour simplifier l’attribution des privilèges. Cette section permet d’intégrer Module 8 – Programmation Avancée de ASP.NET un gestionnaire de rôle fourni avec .NET ou personnalisé. <roleManager enabled="true" defaultProvider=« monProvider"> <providers> Exemple <add connectionStringName="db_comptes" applicationName="/" name="monProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </providers> </roleManager> globalization Paramètres de localisation des applications (ou sous-applications) <globalization culture="en-US" uiCulture="en-US"></globalization> Exemple Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 13. Développement web avec ASP.NET et Visual Studio 2012 Intégration avec IIS7 13  À travers la section system.webServer, la configuration de l’application Module 8 – Programmation Avancée de ASP.NET vis-à-vis de IIS 7.0 est définie  Des paramètres comme la page par défault, les handlers et les modules HTTP sont définis désormais dans cette section Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 14. Développement web avec ASP.NET et Visual Studio 2012 Sections system.webServer 14 Sections Description defaultDocument Définit quel document donner si aucun document n’est spécifié dans l’URL Module 8 – Programmation Avancée de ASP.NET <defaultDocument> Exemple <files> <add value="accueuil.apsx"/> </files> </defaultDocument> Handlers Un handler HTTP est un gestionnaire qui s’exécute lorsqu’une ressource est demandée sur le serveur. Le développeur peut exécuter ses propres Handlers en implémentant l’interface IHttpHandler puis les déclarer dans web.config. IIS intègre les handlers en utilisant le fichier de configuration. <handlers> Exemple <add type="MonApplication.DateTimeHandler" path="*.datx" verb="*" name="datxHandler"/> <add type="MonApplication.DateTimeHandler" path="*.timx" verb="*" name="timxHandler"/> </handlers> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 15. Développement web avec ASP.NET et Visual Studio 2012 Sections system.webServer 15 Sections Description modules Permet d’ajouter des modules HTTP à l’application <modules> Exemple Module 8 – Programmation Avancée de ASP.NET <add type="MonApplication.MyModule1" name="myModule"/> </modules> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 16. Développement web avec ASP.NET et Visual Studio 2012 Appliquer la configuration sur une portion de l’application 16  En ASP.NET, les applications de moyenne et de grande taille sont Module 8 – Programmation Avancée de ASP.NET composées d’une multitude de dossiers et de sous-dossiers  Avec la section « location », il est possible de définir la configuration d’un sous-ensemble de l’application  Un autre moyen est de créer un fichier « web.config » dans un sous- répertoire de l’application Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 17. Développement web avec ASP.NET et Visual Studio 2012 Exemple de la balise « location » 17 <location path="Rep1"> Module 8 – Programmation Avancée de ASP.NET <system.web> <pages clientIDMode="Static"></pages> <globalization culture="fr-Fr" uiCulture="fr-Fr"></globalization> </system.web> </location> Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 18. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.1 : Configuration d’Applications ASP.NET 18 • Lancer Tutoriel 8.1, étape 1 et 2 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 19. Développement web avec ASP.NET et Visual Studio 2012 Module 8 - Programmation Avancée de ASP.NET 19 Section 2 : Modules et Handlers HTTP Copyright © 2013, Mostefai Mohammed Amine
  • 20. Développement web avec ASP.NET et Visual Studio 2012 Handlers HTTP 20  Un Handler HTTP est un module permettant de répondre à des requêtes Module 8 – Programmation Avancée de ASP.NET spécifiques demandant des ressources sur internet  Il existe deux types de Handlers : des handlers par défaut et des handlers personnalisés  Par exemple, les ressources dont l’extension est « aspx » sont gérés par un handler spécifique lançant leur compilation  Le handlers personnalisés sont des handlers créés par les développeurs pour gérer une certaine catégorie de ressources Section 2 : Modules et Handlers HTTP Copyright © 2013, Mostefai Mohammed Amine
  • 21. Développement web avec ASP.NET et Visual Studio 2012 Caractéristiques des handlers 21  Les handlers peuvent être utilisés pour pointer sur des ressources Module 8 – Programmation Avancée de ASP.NET spécifiques telles que des images, des informations RSS ou sur des ressources virtuelles (qui n’existent pas physiquement)  Les handlers sont des classes implémentant une interface « IHttpHandler »  Avec IIS 7.0, les handlers s’intègrent en utilisant la section <system.webServer »  Pour les anciennes versions d’ASP.NET, la configuration se faisant dans la section « system.web » Section 2 : Modules et Handlers HTTP Copyright © 2013, Mostefai Mohammed Amine
  • 22. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.2 : Création de Handlers HTTP 22 • Lancer Tutoriel 8.2, étape 1 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 23. Développement web avec ASP.NET et Visual Studio 2012 Modules HTTP 23  Un module HTTP est un sous-système qui s’inscrit dans le cycle de vie Module 8 – Programmation Avancée de ASP.NET d’une requête HTTP  Un module inscrit des évènements au cycle de vie qui effectuent des actions particulières telles que les statistiques, les logs, l’authentification  Les modules peuvent être réutilisés entre plusieurs applications Section 2 : Modules et Handlers HTTP Copyright © 2013, Mostefai Mohammed Amine
  • 24. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.2 : Création d’un module HTTP 24 • Lancer Tutoriel 8.2, étape 2 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 25. Développement web avec ASP.NET et Visual Studio 2012 Module 8 - Programmation Avancée de ASP.NET 25 Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 26. Développement web avec ASP.NET et Visual Studio 2012 Introduction 26  HTTP est un protocole sans état, en d’autres mots, entre deux requêtes Module 8 – Programmation Avancée de ASP.NET HTTP, toutes les informations créées en mémoire sont perdues  Il est nécessaire de garder un état entre plusieurs requêtes : par exemple le panier dans un site de e-commerce  La gestion de l’état est un mécanisme permettant de retrouver les informations entre plusieurs requêtes sans passer par des moyens de persistance tels que les bases de données ou les fichiers  Il existe deux types de mécanismes de gestion d’état : des mécanismes côté serveur et des mécanismes côté client Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 27. Développement web avec ASP.NET et Visual Studio 2012 Gestion de l’état côté serveur 27 Etat d’application Module 8 – Programmation Avancée de ASP.NET Etat de Profil session Cache Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 28. Développement web avec ASP.NET et Visual Studio 2012 Etat de l’application 28  ASP.NET permet de garder l’état entre plusieurs requêtes pour une seule Module 8 – Programmation Avancée de ASP.NET session à travers la propriété « Session »  Contrairement à l’état de l’application, les variables stockées dans la session ne sont communes qu’à une seule session de l’utilisateur  La session se termine après un timeout ou après que l’utilisateur ne ferme la fenêtre du navigateur. Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 29. Développement web avec ASP.NET et Visual Studio 2012 Etat de la session 29  Fournit un état accessible à toutes les applications Module 8 – Programmation Avancée de ASP.NET  De type HttpApplicationState  Sa valeur est commune entre toutes les sessions actives  Utile pour des informations partagées telles que le nombre de visiteurs  L’accès à l’état de l’application se fait via la propriété « Application » Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 30. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.3 : Gestion de l’état 30 • Lancer Tutoriel 8.3, étape 1 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 31. Développement web avec ASP.NET et Visual Studio 2012 Gestion du cache 31  La compilation des pages demande un temps processeur très considérable Module 8 – Programmation Avancée de ASP.NET  Certaines données très fréquemment utilisées sont sujettes à des modifications qui ne sont pas fréquentes  Le cache permet d’accélérer les traitements en mettant les éléments qui ne sont pas susceptibles de changer dans un cache au lieu de les traiter à chaque requête  ASP.NET offre deux mécanismes de cache : le cache de données et le cache des pages Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 32. Développement web avec ASP.NET et Visual Studio 2012 Le cache de données 32  Le cache de données permet de stocker certaines données dans un Module 8 – Programmation Avancée de ASP.NET emplacement temporaire  Les données sont accédées en utilisant des clés  Les données sont enlevées du cache lorsqu’elles arrivent à expiration ou lorsqu’il n’y a plus d’emplacement mémoire Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 33. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.3 : Gestion de l’état 33 • Lancer Tutoriel 8.3, étape 2 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 34. Développement web avec ASP.NET et Visual Studio 2012 Le cache de pages 34  Le cache de pages stocke le contenu d’une forme web dans le cache afin Module 8 – Programmation Avancée de ASP.NET d’éviter sa recompilation  Le cache de page est très utile pour les pages qui ne changent pas fréquemment  Le cache est activé en utilisant la directive « OutputCache »  Dans la directive « OutputCache » certains paramètres sont définis tels que les délais d’expiration ou la variation. Par exemple, pour chaque chaîne de requête de l’URL, un cache de la page est créé. Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 35. Développement web avec ASP.NET et Visual Studio 2012 Gestion de l’état côté client 35 Champs cachés Module 8 – Programmation Avancée de ASP.NET Cookies VIEWSTATE Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 36. Développement web avec ASP.NET et Visual Studio 2012 Les Cookies 36  Petits fichiers texte stockés sur la machine de l’utilisateur. Module 8 – Programmation Avancée de ASP.NET  Quand l’application veut constituer un cookie chez le client, elle l’inclut dans la réponse HTTP  Le Cookie est alors attaché à chaque requête HTTP qu’il émet vers le serveur  Les Cookies peuvent expirer  Les cookies peuvent contenir des données telles que des paramètres d’authentification ou des préférences Section 3 : Gestion de l’état Copyright © 2013, Mostefai Mohammed Amine
  • 37. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 8.3 : Gestion de l’état 37 • Lancer Tutoriel 8.3, étape 3 Module 8 – Programmation Avancée de ASP.NET Section 1 : Configuration des Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine