SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Module 1 introduction au développement web avec visual studio 2012
Module 1   introduction au développement web avec visual studio 2012Module 1   introduction au développement web avec visual studio 2012
Module 1 introduction au développement web avec visual studio 2012Mohammed Amine Mostefai
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Cours javascript
Cours javascriptCours javascript
Cours javascriptkrymo
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 

Tendances (20)

Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Module 1 introduction au développement web avec visual studio 2012
Module 1   introduction au développement web avec visual studio 2012Module 1   introduction au développement web avec visual studio 2012
Module 1 introduction au développement web avec visual studio 2012
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Cloud_2022.pdf
Cloud_2022.pdfCloud_2022.pdf
Cloud_2022.pdf
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours javascript
Cours javascriptCours javascript
Cours javascript
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 

En vedette

Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données répartiesAbdelouahed Abdou
 
Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)Abdelouahed Abdou
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CAbdelouahed Abdou
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'imagesAbdelouahed Abdou
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Abdelouahed Abdou
 
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open Source
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open SourcePrésentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open Source
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open SourceAfrica Performances
 

En vedette (11)

Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
 
Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Introduction à pl/sql
Introduction à pl/sqlIntroduction à pl/sql
Introduction à pl/sql
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open Source
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open SourcePrésentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open Source
Présentation de OpenERP/Odoo: Progiciel de Gestion Intégré Open Source
 

Similaire à Introduction à ASP.NET

Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp FrGregory Renard
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NETBantu Hub
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisationSébastien Letélié
 
Le développement d&rsquo;un Composant WinRT
Le développement d&rsquo;un Composant WinRTLe développement d&rsquo;un Composant WinRT
Le développement d&rsquo;un Composant WinRTMicrosoft
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Microsoft
 
resume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfresume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfFootballLovers9
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharpSDFG5
 
La plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsLa plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsMicrosoft
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfbenfifiaymen36
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti Imen Naés
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreMicrosoft
 

Similaire à Introduction à ASP.NET (20)

Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp Fr
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NET
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisation
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Le développement d&rsquo;un Composant WinRT
Le développement d&rsquo;un Composant WinRTLe développement d&rsquo;un Composant WinRT
Le développement d&rsquo;un Composant WinRT
 
43_pps.pdf
43_pps.pdf43_pps.pdf
43_pps.pdf
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
resume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfresume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdf
 
Framework .net overview
Framework .net overviewFramework .net overview
Framework .net overview
 
Dotnet csharp
Dotnet csharpDotnet csharp
Dotnet csharp
 
Architecture .NET
Architecture .NETArchitecture .NET
Architecture .NET
 
La plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsLa plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nuls
 
Windev
WindevWindev
Windev
 
Architecture android
Architecture androidArchitecture android
Architecture android
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
 

Dernier

Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 

Dernier (18)

Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 

Introduction à ASP.NET

  • 1. INTRODUCTION À PRÉPARATION À LA CERTIFICATION MCPD 70-562 2012/2013 Abdelouahed sabri abdelouahed.sabri@gmail.com
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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.
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. ASP.NET 1ÉRE APPLICATION  Modification (suite):  Code HTML envoyé au client (navigateur): 33
  • 34. <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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. ASP.NET 1ÉRE APPLICATION  À Faire  Créer une application Web qui simule une calculatrice: somme, soustraction, multiplication et division. 39