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
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>
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 ">
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 -
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.