Développement web avec
Visual Studio 2012 et ASP.NET




Module 3 – Intégration de traitement dans les applications ASP.NET

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




      Objectifs du module                                                                                             2



   Voir comment ajouter des traitements dans les applications web
   Comment changer des propriétés via le code
   Gérer les évènements des pages et des contrôles




Module 3 : Intégration de traitement dans les applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Plan du module                                                                                                  3



   Programmation dans les applications ASP.NET
   Gestion des évènements
   Cycle de vie d’une page




Module 3 : Intégration de traitement dans les applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




                 4
                                            Module 3 : Intégration de traitement dans les applications ASP.NET




                                               Section 1 : Programmation dans les
                                                              applications ASP.NET


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




      Introduction                                                                                                              5




          Pour permettre aux applications d’être fonctionnelles, il est nécessaire de




                                                                                                                  Module 3 : Intégration de traitement dans les
           coder
          Tous les langages .NET tels que C# ou VB.NET peuvent être utilisés dans




                                                                                                                              applications ASP.NET
           ASP.NET
          Le code écrit s’exécute uniquement côté serveur




Section 1 : Programmation dans les applications ASP.NET                Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Types de code                                                                                                            6




          Le code de traitement permet d’exécuter certaines fonctions tandis que le




                                                                                                                 Module 3 : Intégration de traitement dans les
           code de présentation permet d’ajuster l’interface utilisateur
          En ASP.NET, le code peut être écrit par le programmeur ou généré par




                                                                                                                             applications ASP.NET
           Visual Studio pour permettre à l’application d’être fonctionnelle
          Le code C# peut être mis à l’intérieur des formes web mais cette approche
           est déconseillée. Le code behind consiste à mettre le code de présentation
           dans un fichier séparé ce qui facilite la maintenance de l’application.



Section 1 : Programmation dans les applications ASP.NET               Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le Code Behind                                                                                                              7




          La méthode par défaut d’intégrer le code de présentation ou la logique




                                                                                                                    Module 3 : Intégration de traitement dans les
           d’une forme web est le code behind qui existe sous la forme d’un fichier
           « cs » séparé




                                                                                                                                applications ASP.NET
          Le nom d’un fichier code behind est le même qu’une forme web mais avec
           l’extension cs. Par exemple, le code behind de la forme « Default.aspx »
           est le fichier « Default.aspx.cs »
          En utilisant les classes partielles, le code behind peut être réparti sur
           plusieurs fichiers distincts


Section 1 : Programmation dans les applications ASP.NET                  Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le Code Behind - Exemple                                                                                               8




      public partial class Default : System.Web.UI.Page




                                                                                                               Module 3 : Intégration de traitement dans les
              {
                         protected void Page_Load(object sender, EventArgs e)




                                                                                                                           applications ASP.NET
                         {


                         }
              }


Section 1 : Programmation dans les applications ASP.NET             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le Code Behind - Classes                                                                                                   9




          Visual Studio génère une classe dont le nom est égal à celui de la forme




                                                                                                                   Module 3 : Intégration de traitement dans les
          Le corps de la classe va contenir le code de présentation : gestion des
           évènements de la page et des contrôles qui s’y trouvent




                                                                                                                               applications ASP.NET
          Visual Studio génère aussi le code « designer » qui permet d’initialiser les
           différents contrôles




Section 1 : Programmation dans les applications ASP.NET                 Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 3.1 : Programmation Web                                                                   10




         • Lancer Tutoriel 3.1, Etape 1




                                                                                                         Module 3 : Intégration de traitement dans les
                                                                                                                     applications ASP.NET
Section 1 : Programmation dans les applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Ajout de traitements                                                                                       11




          Comme n’importe quelle application, des traitements peuvent être ajoutés




                                                                                                                 Module 3 : Intégration de traitement dans les
           aux applications
          De préférence, mettre les traitements dans des modules externes




                                                                                                                             applications ASP.NET
          Les bibliothèques de classes représentent le meilleur moyen d’inclure ces
           traitements




Section 1 : Programmation dans les applications ASP.NET               Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 3.1 : Ajout de traitements                                                                12




         • Tutoriel 3.1, Etape 2




                                                                                                         Module 3 : Intégration de traitement dans les
                                                                                                                     applications ASP.NET
Section 1 : Programmation dans les applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                            Module 3 : Intégration de traitement dans les applications ASP.NET




                 13
                                               évènements de l’application
                                                                   ASP.NET
                                                    Section 2 : Gestion des




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




      Introduction                                                                                               14




          ASP.NET permet de gérer les évènements au niveau applicatif dans un




                                                                                                                 Module 3 : Intégration de traitement dans les
           fichier spécial appelé Global.asax
          Ces évènements correspondant au démarrage de l’application, de son




                                                                                                                             applications ASP.NET
           arrêt, d’une ouverture de session, de sa fermeture, de début d’une requête
           ou de sa fin
          So Global.asax change, l’application est rebootée et « Application_Start »
           appelé à nouveau



Section 2 : Evènements de l’application                               Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Evènements du Global.asax                                                                                             15



      Evènement                           Description
      Application_Start                   Appelé à chaque fois que l’application est
                                          démarrée.




                                                                                                                            Module 3 : Intégration de traitement dans les
      Application_Init                    Appelé à chaque fois qu’une instance de l’objet
                                          « Application » est créée




                                                                                                                                        applications ASP.NET
      Session_Start                       À chaque fois qu’une session utilisateur est lancée
      Application_BeginRequest            À chaque fois qu’une requête commence à être
                                          traitée
      Application_EndRequest              À chaque fois que l’application termine le
                                          traitement d’une requête
      Application_AuthenticateRequest     À chaque fois qu’une authentification est
                                          demandée


Section 2 : Evènements de l’application                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Evènements du Global.asax                                                                                             16



      Evènement                           Description
      Application_Error                   Quand une erreur non gérée est déclenchée, idéal
                                          pour le logging




                                                                                                                            Module 3 : Intégration de traitement dans les
      Session_End                         Quand la session d’un utilisateur se termine




                                                                                                                                        applications ASP.NET
Section 2 : Evènements de l’application                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 3.1 : Evènements Global.asax                                              17




         • Tutoriel 3.1, Etape 3




                                                                                         Module 3 : Intégration de traitement dans les
                                                                                                     applications ASP.NET
Section 2 : Evènements de l’application       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                            Module 3 : Intégration de traitement dans les applications ASP.NET




                 18
                                                                        Page
                                               Section 3 : Cycle de Vie d’une




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




      Cycle de vie d’une page                                                                                           19




                                                                                                                          Module 2 : Introduction à ASP.NET Web Forms
                                                             Evènements des
               Init                   Load   Load_Complete                                   Unload
                                                                contrôles




Section 3 : Cycle de Vie d’une Page                                           Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le Processus de Postback                                                                                  20




         Le postback consiste à reposter les informations suite à une action de




                                                                                                                 Module 2 : Introduction à ASP.NET Web Forms
          l’utilisateur
         Le traitement du postback diffère du chargement normal et notamment
          dans l’évènement de chargement (Page_Load)
         Pour savoir si on est en mode Postback, tester IsPostback
         Certains contrôles peuvent automatiquement déclencher un Postback en
          mettant la propriété AutoPostBack à true



Section 3 : Cycle de Vie d’une Page                                  Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Les évènements des contrôles                                                                               21




         Les évènements de contrôles s’inspirent de la programmation RAD




                                                                                                                  Module 2 : Introduction à ASP.NET Web Forms
         Ce sont des méthodes déclenchées suite à une action (clic, sélection,
          changement…)
         Les évènements passent par le serveur. Si on veut uniquement passer par
          le client, utiliser les évènements côté client
         Les évènements côté serveur sont des évènements écrits en C# tandis que
          les évènements côté client sont écrits en JavaScript



Section 3 : Cycle de Vie d’une Page                                   Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 3.1 : Evènements Global.asax                                           22




        • Tutoriel 3.1, Etape 4 et 5




                                                                                       Module 2 : Introduction à ASP.NET Web Forms
Section 3 : Cycle de Vie d’une Page        Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Exercice                                                                                                      23




               Exercice 3.1 (Durée 1 h):
               Voir énoncé exercice 3.1




Module 3 : Intégration de traitement dans les applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine

Module 3 intégration de traitement dans les applications web asp.net

  • 1.
    Développement web avec VisualStudio 2012 et ASP.NET Module 3 – Intégration de traitement dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 2.
    Développement web avecASP.NET et Visual Studio 2012 Objectifs du module 2  Voir comment ajouter des traitements dans les applications web  Comment changer des propriétés via le code  Gérer les évènements des pages et des contrôles Module 3 : Intégration de traitement dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 3.
    Développement web avecASP.NET et Visual Studio 2012 Plan du module 3  Programmation dans les applications ASP.NET  Gestion des évènements  Cycle de vie d’une page Module 3 : Intégration de traitement dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 4.
    Développement web avecASP.NET et Visual Studio 2012 4 Module 3 : Intégration de traitement dans les applications ASP.NET Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 5.
    Développement web avecASP.NET et Visual Studio 2012 Introduction 5  Pour permettre aux applications d’être fonctionnelles, il est nécessaire de Module 3 : Intégration de traitement dans les coder  Tous les langages .NET tels que C# ou VB.NET peuvent être utilisés dans applications ASP.NET ASP.NET  Le code écrit s’exécute uniquement côté serveur Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 6.
    Développement web avecASP.NET et Visual Studio 2012 Types de code 6  Le code de traitement permet d’exécuter certaines fonctions tandis que le Module 3 : Intégration de traitement dans les code de présentation permet d’ajuster l’interface utilisateur  En ASP.NET, le code peut être écrit par le programmeur ou généré par applications ASP.NET Visual Studio pour permettre à l’application d’être fonctionnelle  Le code C# peut être mis à l’intérieur des formes web mais cette approche est déconseillée. Le code behind consiste à mettre le code de présentation dans un fichier séparé ce qui facilite la maintenance de l’application. Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 7.
    Développement web avecASP.NET et Visual Studio 2012 Le Code Behind 7  La méthode par défaut d’intégrer le code de présentation ou la logique Module 3 : Intégration de traitement dans les d’une forme web est le code behind qui existe sous la forme d’un fichier « cs » séparé applications ASP.NET  Le nom d’un fichier code behind est le même qu’une forme web mais avec l’extension cs. Par exemple, le code behind de la forme « Default.aspx » est le fichier « Default.aspx.cs »  En utilisant les classes partielles, le code behind peut être réparti sur plusieurs fichiers distincts Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 8.
    Développement web avecASP.NET et Visual Studio 2012 Le Code Behind - Exemple 8 public partial class Default : System.Web.UI.Page Module 3 : Intégration de traitement dans les { protected void Page_Load(object sender, EventArgs e) applications ASP.NET { } } Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 9.
    Développement web avecASP.NET et Visual Studio 2012 Le Code Behind - Classes 9  Visual Studio génère une classe dont le nom est égal à celui de la forme Module 3 : Intégration de traitement dans les  Le corps de la classe va contenir le code de présentation : gestion des évènements de la page et des contrôles qui s’y trouvent applications ASP.NET  Visual Studio génère aussi le code « designer » qui permet d’initialiser les différents contrôles Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 10.
    Développement web avecASP.NET et Visual Studio 2012 Tutoriel 3.1 : Programmation Web 10 • Lancer Tutoriel 3.1, Etape 1 Module 3 : Intégration de traitement dans les applications ASP.NET Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 11.
    Développement web avecASP.NET et Visual Studio 2012 Ajout de traitements 11  Comme n’importe quelle application, des traitements peuvent être ajoutés Module 3 : Intégration de traitement dans les aux applications  De préférence, mettre les traitements dans des modules externes applications ASP.NET  Les bibliothèques de classes représentent le meilleur moyen d’inclure ces traitements Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 12.
    Développement web avecASP.NET et Visual Studio 2012 Tutoriel 3.1 : Ajout de traitements 12 • Tutoriel 3.1, Etape 2 Module 3 : Intégration de traitement dans les applications ASP.NET Section 1 : Programmation dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 13.
    Développement web avecASP.NET et Visual Studio 2012 Module 3 : Intégration de traitement dans les applications ASP.NET 13 évènements de l’application ASP.NET Section 2 : Gestion des Copyright © 2013, Mostefai Mohammed Amine
  • 14.
    Développement web avecASP.NET et Visual Studio 2012 Introduction 14  ASP.NET permet de gérer les évènements au niveau applicatif dans un Module 3 : Intégration de traitement dans les fichier spécial appelé Global.asax  Ces évènements correspondant au démarrage de l’application, de son applications ASP.NET arrêt, d’une ouverture de session, de sa fermeture, de début d’une requête ou de sa fin  So Global.asax change, l’application est rebootée et « Application_Start » appelé à nouveau Section 2 : Evènements de l’application Copyright © 2013, Mostefai Mohammed Amine
  • 15.
    Développement web avecASP.NET et Visual Studio 2012 Evènements du Global.asax 15 Evènement Description Application_Start Appelé à chaque fois que l’application est démarrée. Module 3 : Intégration de traitement dans les Application_Init Appelé à chaque fois qu’une instance de l’objet « Application » est créée applications ASP.NET Session_Start À chaque fois qu’une session utilisateur est lancée Application_BeginRequest À chaque fois qu’une requête commence à être traitée Application_EndRequest À chaque fois que l’application termine le traitement d’une requête Application_AuthenticateRequest À chaque fois qu’une authentification est demandée Section 2 : Evènements de l’application Copyright © 2013, Mostefai Mohammed Amine
  • 16.
    Développement web avecASP.NET et Visual Studio 2012 Evènements du Global.asax 16 Evènement Description Application_Error Quand une erreur non gérée est déclenchée, idéal pour le logging Module 3 : Intégration de traitement dans les Session_End Quand la session d’un utilisateur se termine applications ASP.NET Section 2 : Evènements de l’application Copyright © 2013, Mostefai Mohammed Amine
  • 17.
    Développement web avecASP.NET et Visual Studio 2012 Tutoriel 3.1 : Evènements Global.asax 17 • Tutoriel 3.1, Etape 3 Module 3 : Intégration de traitement dans les applications ASP.NET Section 2 : Evènements de l’application Copyright © 2013, Mostefai Mohammed Amine
  • 18.
    Développement web avecASP.NET et Visual Studio 2012 Module 3 : Intégration de traitement dans les applications ASP.NET 18 Page Section 3 : Cycle de Vie d’une Copyright © 2013, Mostefai Mohammed Amine
  • 19.
    Développement web avecASP.NET et Visual Studio 2012 Cycle de vie d’une page 19 Module 2 : Introduction à ASP.NET Web Forms Evènements des Init Load Load_Complete Unload contrôles Section 3 : Cycle de Vie d’une Page Copyright © 2013, Mostefai Mohammed Amine
  • 20.
    Développement web avecASP.NET et Visual Studio 2012 Le Processus de Postback 20  Le postback consiste à reposter les informations suite à une action de Module 2 : Introduction à ASP.NET Web Forms l’utilisateur  Le traitement du postback diffère du chargement normal et notamment dans l’évènement de chargement (Page_Load)  Pour savoir si on est en mode Postback, tester IsPostback  Certains contrôles peuvent automatiquement déclencher un Postback en mettant la propriété AutoPostBack à true Section 3 : Cycle de Vie d’une Page Copyright © 2013, Mostefai Mohammed Amine
  • 21.
    Développement web avecASP.NET et Visual Studio 2012 Les évènements des contrôles 21  Les évènements de contrôles s’inspirent de la programmation RAD Module 2 : Introduction à ASP.NET Web Forms  Ce sont des méthodes déclenchées suite à une action (clic, sélection, changement…)  Les évènements passent par le serveur. Si on veut uniquement passer par le client, utiliser les évènements côté client  Les évènements côté serveur sont des évènements écrits en C# tandis que les évènements côté client sont écrits en JavaScript Section 3 : Cycle de Vie d’une Page Copyright © 2013, Mostefai Mohammed Amine
  • 22.
    Développement web avecASP.NET et Visual Studio 2012 Tutoriel 3.1 : Evènements Global.asax 22 • Tutoriel 3.1, Etape 4 et 5 Module 2 : Introduction à ASP.NET Web Forms Section 3 : Cycle de Vie d’une Page Copyright © 2013, Mostefai Mohammed Amine
  • 23.
    Développement web avecASP.NET et Visual Studio 2012 Exercice 23 Exercice 3.1 (Durée 1 h): Voir énoncé exercice 3.1 Module 3 : Intégration de traitement dans les applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine