Vous êtes sur la page 1sur 13

ASP

Etape par tape





1re partie : Introduction asp.NET











(Rvision : 2 du 05/11/2004 13 pages)



Avertissement :

Ce document peut comporter des erreurs. Cependant, tout a t mis en uvre afin de ne
pas en inclure dans ce texte. Tout code qui trouve sa place ici a t test au pralable.

|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 2 -

Tables des matires :




Table des matires 2


Bibliographie 3


Pr Requis 4


WebMatrix 5


Prsentation ASP.NET 6


Architecture Client / Serveur 7


Structure gnrale dune page en asp.NET 9


Script de traitement (c# ) 10


Syntaxe d'un WebForm asp.NET 11


Excution et appel de fonctions dans une page web 11


Quelques mots sur le tome 2 13




ASP .N|I : |tape par etape 1
ere
partle
- 3 - dltch.deve|oppez.com/aspnet/lntroductlon

Bibliographie


Grard Leblanc, c# et .NET, ed. Eyrolles

MSDN




































Copyright 2004 Danse Didier. Aucune reproduction, mme partielle, ne peut tre faite de ce site et
de lensemble de son contenu : textes, documents, images, etc sans lautorisation expresse de lauteur.
Sinon vous encourez selon la loi jusqu 3 ans de prison et jusqu 300000 de dommages et intrts.
|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 4 -

Au travers de cette srie de documents, nous allons apprendre crer
une page en ASP (Active Server Page) bas sur la technologie .NET. Mais
quest ce donc que .NET ? Nous sommes peine la fin de la deuxime ligne
et dj quelques personnes se sentent droutes. Cest pourquoi, nous allons
essayer dtre le plus progressif possible.


Pr requis


Le langage utilis dans ce document pour le code des traitements sera
C# . Il existe dautres langages tels que VB.NET et delphi.NET. Nous nen
parlerons que trs peu ici.

Apprendre ASP.NET est ici notre but principal, cest pourquoi, il est
prfrable davoir des bases de C# (langage choisi dans le cadre de ces
tutoriaux) et dhtml principalement (qui est ncessaire la cration de pages
web).

Rm di Scala parle trs bien du c# dans son document Le langage c# ,
les premiers pas. Il existe galement un autre document sur les bases du c# ,
comprenant des exercices, crit de nouveau par Rm di Scala. Si une
information manque vos yeux dans ces documents , peut tre se trouve-t-
elle dans la Foire Aux Questions .NET.

Pour ce qui est de lapprentissage de lhtml, je vous renvoie vers
http://cyberzoide.developpez.com/html/.

Il est galement avantageux de connatre le JavaScript mais cela nest
pas indispensable. Nous nen parlerons pas donc dans ces documents.

De plus il est intressant davoir regarder les diffrents menus de
lutilitaire que nous allons utiliser pour dvelopper nos pages web. Il sagit de
WebMatrix. En voici une petite prsentation
ASP .N|I : |tape par etape 1
ere
partle
- 5 - dltch.deve|oppez.com/aspnet/lntroductlon
WebMatrix


Dapparence et dutilisation forts semblables Visual Studio .NET,
Webmatrix est un utilitaire dvelopp dans le but de permettre chacun de
crer son site web en .NET.

Pourquoi utiliser cet outil qui ne permet la cration que de site web
alors quil existe VS.NET ? Pour la simple raison que WebMatrix est gratuit !
Ainsi, tout le monde peut dvelopper son site web sans devoir possder un
outil de dveloppement aussi puissant. Pour le tlcharger, rien de plus
simple : il suffit de cliquer sur le lien suivant : WebMatrix.

Par ailleurs, un autre gros avantage apparat si vous utilisez Windows Xp
Home. Effectivement, Internet Information Service, le serveur web inclus dans
Microsoft Xp Pro, nest pas install sur ce type de systme dexploitation.
WebMatrix permet dexcuter un serveur afin de voir les pages asp.NET.

Effectivement, il possde son propre serveur pour asp.NET qui permet
dexcuter ses pages de manire locale. Ainsi, il est possible tous de tester
ses pages sans mme une connexion internet.

De plus, Visual Studio .NET travaille sous forme de projets, ce qui est
assez droutant pour le dbutant car toute une srie de fichiers sont crs.
Ce nest pas le cas avec WebMatrix. A une page cre, un seul fichier est
associ.

Aprs avoir prsenter WebMatrix en quelques mots, nous allons pouvoir
rellement entrer dans le vif du sujet et voir comment crer notre page.


|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 6 -
Prsentation de asp.NET


Asp.NET est bas sur la technologie .NET. Il permet la programmation
dapplications Web dynamiques, du ct du serveur. Les navigateurs Web,
laide de pages au format html, servent donc dinterface entre lapplication
.NET et lutilisateur.

Contrairement asp, o le code tait inclus directement dans la partie
html, asp.NET est un langage compil. Pour plus dexplications, je vous
renvoie au Mmoire sur .NET.

La partie html (interface) et la partie c# (traitements) peuvent ainsi tre
spares au sein dun mme fichier ou mme dans des fichiers diffrents. Il
est ainsi possible, pour un designer web, de mettre en forme une page web
sans pour cela connatre le langage c# . Linverse est galement vrai.

Ainsi, il est possible de travailler de manire spare et davoir des
personnes spcialises pour chaque partie de la page. Il suffit de connatre
linterface entre le code et ce qui est affich, cest dire le nom des
WebForms (nous verrons ce quest un webform un peu plus loin dans ce
tutorial). Ceci est un gros avantage dasp.NET.

Il est important de comprendre le fonctionnement de larchitecture
client/serveur pour dvelopper dans cette architecture. Cest la raison pour
laquelle nous allons voir cette architecture de manire schmatise.

ASP .N|I : |tape par etape 1
ere
partle
- 7 - dltch.deve|oppez.com/aspnet/lntroductlon
Architecture Client/Serveur










































1
er
appe| ?
<<Serveur supportant |'asp.N|I>>
<<C|lent {rowser)>>
N0N
0U|
Demande
Reponse
Compl|atlon
NS.|.|.
Htm|
|tecutlon lavaScrlpt
Paqes .htm|

Paqes .aspt

User Contro|s .asct

Paqes .htm| avec scrlpt lavaScrlpt

|eul||es de sty|e .css

|eul||es .tm|

Paqes .htm| avec scrlpt lavaScrlpt sl
present. || s'aqlt du seu| |anqaqe comprls
par tous |es browsers Web.
Aucun
chanqement ?
N0N
0U|
|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 8 -

Lors dune demande venant dun navigateur arrive au serveur, ce
dernier vrifie si la page a dj t compile. Si cest le cas, la page, dj au
format html est envoye au navigateur du client. Dans le cas contraire, la
page est la page au format asp.NET est dabord compile au format M.S.I.L.,
MicroSoft Intermediate Language, langage qui est gnr lors de tout appel
des fichiers .NET (de nouveau, le Mmoire sur .NET permet de rpondre
certaines questions), ensuite, la page est gnre au format html.

Cette page peut contenir des scripts utilisant des langages utiliss du
ct du client. La particularit de tels scripts est de ne pas devoir effectuer
de retours serveur et ainsi limiter les changes. Cependant nous nen
parlerons pas ici.

Nous allons dsormais entrer dans le vif du sujet

ASP .N|I : |tape par etape 1
ere
partle
- 9 - dltch.deve|oppez.com/aspnet/lntroductlon
Structure gnrale dune page asp.NET


Une page asp.NET possde une extension .aspx. Nous verrons comment
il est possible de sparer le code de la partie interface dans un prochain
tome (rubrique Code-Behind).

Cette page a la forme gnrale suivante :


<head>
<script language= "c#" runat="server">
type fct (type i) { }
</script>
<script language= "javascript">
function f ;
</script>
</head>
<body>
<table>

</table>
<asp :Label [Proprits]></asp :Label>
<% =fct(5) %>
</body>


Plusieurs points peuvent ressortir de cette page-type . On peut les
sparer en trois parties.

La premire partie fait apparatre les scripts. Effectivement, on
remarque que du c# et du javascript cohabitent dans la mme page. En
quelques lignes, nous verrons ce quil est possible de mettre dans les balises
de ce type.

La deuxime, permet de montrer que le code html est identique au
code html dune page web statique.

Et la dernire montre les balises qui droutent le plus le non initi, cest
dire <asp :> et <% %>

Il sagit en fait de, respectivement, la balise douverture pour un
WebForm asp.NET et dune balise de fonction. Nous allons les dtailler
quelque peu.

|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 10 -
Script de traitements (c#)


Tout script crit en c# pour asp.NET doit se trouver entre les balises
suivantes


<script language= "c# " runat= "server ">

</script>


Le tout doit se trouver entre la balise html ouvrante <head> et celle
fermante </head>.

Si lon avait utilis un autre langage tel que VB.NET, on aurait eu


<script language= "VB.NET " runat= "server ">

</script>


Nous allons maintenant dtailler ce qui se trouve dans ces balises.

La proprit language permet de dclarer le langage dans lequel le
script est crit. Dans le premier cas, et ce sera dailleurs comme cela au sein
de ces tutoriaux, il sagit de c#. Par page .aspx, on ne peut dfinir quun seul
langage .NET pour le script.

Il nest possible davoir dans une page asp.NET quun seul langage
utilisant la technologie .NET, ainsi
<script language= "c# " runat= "server ">

</script>
<script language= "VB.NET " runat= "server ">

</script>
nest pas valide.

La valeur "server" assigne la proprit runat signale que le script doit
sexcuter sur le serveur dapplication. Le navigateur client ne recevra que
du code html.

Entre les balises <body> et </body>, nous allons trouver les balises
suivantes : <form runat= "server "> et </form> qui signifient que nous utilisons
un formulaire qui doit tre trait par le serveur. Effectivement, le client ne doit
recevoir que du code html, le seul code compris par tous les navigateurs. Les
balises <asp : seront donc traites avant lenvoi de la page html.
ASP .N|I : |tape par etape 1
ere
partle
- 11 - dltch.deve|oppez.com/aspnet/lntroductlon
Syntaxe d'un WebForm asp.NET


Tout dabord, nous allons rpondre la question que lon se pose en
voyant le titre: quest ce quun WebForm ? . Il sagit dun contrle qui se
trouve du ct serveur et qui est donc manipul par les scripts de traitement.
Il nest pas visible du ct du client puisque la page que celui-ci reoit ne
contient que du html.

Pour insrer un WebForm asp.NET, nous utiliserons soit <asp : /> , soit
<asp :Type [Proprits]>

</asp :Type>
suivant la nature de celui-ci. Nous verrons dans le tome 2 lequel choisir et
pourquoi il existe ces deux syntaxes.

Tous les webforms ont des proprits qui sont identiques. Nous les
verrons galement dans le tome 2. Ensuite, nous verrons dans le dtail
chacun des webforms dits simples.


Excution et appel de fonctions dans une page Web


Il est possible dappeler du code directement dans une page web.
Ainsi on peut trouver au sein dune page web ceci


<body>
<form runat="server ">

<h2> Date du jour : <% =DateTime.Now.ToString() %> </h2>

</form>
</body>


Ce qui donnera l'affichage:



On peut galement appeler des fonctions personnelles par cette
mthode.

Dans ce cas, il suffit, dans la balise <% %> de mettre
=Nom_Fonction().

Voici un exemple qui y correspond :
|ntroductlon a asp.N|I ASP .N|I : |tape par etape
dltch.deve|oppez.com/aspnet/lntroductlon - 12 -


<head>
<script language= "c#" runat= "server">
string Demain()
{
DateTime Jour=DateTime.Now ;
Jour=Jour.AddDays(1) ;
return Jour.ToString() ;
}
</script>
</head>
<body>
<form runat="server">

Date du jour : <% =DateTime.Now.ToString() %><br>
Date de demain : <% =Demain() %>

</form>
</body>


Qui donne:



Le rsultat sera le mme si l'on excute du code directement dans le
code html. Cependant il est avantageux de sparer html et c# afin de
clarifier le code de notre page.

Pour faire cela, il suffit de remplacer la fonction par le code
proprement dit.


<head>
</head>
<body>
<form runat="server">

Date du jour : <% =DateTime.Now.ToString() %><br>
Date de demain :
<%
DateTime Jour=DateTime.Now ;
Jour=Jour.AddDays(1) ;
Response.Write(Jour.ToString()) ;
%>

</form>
</body>
ASP .N|I : |tape par etape 1
ere
partle
- 13 - dltch.deve|oppez.com/aspnet/lntroductlon
Quelques mots sur le tome 2


Pour gnrer des pages qui contiennent des informations qui peuvent
varier, comme cest le cas pour des sites dachats ou encore des forums, on
utilise la programmation ct serveur laide de scripts tels que ceux dont on
vient de parler. On peut videmment trouver dautres utilisations la
programmation web dynamique. Dans les tomes suivants, il sagira de grer
linscription dun utilisateur, de modifier ses donnes et deffectuer dautres
oprations le concernant.

Au travers du tome 2, nous allons progressivement crer une page
douverture dun compte pour un site quelconque.

Mais avant de passer au tome 2, je tiens remercier David Pdehourcq
qui ma soutenu et aid llaboration de ce premier tutorial.

Vous aimerez peut-être aussi