• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction à ASP.NET
 

Introduction à ASP.NET

on

  • 2,231 views

ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.

ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET

Statistics

Views

Total Views
2,231
Views on SlideShare
2,180
Embed Views
51

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 51

http://www.scoop.it 51

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction à ASP.NET Introduction à ASP.NET Presentation Transcript

    • INTRODUCTION À PRÉPARATION À LA CERTIFICATION MCPD 70-562 2012/2013 Abdelouahed sabri abdelouahed.sabri@gmail.com
    • OBJECTIFS  Comprendre  Le fonctionnement du Framework .Net  Les principes de base de ASP.NET  Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET 2
    • FRAMEWORK .NET  Framework .Net  Le Framework .NET consiste en une collection de librairies DLL (Dynamic Link Library) librement distribuable et un environnement d’exécution (un Run-time)  Les programmes s’exécutant sous contrôle de l’environnement .NET.  Ceci est appelé Mode Géré ou Managé (managed code).  Il Comprend un ensemble de classes qui peuvent être utilisées par tous les langages prenant en charge l’architecture .NET NB: cette couche Windows est directement incorporée dans le noyau des nouvelles versions de Windows 3
    • FRAMEWORK .NET  Spécifications:  Managed Code (code managé):  C’est un code source qui s'exécute sous la gestion de la machine virtuelle framework .NET et qui est appelée CLR (Common Language Runtime)  Tous les compilateurs de langages .Net génèrent un code intermédiaire appelé IL (Intermediate Language).  Contrairement au Unmanaged code (code non géré ou bien code natif) qui est un code source exécuté directement par le processeur (comme pour le cas de C) 4
    • FRAMEWORK .NET  Spécifications:  CLR (Common Language Runtime):  Fournit des services aux programmes qui s’exécutent sous son contrôle. Ces services assurent:  Le chargement (load) et l’exécution contrôlée des programmes  Les vérifications de type lors des appels de fonctions  La conversion de code intermédiaire en code natif lors de l’exécution des programmes, opération appelée JIT (Just In Time Compiler)  La gestion automatique de la mémoire avec ramasse-miettes (garbage collector)  L’adaptation automatique des programmes aux caractéristiques nationales (langue, représentation des nombres et des symboles, etc.)  La compatibilité avec les DLL et les modules COM actuels qui s’exécutent en code natif non contrôlé par .NET en utilisant le P/invoke 5
    • FRAMEWORK .NET  Spécifications:  Compilation en MSIL (Microsoft Intermediate Language):  Lors d'une compilation destinée à produire un code managé, le compilateur convertit le code source en langage intermédiaire, appelé MSIL  MSIL: Un jeu d'instructions indépendant du processeur qui est converti (par la suite) efficacement en code natif 6
    • FRAMEWORK .NET  Spécifications:  La compilation JIT (Just-In-Time compiler):  La JIT convertit à la demande le code en langage MSIL (juste le code appelé) en code natif au moment de l'exécution de l'application.  Elle tient compte du fait qu'une partie du code ne sera peut-être jamais appelée au moment de l'exécution. Alors, au lieu de consacrer du temps et des ressources mémoire à la conversion de toutes les instructions MSIL d'un fichier exécutable portable (PE) en code natif, elle les convertit au fur et à mesure des besoins au moment de l'exécution et stocke le code natif obtenu en mémoire afin qu'il soit accessible pour les appels ultérieurs dans le contexte de ce processus. 7
    • FRAMEWORK .NET  Spécifications  P/Invoke:  P/Invoke (Platform Invocation Services) de Microsoft est une spécification de l'implémentation de CLI (Common Language Infrastructure ) qui permet au managed code d'appeler du code natif dans les DLL  Quand P/Invoke est utilisé, le CLR gère le chargement des DLL et la conversion des types en types CTS (Common Type System). Pour réaliser cela, le CLR effectue les étapes suivantes :  Localiser l'emplacement de la DLL qui contient la fonction recherchée  Charger la DLL en mémoire  Trouver l'adresse en mémoire de la fonction et ajouter ses arguments dans la Pile d'appel  Convertir les types de données de .NET en un autre type 8
    • FRAMEWORK .NET  Spécifications  L’infrastructure CLI (Common Language Infrastructure ):  Une spécification ouverte développée par Microsoft pour sa plate- forme .NET qui décrit l'environnement d'exécution de la machine virtuelle  L'implémentation de la CLI inclut des fonctions pour gérer les erreurs, le ramasse-miettes, la sécurité et l'interopérabilité avec le système d'exploitation (les objets COM pour Microsoft window, gtk pour Mono de novell) 9
    • FRAMEWORK .NET  Spécifications:  CTS (Common Type System):  Est un standard (norme) qui spécifie comment les définitions de Type et les valeurs spécifiques des Types sont représentés dans la mémoire de l'ordinateur.  Il est destiné à permettre à des programmes écrits dans des langages de programmation différents (dans la famille des langages .Net) pour échanger facilement des informations.  Il est utilisé dans les langages de programmation;  Un type CTS peut être décrit comme la définition d'un ensemble de valeurs (par exemple, « tous les entiers compris entre 0 et 10 »), et les opérations permises sur ces valeurs (par exemple, l'addition et la soustraction). 10
    • MICROSOFT .NET  Les langages:  La puissance de l’architecture .NET réside dans le fait que l’utilisateur peut changer librement d’un langage de développement à un autre sans à réécrire le code.  On peut bien développer une partie dans un langage et une autre partie dans un langage différent.  les langages .NET doivent présenter des caractéristiques communes:  Le type de données est définit par le CTS (Common Type System),  L’utilisation des classes, et ainsi des objets, doit être de la même manière,  les langages .NET produisent un code managé 11
    • MICROSOFT .NET  Les langages:  Dans sa première version, Microsoft a présenté, d'entrée, quatre langages compatibles .Net :  C# (C sharp): le langage .NET vedette de Microsoft. Il a été proposé pour faire face au succès de Java.  VB.Net: la version orientée objet pour les développeurs VB6  J# (version .Net de J++, le clone avéré de Java)  délaissé  C++/CLI pour les développeurs C++.  Au fil des années, ils se sont ajoutés, par Microsoft, les langages JScript.Net et Windows PowerShell et ASP.Net qui ouvre aux langages .Net le monde du développement Web. 12
    • MICROSOFT .NET  Les langages:  Les langages .Net crées des programmes:  Pour le mode console (non graphique),  Des applications pour interface graphique Windows,  Des application pour des « Smart Devices »,  Des application pour le Web  Coté serveur avec ASP.NET,  Coté client avec Silverlight ou JavaScript.NET  Des applications Windows avec effets d’animation (WPF, Windows Presentation Foundation), 13
    • MICROSOFT .NET  Les langages:  Non Microsoft  La publication par Microsoft de toute la documentation nécessaire pour permettre à d’autre fournisseurs de compilateurs de livrer des versions .NET de leur produit a ouvert la voie à plusieurs implémentations tierces d'autres langages en .NET. on peut citer :  Python : IronPython project,  Pascal : Turbo Delphi for .NET,  Smalltalk: #Smalltalk  Perl: PerlNET  … 14  Un programmeur qui utilise un langage supportant le .NET peut a tout moment utiliser un autre langage .NET qui lui parait approprier à certaines parties de son application.
    • Code C# Code VB.NET Compilateur Common Language Infrastructure Common Intermediate Language Common Language Runtime 0101010101110001100 1100011011000101111 Compilateur Langages compatibles .NET sont compilés en un deuxième langage neutre appelé CIL Le CLR compile le code CIL en code-machine qui peut être exécuté sur la plateforme courante 15
    • MICROSOFT .NET  ASP.NET  Le développement Web est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net: insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client  On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML 16
    • DÉVELOPPEMENT WEB  Les échanges Web se font en mode client-serveur A.Les clients envoient des requêtes  Un client désigne un ordinateur personnel ou un appareil individuel ( téléphone, tablette) sur lequel est exécuté le logiciel client (navigateur) B.Les serveurs attendent les requêtes des clients et y répondent  Le serveur désigne un ordinateur (de grande capacité) sur lequel est exécuté le logiciel serveur 17
    • DÉVELOPPEMENT WEB  Architectures dans l’environnement client-serveur  Architecture centralisée:  Client et serveur sur la même machine  Architecture client-serveur, notée 2-tiers:  Serveur sur une machine distante et les clients peuvent y accéder utilisant un programme client  Exemple: un serveur Web qui contient plusieurs logiciels qui fonctionnent en parallèle: IIS (serveur HTTP), SQL Server(serveur de base de données) et ASP.NET  Architecture 3-tiers:  Un client ( l'ordinateur demandeur de services) équipé d'une interface utilisateur (généralement un navigateur web) chargé de la présentation  Un serveur d'application ( appelé middleware) qui fournit la ressource, mais en faisant appel à un autre serveur  Sur le serveur: serveur HTTP et ASP.NET  Un serveur de données qui fournit au serveur d'application les données requises pour répondre au client  Sur le serveur: SQL Server 18
    • DÉVELOPPEMENT WEB  Eléments intervenants dans une applications Web:  Serveur:  Ordinateur contenant des informations (des pages) consultables à distance.  Identifié par une adresse IP et/ou un nom de domaine (URL)  Serveur HTTP,  IIS (Internet Information Server), Apache, …  Navigateur Web,  Mozilla Firefox, Google Chrome, Internet Explorer, Netscape, …  Protocole de communication  HTTP: Protocole régissant la communication entre les clients et serveurs Web  Il fonctionne en mode client/serveur  Port :80 (en général)  HTTPS: HTTP sécurisé. Utilise le port 443 19
    • DÉVELOPPEMENT WEB  Comment naviguer sur le Web? I. Utiliser un navigateur II. Spécifier une adresse URL  URL: adresse (IP ou nom) d’un serveur (site) Web (HTTP) + adresse d’un ressource sur le site Exemple: http://msdn.microsoft.com/fr- fr/asp.net/centrum-asp-net.aspx III. Le navigateur :  Télécharge le document correspondant à l’URL  Interprète et affiche le contenu 20
    • DÉVELOPPEMENT WEB  Pages statiques  Pages dont le contenu ne change pas  Elles peuvent contenir du texte, des animations flash, de la musique, des vidéo ….  Page dynamique  Des pages Web dont le contenu change suite à une action du visiteur Les pages sont construites « à la volée » à la demande. 21
    • DÉVELOPPEMENT WEB  Pages Web dynamiques  Fonctionnement:  Lors de la consultation d'une page Web dynamique, un serveur HTTP transmet la requête au logiciel correspondant, et ce logiciel se charge de générer et envoyer le contenu de la page  On peut faire appel au CGI (Common Gateway Interface)  Les logiciels générant des pages Web dynamiques sont souvent écrits avec les langages  Coté serveur: ASP.NET, PHP, JSP (Java Server Pages), ASP (Active Server Pages)  Coté client: Silverlight, JavaScript 22
    • DÉVELOPPEMENT WEB  CGI (Common Gateway Interface)  Une interface utilisée par un serveur HTTP pour exécuter un programme résidant sur le serveur  Ce programme génère des pages HTML à la volée à partir du résultat des exécutions  Ce programme permet de:  Récupérer des données à partir d’un formulaire  Effectuer des traitements sur le serveur  Lecture/écriture dans une base de données  Stockage d’informations: compteurs, identifiants, IP, …  Un programme CGI s’exécutant sur la machine hébergeur peut être un fichier binaire (exe, en langage compilé: C, Perl, Python, VB), un script (code interprété: PHP, ASP) ou semi interprété (ASP.NET, JSP) 23
    • PROGRAMMATION WEB AVEC ASP.NET  Outils:  Serveur: IIS (Internet Information Server),  On peut utiliser Apache  Projet Mono  IDE: « Visual Web Developer Express Edition» ou bien «Microsoft Visual Studio »  Il y a d’autres IDE :  QuickSharp , Webmatrix, …  Navigateur: Google chrome, Internet Explorer, Mozilla FireFox  Pré-Requis:  Une bonne connaissance de HTML  Des connaissances de base en C# 24
    • ASP.NET  Vue utilisateur (navigateur) IIS (Internet Information Server) Client Serveur Requéte: http://www.msn.com/default.aspx Réponse: <html>…</html> Réseau Protocole: HTTP TCP/IP PC/Mac/Unix + Navigateur 25
    • ASP.NET: VUE D'ENSEMBLE ET CARACTÉRISTIQUES  ASP.NET fournit des services pour permettre la création, le déploiement et l'exécution des Applications Web et des services Web  Les applications Web sont construites en utilisant les Web Forms  Web Forms sont conçus pour rendre la création d’applications Web aussi facile que la création des applications Visual Basic  Applications sont basées sur le Framework .NET  tout langage de programmation NET peut être utilisé (C #, Visual Basic)  Modèle objet complet  Séparation entre le code et l'interface utilisateur  La gestion des sessions  La mise en cache, débogage, Extensibilité 26
    • ASP.NET  1ére application  Lancer MS Visual Studio (ou bien MS Visual Web Developer)  Menu fichier  Nouveau site Web  Choisir Visual C#  Web  Application ASP.NET  Configurer les informations: Nom, Emplacement (Local, HTTP ou FTP) 27  Dans l’explorateur de solution on aura: – Default.aspx: la page web. Disponible en deux modes d’affichage: « Concepteur de vues » et « Balisage » – Bouton droit sur « Default.aspx » et « Afficher le balisage » ou « Concepteur de vues » – Default.aspx.cs: le code behind (code C# exécuté sur le serveur) – Web.config: fichier de configuration de l’application
    • ASP.NET 1ÉRE APPLICATION  Default.aspx: La directive Page précisant les informations nécessaires à ASP.NET pour traiter ce fichier Les directive ASPX sont entre <%@ et %> La directive DOCTYPE qui précise l'URI pour la DTD, qui définit le vocabulaire XHTML. L'attribut xmlns qui spécifie l'espace de noms XML pour le document. runat="server" indique que ASP.NET traite l'élément et ses éléments imbriqués et génère le code XHTML correspondant 28
    • ASP.NET 1ÉRE APPLICATION  Default.aspx  Si on travaille avec VB.net, la directive Page sera la suivante: <%@ Page Language="vb" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>  Quand AutoEventWireup est en TRUE, ASP.NET traite automatiquement toute méthode dont le nom est Page_eventName comment un événement 29
    • ASP.NET 1ÉRE APPLICATION  Modification:  On peut modifier les propriétés de la page Web de deux manières: <head runat="server"> <title>Ma premiére page ASPX</title> </head> 1. Directement dans le mode balisage 2. Utilisant les propriétés du DOCUMENT 30
    • ASP.NET 1ÉRE APPLICATION  Modification (suite):  Différence entre contrôles ASP.NET et HTML  Ajouter un titre <h2>  Ajouter une étiquette « label » directement dans le code HTML  Ajouter une étiquette à partir de la boite à outils 31 <body> <form id="form1" runat="server"> <div> <h2> le frameWork .net</h2> <label id="LblHTM"> Lable HTML</label> <p> <asp:Label ID="Label1" runat="server" Text="Label ASP" ></asp:Label> </p> </div> </form> </body> – La balise asp indique que l’étiquette est un contrôle ASP.NET et pas un élément XHTML
    • ASP.NET 1ÉRE APPLICATION  Modification  La modification du contrôle ASP.NET est plus simple: fenêtre Propriétés <body> <form id="form1" runat="server"> <div> <h2> le frameWork .net</h2> <label id="LblHTM"> Lable HTML</label> <p> <asp:Label ID="Label1" runat="server" Text="Label ASP" BorderColor="#FF3300" BorderStyle="Dashed" Font-Size="Large" ForeColor="#3366CC"></asp:Label> </p> </div> </form> </body> </html> 32
    • ASP.NET 1ÉRE APPLICATION  Modification (suite):  Code HTML envoyé au client (navigateur): 33
    • <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> Ma premiére page ASPX </title></head> <body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5ZGQcf4hA8Ern83MUMx+7p/3Vl5XGMg==" /> </div> <div> <h2> le frameWork .net</h2> <label id="LblHTM"> Lable HTML</label> <p> <span id="Label1" style="display:inline-block;color:#3366CC;border- color:#FF3300;border-style:Dashed;font-size:Large;">Label ASP</span> </p> </div> </form> </body> </html> Seuls les éléments marqués dans le fichier ASPX avec runat="server" sont modifiés et remplacés dans le XHTML généré Le formulaire contient une balise span pour représenter le texte de l'étiquette ASP.NET «Label1». Les Propriétés de formatage du l’étiquette sont convertis dans l'attribut style de l'élément span. Des composantes Non visuelles sont ajoutées au formulaire , appelées hidden inputs, enregistre les données invisible à l’utilisateur 34
    • ASP.NET 1ÉRE APPLICATION  Code Behind  C’est le code dans lequel on écrira les instructions qui seront exécutées sur le serveur comme, par exemple, récupérer une valeur, changer un attribut dynamiquement, créer un objet ….  Dans la page Defalut.aspx.cs using System; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } 35
    • ASP.NET 1ÉRE APPLICATION  Relation entre un fichier ASPX et le fichier code behind  Le fichier code-behind hérite de Page, qui définit la fonctionnalité générale d'une page web. public partial class _Default : System.Web.UI.Page  Le fichier code-behind contient une classe partielle  La première fois que la page web est demandée, cette classe est compilé et une instance est créée  Cette instance représente notre page – le code XHTML est généré XHTML est envoyé au client  Une fois une instance de la page Web a été créé, plusieurs clients peuvent l'utiliser pour accéder à la page – aucune recompilation est nécessaire. 36
    • ASP.NET 1ÉRE APPLICATION  Evénement  Ajouter un bouton ASP.net  Et ajouter l’événement onclick 37 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text=" Date" /> protected void Button1_Click(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); }  Code ASPX  Code behind ASPX.CS
    • ASP.NET 1ÉRE APPLICATION  Code Behind: using System; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); } } Extrait la date courante et l’affecte à la propriété texte du label ASP.NET 38
    • ASP.NET 1ÉRE APPLICATION  À Faire  Créer une application Web qui simule une calculatrice: somme, soustraction, multiplication et division. 39