introduction asp net.pdf
DESCRIPTION
ASP .NETTRANSCRIPT
-
Introduction ASP.NET 1
14/09/08
Introduction ASP.NET
Sommaire
Introduction............................................................................................................................................ 1
1 Framework ...................................................................................................................................... 2
1.1 Gnral (.NET) ......................................................................................................................... 2
1.2 ASP.NET ................................................................................................................................... 2
2 Prrequis ......................................................................................................................................... 2
3 Prsentation des bases dun projet ASP.NET .................................................................................. 3
3.1 Cration dun projet ................................................................................................................ 3
3.2 Site Web : Les diffrentes mthodes d'accs .......................................................................... 5
3.2.1 Fichier: ............................................................................................................................. 6
3.2.2 FTP: .................................................................................................................................. 6
3.2.3 HTTP: ............................................................................................................................... 6
3.3 Les en-ttes / directives ........................................................................................................... 6
3.4 Behind ...................................................................................................................................... 7
3.5 Using / Import ......................................................................................................................... 9
4 Comprendre le fonctionnement dune requte .............................................................................. 9
4.1 Les intervenants et leur dialogue ............................................................................................ 9
4.2 Rle du navigateur (client) .................................................................................................... 10
4.3 Rle du serveur ...................................................................................................................... 10
4.4 HyperText Transfer Protocol ................................................................................................. 10
5 La configuration ............................................................................................................................. 11
5.1 Accueil ................................................................................................................................... 11
5.2 Scurit .................................................................................................................................. 12
5.2.1 Authentification ............................................................................................................. 13
5.2.2 Rles ............................................. Erreur ! Signet non dfini.Erreur ! Signet non dfini.
5.2.3 Rgles de scurits ....................... Erreur ! Signet non dfini.Erreur ! Signet non dfini.
5.3 Application ............................................ Erreur ! Signet non dfini.Erreur ! Signet non dfini.
5.4 Fournisseur ........................................... Erreur ! Signet non dfini.Erreur ! Signet non dfini.
-
Introduction ASP.NET 2
14/09/08
Vous allez suivre un cours sur le dveloppement en ASP.NET. Ce premier document expliquera les
bases du Framework. Le logiciel et les connaissances ncessaires pour suivre le cours sont considrs
comme acquis.
1 Framework
1.1 Gnral (.NET) Un Framework est, en gnral, un espace de travail modulaire o lon trouve des bibliothques et
des conventions / rgles de dveloppement qui vont permettre un dveloppement normalis dune
application (dans notre cas application Web). Il permet ainsi un dveloppement plus rapide, plus
performant et facile maintenir ceci grce une implmentation de fonctionnalits rcurrentes (par
exemple gestion de fentres, communication une base de donnes .).
Dans le cas du Framework .NET, le code est compil en langage MSIL. Cela entraine une amlioration
de la rapidit dexcution. Tout langage qui se compile en MSIL (le MSIL tant un langage
intermdiaire avec le langage machine) peut tre utilis pour faire du .NET. Le premier langage
dvelopp exclusivement pour le .NET est le C#, le Visual Basic de Microsoft aillant t port .NET un
peu aprs. Plus tard ont t ports le java, le C++, le cobol, le python
1.2 ASP.NET Le Framework .NET possde un ensemble de fonctionnalits ddies la cration et la
gestion de sites Web. Cest le Framework qui interprte lASP.NET. LASP.NET permet de crer des
sites Web dynamiques. Ainsi chaque page peut tre unique et afficher des informations spcifiques
lutilisateur. ASP.NET est IIS ce que PHP est apache cest dire un moyen de coder la partie
logicielle au site.
LASP.NET permet la sparation des couches. La mthode des couches est trs employe en
entreprise pour permettre une meilleure organisation du code. Il est ainsi plus facile de le faire
voluer, de le maintenir et de le corriger. Cela consiste isoler dans des dossiers / fichiers les
couches, on appelle cela larchitecture n-tiers. Lorganisation la plus utilis est larchitecture 3-tiers :
il y a une partie daccs aux donnes, la partie mtier applicative (des fonctions et des classes) et la
partie interface.
2 Prrequis Pour satisfaire vos besoins logiciels, nous vous suggrons lutilisation de Visual Web Developer
Express Edition (http://www.microsoft.com/express/vwd/).
Il y a dautres IDE qui ne sont pas bass sur Visual Studio et qui permettent le dveloppement en .NET
Pour utiliser Visual Studio il faut avoir au moins 2 Go despace libre, un potentiel de 150Mo de
mmoire vive utilisable et nous vous recommandons une rsolution au moins gale 1024*768, un
Windows (2000, XP, Serveur 2003, Vista, Serveur 2008).
-
Introduction ASP.NET 3
14/09/08
Mme si parfois nous r aborderons brivement des bases si nous trouvons cela pertinent,
nous admettons que vous connaissez le HTML et les concepts de la programmation oriente objet.
Lorsque du code vous sera fourni, il le sera dans deux langages diffrents : en C# et en VB.NET. Pour
que vous puissiez suivre ce cours si vous ntes pas au niveau, voici quelques liens qui vous aideront.
http://jlambert.developpez.com/tutoriels/dotnet/motsclescsharp/ => Les mots clef du C#
http://plasserre.developpez.com/vsommair.htm => Cours sur le VB.NET
3 Prsentation des bases dun projet ASP.NET
3.1 Cration dun projet Nous allons expliquer comment ouvrir un nouveau projet dans Visual Studio 2008.
Une fois dans Visual Studio, faites Fichier > Nouveau > Projet.
Cration dun projet
Vous arriverez alors sur une fentre comme celle l :
-
Introduction ASP.NET 4
14/09/08
Fentre pour la cration dun nouveau projet
1 : Choisir le Framework souhait (dans notre cas 2.0).
2 : Choisir son langage (VB.NET ou C#) et cliquer sur Web.
3 : Vrifier que Application Web ASP.NET est bien slectionn.
4 : Entrer un nom de projet, choisir son emplacement et le nom de la solution (gnralement on met
le mme nom de solution que celui du projet).
5 : Cliquer sur Ok en bas droite
Et voil vous venez de crer votre premier projet.
-
Introduction ASP.NET 5
14/09/08
Page ASPX dun projet par dfaut
3.2 Site Web : Les diffrentes mthodes d'accs Le dbut de la procdure tant commune pour tous les sites web quelle que soit sa mthode
d'accs : Fichier > Nouveau > Site web, vous arrivez sur cette fentre (Les utilisateurs de Visual
Studio 2005 nauront pas le champ 1):
Cration dun site Web
Le champ 1 vous permet de choisir le Framework .NET cible, vous pouvez choisir le langage que vous
utiliserait pour coder la partie dynamique (typiquement VB ou C#). Par la suite nous vous montrerons
tous les cas possibles pour le cadre 2.
-
Introduction ASP.NET 6
14/09/08
3.2.1 Fichier:
La cration dun site web explique auparavant (dans le 3.1) est la plus optimise et la plus
facile partager, le code y est prcompil et moins tal dans l'arborescence.
3.2.2 FTP:
Pour faire un site distant, on peut utiliser un accs ftp dans Visual Studio, ainsi le site est
directement publi sur le serveur ce qui permet de faciliter les changements.
Il faut que le serveur FTP soit dj existant et accessible par adresse IP ou nom de domaine. Pour y
accder il suffit de complter la premire fentre comme suit :
Configuration pour utiliser un FTP ( distance)
Renseignez le nom de domaine ou ladresse IP de votre serveur FTP.
Lors de la premire connexion, vous rencontrez cette fentre de connexion :
Fentre de connexion un FTP
Cocher le mode passif (1) permet de nutiliser que le port principal, utile dans le cas o le port en-
dessous de celui utilis pour faire passer la donne est bloqu par un routeur ou un firewall.
Si vous dcochez louverture de session anonyme (2), vous pouvez insrer vos authentifiants pour
bnficier de vos droits sur le serveur.
3.2.3 HTTP:
Pour faire un site distant sur un serveur en passant par le protocole HTTP il est ncessaire
que le serveur soit local ou qu'il ait les extensions "Front Page Server".
Il faut que le serveur http soit dj existant et accessible par adresse IP ou nom de domaine. Pour y
accder, il suffit de complter la premire fentre comme suit:
-
Introduction ASP.NET 7
14/09/08
Configuration pour utiliser le protocole http (un serveur distance)
Entrez ladresse DNS ou lIP du serveur la place de ladresse http.
3.3 Les en-ttes / directives Le Doctype est exactement le mme quen HTML (que vous devez dj connaitre je le
rappelle). Il ressemble cela :
Cest la ligne qui dfinit quelle version du HTML vous allez utiliser. Vous pouvez la changer
exactement comme en HTML.
LASP.NET a aussi sa ligne qui dfinit certains paramtres et qui ressemble par dfaut ce
qui suit (en C#) :
On appelle ceci une directive (plus prcisment, il sagit ici de la directive Page).
Il y est indiqu que nous allons utiliser le C# comme langage (Language="C#"), que le nom
de la page du code behind, correspondant cette page .aspx, sappelle Default.aspx.cs
(CodeBehind="Default.aspx.cs").
Est aussi dfinit le namespace et le nom de la classe li la page
(Inherits="NouveauProjet._Default").
Nous verrons dans un autre chapitre quoi sert AutoEventWireup="true".
Remarque : En VB.NET la directive ressemble ceci (exactement la mme chose sauf le langage qui
change) :
3.4 Behind Le code behind est le code dans lequel on crira les instructions qui seront excutes sur le
serveur comme, par exemple, rcuprer une valeur, changer un attribut dynamiquement, crer un
objet .
On remarque dans lexplorateur de solution quune page web par dfaut a t cre (Default.aspx) et
que si lon droule larborescence il y a deux autres pages qui y sont lies : le designer et une autre
-
Introduction ASP.NET 8
14/09/08
page Default.aspx.cs (sinon faire un clic droit sur la page ASPC et faire "Afficher le code" pour accder
Default.aspx.cs).
Lexplorateur de solution
Default.aspx.designer.cs contient du code behind gnr automatiquement, pour linstant nous nen
parlerons pas.
Default.aspx.cs contient le code behind que vous allez crire. Voyons un peu quoi il ressemble.
Pour cela double-cliquez dessus. Vous verrez ceci :
Le code behind
Nous voyons donc plusieurs lignes (en haut du fichier) avec des using que nous verrons dans la partie suivante de ce module. Le reste de la page est englob dans le namespace NouveauProjet. Dans celui-ci se trouve la classe _Default hritant de System.Web.UI.Page qui correspond la page
aspx (rappelez-vous la page ASPX est li au code behind) : public partial class _Default : System.Web.UI.Page
-
Introduction ASP.NET 9
14/09/08
Voici ce que lon retrouve dans la page ASPX :
Ceci est exactement le mme que celui vu dans la partie sur les en-ttes. Ce qui nous intresse
maintenant est le Inherits : il dfinit que la page hrite de la classe _Default qui se trouve dans
le namespace NouveauProjet.
3.5 Using / Import Les using / import permettent de dfinir un espace de noms (namespace) qui seront utilis
plus tard dans notre code pour faciliter lappel dune classe, mthode etc ou encore permettre de
crer des alias par rapport un espace de noms. Nous passons rapidement sur cette partie car nous
lexpliquerons bien plus en dtails dans le chapitre 3.
4 Comprendre le fonctionnement dune requte Il est important de comprendre le rle dun serveur, dun navigateur et du protocole HTTP avant
de commencer le dveloppement. Nous allons voir une discussion typique entre le serveur Web
et le navigateur par le biais du protocole HTTP. Pour mieux comprendre nous dcrirons plus en dtail
le rle du serveur Web ainsi que celui du navigateur. Nous verrons aussi ce quil faut savoir sur le
protocole HTTP.
4.1 Les intervenants et leur dialogue Voyons rapidement comment fonctionne une requte. Tout cela sera dtaill dans les parties
suivantes (les rles et le HTTP).
Cycle dune requte avec un serveur Web
- Le navigateur envoie une requte pour accder aux ressources du serveur Web (rcupre
une page, envoie de donnes ). Cette requte est envoye par le biais de la mthode GET et
dans le cas de donnes elles sont passes par mthode POST.
- Le serveur Web reoit et excute la requte.
-
Introduction ASP.NET 10
14/09/08
- Il renvoie ensuite la rponse au navigateur.
- Le navigateur reoit la rponse. Il la traite et laffiche.
- L'utilisateur lit, donne des informations au navigateur, interagit avec la page (clique sur un lien, remplit un formulaire ).
Nous venons de voir que les deux intervenants lors du dialogue sont la personne qui va
demander une page au serveur (et plus exactement son navigateur), que nous nommerons client ,
et le serveur qui va rceptionner et rpondre la requte. Une requte est une demande daccs aux
ressources dun serveur que ce soit pour demander une page Web ou pour envoyer des
informations. Chaque requte et rponse du serveur utilise le protocole HTTP.
Voyons maintenant plus en dtail le rle des deux intervenants et le protocole HTTP.
4.2 Rle du navigateur (client) Le rle dun navigateur est de rcuprer et de traiter les donnes envoyes par le serveur. Il va
excuter le code qui doit tre comme le Javascript et afficher le rsultat lcran de lutilisateur. Du
fait quil existe une grande diversit de navigateurs, la gestion des codes excuter et laffichage ne
se feront pas de la mme manire sur chacun dentre eux (par exemple le Javascript ne sera pas
support pareil, il en va de mme pour les feuilles de style CSS).
Il va ensuite recueillir les donnes entres par lutilisateur (lorsquil remplit un formulaire entre
autres) et envoyer ces donnes au serveur pour quil les traite.
4.3 Rle du serveur Le serveur reoit et rcupre les requtes qui lui sont envoyes. Il va ensuite les traiter : la
requte peut tre la demande daffichage dune page ou lenvoi de donnes telles que celles dun
formulaire. Il va excuter la page ASPX correspondante et retourner le rsultat. Il est important de
savoir que ce que retourne le serveur ne contient pas dASP.NET mais du HTML, CSS, Javascript ...
4.4 HyperText Transfer Protocol HTTP est un protocole de communication textuel utilis entre les navigateurs et les serveurs. Il
utilise le port 80. Il existe aussi un protocole plus scuris et chiffr : lHTTPS qui lui utilise le port
443.
Nous allons voir les mthodes que ce protocole utilise pour communiquer les donnes mais aussi les
diffrents statuts de la requte et le MIME.
4.4.1 Les mthodes HTTP
Les mthodes HTTP sont les mthodes utilises pour passer les donnes entre le serveur et le
navigateur.
HTTP mthode Description ou quand lutiliser
Head Il contient les informations comme le navigateur utilis, la page de provenance, le systme dexploitation utilis
-
Introduction ASP.NET 11
14/09/08
4.4.2 Les codes de statuts des requtes
On va voir les codes de statuts de deux manires diffrentes : la premire en groupe, la seconde avec
des codes plus prcis.
Codes de statuts (groupe) Description
1XX Requte reue, processus en cours.
2XX Succs : laction a bien t reue, comprise et accepte.
4XX Erreur client : La requte comporte une erreur de syntaxe ou le serveur narrive pas satisfaire la requte.
5XX Erreur serveur : Le serveur narrive pas satisfaire une requte qui semble tre valide.
Les X reprsentent un chiffre entre 0 et 9.
Codes de statuts Description
100 Continue
200 Ok
201 Cr
400 Mauvaise requte
401 Non autoris
403 Interdit
404 Non trouv
408 Dlais de requte dpass
501 Non implment
4.4.3 Le MIME Le MIME permet de dfinir le type du fichier, on trouve 4 grands types de donnes: texte, image,
son et application.
- Texte: Il peut tre affich par le navigateur : XML, texte simple, page HTML il peut contenir diffrentes donnes. - Image: Les plus communs sont jpg, png, gif, les navigateurs peuvent dsactiver les images ou tre en mode texte. - Son: Ncessite une sortie son active. - Application: Fichier binaire interprter par un logiciel tierce ou excutable.
5 La configuration
La configuration se fait dans un fichier XML appel Web .config, les attributs et lorganisation de la
structure ntant pas inne, nous avons notre disposition des interfaces permettant de modifier la
configuration du site.
Get Permet denvoyer des donnes par ladresse url (visible dans ladresse en clair)
Post Permet denvoyer des donnes par les http Headers
-
Introduction ASP.NET 12
14/09/08
Configuration dun projet
Cela ouvre un serveur Web avec un site qui permet la configuration, voici linterface et les options
quelle propose.
5.1 Accueil
Page daccueil du site dadministration pour la configuration
Les liens des onglets sont en redondance avec la page daccueil, cette page mentionne le
nom de lapplication, le nom de lutilisateur actuel et permet donc un accs direct chaque page.
-
Introduction ASP.NET 13
14/09/08
1 : Vous permet de revenir laccueil.
2 : Vous mne la page de gestion des utilisateurs, rles et rgles de scurit.
3 : Vous permet de configurer le serveur mail, les paramtres dapplication et le debug.
4 : Vous propose de configurer des accs des bases de donnes.
5.2 Scurit La page de gestion de la scurit est une interface simple qui permet de grer lauthentification, les
rles et les rgles daccs.
Configuration de la scurit
5.2.1 Types dauthentification
Il y a deux types dauthentification, celle par le rseau Windows (utile pour les solutions
dentreprises) qui permet de ne pas avoir se loguer sur chaque site de lentreprise et de ne pas
avoir implmenter la gestion de lauthentification nous-mme. En revanche il faut ncessairement
tre sur un rseau local ou VPN avec des postes clients sous Windows.
Lautre type est lauthentification internet o les utilisateurs sont dans la base de donnes.
Pour changer le type dauthentification vous pouvez cliquer sur le lien 1 et slectionner le type
dauthentification puis valider avec le bouton Terminer en bas droite.
5.2.2 Rles
Les rles servent grer les droits par groupe. Si vous souhaitez grer des droits il est recommand
dutiliser des rles pour faciliter la maintenance et les amliorations, cela permet de faire des rgles
sur des groupes plutt que sur chaque personne.
Commencez par activer les rles (lien 2) :
-
Introduction ASP.NET 14
14/09/08
Gestion des rles
Puis allez sur linterface suivante (Crer ou grer des rles) :
Cration dun nouveau rle
Dans la TextBox vous pouvez mettre le nom du rle crer puis cliquer sur le lien, ensuite vous
pouvez grer les rles pour y ajouter des utilisateurs qui rpondront aux rgles de scurit du
groupe.
5.2.3 Rgles de scurits
Les rgles de scurit sont une manire de restreindre des parties de larborescence des
utilisateurs, des rles (ou groupes), lensemble des personnes ou lensemble des authentifis.
Gestion des rgles de scurit
Pour utiliser cette interface vous devez slectionner les droits, lutilisateur, le dossier puis un bouton
apparaitra pour pouvoir valider.
-
Introduction ASP.NET 15
14/09/08
Fentre de gestion de la scurit
Une fois les rgles cres vous pouvez les organiser (grce aux boutons Monter et
Descendre ), la rgle la plus haute dans cette liste est prioritaire en cas de conflit.
5.3 Application
Gestion des paramtres de lapplication
-
Introduction ASP.NET 16
14/09/08
Les paramtres de lapplication peuvent tre paramtrs par le lien 1, ils entrent dans un dictionnaire
global qui va chercher ses donnes et ses clefs dans le web.config. Le dictionnaire est une variable
associant chaque clef une donne. Nous reparlerons plus en dtails des dictionnaires plus tard.
Pour accder un paramtre dapplication nomm "param" dans le code, il faut lappeler comme
suit : ConfigurationManager.AppSettings("param")
Le lien 2 permet de configurer un serveur mail (SMTP) accessible depuis un client mail quelconque.
Le lien 3 permet de diffuser ou non le site sur le rseau.
Le lien 4 sera dtaill dans la partie sur le debug et le traage.
Le lien 5 dfinit une page de redirection par dfaut en cas derreur au lieu de laisser aux visiteurs la
possibilit de lire des extraits de sources, des messages derreurs explicites ou pas forcment
rassurant pour les novices.
5.4 Fournisseur Ce menu vous permet dajouter et de configurer des bases de donnes locales ou distantes.
Gestion des fournisseurs
Nous approfondirons lajout des bases de donnes lorsque nous aborderons ADO.NET.