introduction asp net.pdf

16
Introduction ASP.NET 1 14/09/08 Introduction ASP.NET Sommaire Introduction............................................................................................................................................ 1 1 Framework ...................................................................................................................................... 2 1.1 Général (.NET) ......................................................................................................................... 2 1.2 ASP.NET ................................................................................................................................... 2 2 Prérequis ......................................................................................................................................... 2 3 Présentation des bases d’un projet ASP.NET .................................................................................. 3 3.1 Création d’un projet ................................................................................................................ 3 3.2 Site Web : Les différentes méthodes d'accès.......................................................................... 5 3.2.1 Fichier: ............................................................................................................................. 6 3.2.2 FTP: .................................................................................................................................. 6 3.2.3 HTTP: ............................................................................................................................... 6 3.3 Les en-têtes / directives ........................................................................................................... 6 3.4 Behind...................................................................................................................................... 7 3.5 Using / Import ......................................................................................................................... 9 4 Comprendre le fonctionnement d’une requête.............................................................................. 9 4.1 Les intervenants et leur dialogue ............................................................................................ 9 4.2 Rôle du navigateur (client) .................................................................................................... 10 4.3 Rôle du serveur...................................................................................................................... 10 4.4 HyperText Transfer Protocol ................................................................................................. 10 5 La configuration............................................................................................................................. 11 5.1 Accueil ................................................................................................................................... 11 5.2 Sécurité .................................................................................................................................. 12 5.2.1 Authentification............................................................................................................. 13 5.2.2 Rôles ............................................. Erreur ! Signet non défini.Erreur ! Signet non défini. 5.2.3 Règles de sécurités ....................... Erreur ! Signet non défini.Erreur ! Signet non défini. 5.3 Application............................................ Erreur ! Signet non défini.Erreur ! Signet non défini. 5.4 Fournisseur ........................................... Erreur ! Signet non défini.Erreur ! Signet non défini.

Upload: ramygarali

Post on 18-Dec-2015

87 views

Category:

Documents


0 download

DESCRIPTION

ASP .NET

TRANSCRIPT

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