Vous êtes sur la page 1sur 52

Principe de fonctionnement d un

site web dynamique


Client

Serveur Web (IIS)

Demande Une Page ASPExcute le code


Navigateur
de la page ASP et
HTTP
renvoie au client
Page HTML
le rsultat sous
format
HTML

Serveur de bases
de donnes
1

Principe de fonctionnement d un
site web dynamique avec ASP
SERVEUR WEB
Demande
Page.asp

Rsultat
HTML

Encodag
e
HTTP

- VbScript ou
- JavaScript

ASP

IIS

Client

Page.asp

Excute

.EXE
.DLL

ADO

ODBC

Rsultat
HTML

SGBD

ASP
Caractristiques dun fichier ASP
Son extension : *.asp
La balise: <% %>
Son indpendance vis vis de toute plateforme, de
tout langage de script et de tout navigateur.

ASP
Fonctionnement de lASP
Un script ASP sexcute lorsquun navigateur appelle une
page ayant cette extension sur le serveur web.
Le serveur web lance alors le module ASP et lui transmet
le fichier. Le module parcourt le fichier la recherche de la
balise <% %>. Au cours de cette action, ds que le
module ASP rencontre un script encadr par la balise
<% %>, il lexcute et renvoie ensuite au serveur du
code HTML que celui-ci transmet, son tour, au
navigateur.

ASP
Le Modle objets dASP
Lobjet Request : permet de rcuprer les donnes issues
dun formulaire utilisant soit la mthode POST ou GET. Il
permet galement dobtenir des informations sur le
serveur, sur le navigateur client et de rcuprer les
cookies stocks sur la machine du visiteur.
Lobjet Response : Contient la rponse HTTP, cest dire
lensemble des informations destination du navigateur
client; comme par exemple lcriture dun cookie sur le
disque dur du visiteur ou laffichage dune phrase
lattention de celui-ci.

ASP
Le Modle objets dASP
Lobjet Application : reprsente le site web cest dire
lensemble des fichiers se trouvant dans le rpertoire
virtuel ou dans ses sous-rpertoires.
Lobjet Session : reprsente un utilisateur donn. Il
permet de conserver des informations relatives au
visiteur dune page lautre tout au long de sa
connexion. Il y a donc une session par visiteur.

ASP
Le Modle objets dASP
Lobjet Server : reprsente le serveur et permet
dinstancier et dutiliser des composants
COM(standards ou personnaliss) dans une page
ASP.
Lobjet ASPError : Il prend en charge la gestion des
erreur en renvoyant le maximum de renseignements
sur les exceptions. Cest une nouveaut dASP 3.0.
8

ASP
Linterface dun objet ASP
Objet ASP
- Collections
- Proprits
- Mthodes

ASP
Linterface dun objet ASP
Les collections : Servent stocker des informations en
provenance ou destination du client. Cest une sorte de
tableau deux colonne: la premire stockant le nom dun
contrle par exemple et la seconde sa valeur.
Les proprits : permettent dobtenir ou de stocker des
valeurs spcifiques.
Lobjet mthodes : ce sont les procdures et fonctions qui
permettent daccomplir des actions spcifiques.

10

Lobjet Request
Les collections de lobjet Request
La collection Form rcupre les donnes issues d'un
formulaire utilisant la mthode POST. Cette collection
Contient donc les noms et valeurs des contrles
(zones de saisie, listes de choix, boutons etc.) situs
l'intrieur des balises <Form> et </Form> d'un
formulaire.
Syntaxes : <% StrNom=Request.Form("NOM") %>
<% = Request.Form("NOM") %>

11

Lobjet Request
Les collections de lobjet Request

La collection QueryString, elle, rcupre les


donnes issues soit d'un formulaire utilisant la
mthode GET ou dune chane de requte de type :
http://b-bah/site/forums/ShowMessage.asp?IDMsg=40&IDGrp=3&IDMbre=3

Syntaxes : <% StrNom=Request.QueryString( "IDMsg") %>


<% = Request.QueryString( "IDMsg") %>

12

Lobjet Request
Les collections de lobjet Request
La collection Cookies permet de vrifier la prsence
d'un cookie de votre site sur le disque dur d'un client
(sous forme d'un fichier) et d'en rcuprer les
Valeurs.
Syntaxes

<%
Variable
Request.Cookies("NomCookie")%>
<%
Variable
Request.Cookies("NomCookie")("NomCl") %>

=
=

13

Lobjet Request
Les collections de lobjet Request
La collection ServerVariables contient les en-ttes
HTTP de la requte. Il stocke des informations sur le
navigateur, le serveur, lapplication et l'utilisateur.
L'accs ces informations est facilit grce la
syntaxe suivante :
<% Request.ServerVariables("nomEnTete") %>

14

Lobjet Response
Les collections de lobjet Response
La collection Cookies de l'objet Response permet
de stocker des informations dans un fichier sous la
forme nom/valeur sur le disque dur d'un client.
Syntaxes utiliser :
Lorsqu'on veut placer un cookie simple c'est dire
qui contient une seule paire nom/valeur :
Response.Cookies("NomCookie")=Valeur
15

Lobjet Response
Les collections de lobjet Response
Lorsqu'on veut placer un cookie valeurs multiples
c'est dire possdant un seul nom mais plusieurs
Cls:
Exemple:
<%Response.Cookies("Utilisateur")("Nom")="nom"
Response.Cookies("Utilisateur")("Prenom")="Prenom"
Response.Cookies("Utilisateur")("Adresse")="Adresse"
Response.Cookies("Utilisateur")(" Email ")="Email"
Response.Cookies("Utilisateur").Expires= Date+365 %>

16

Lobjet Response
Les proprits de lobjet Response
La proprit Buffer est un tampon dans lequel le
serveur peut placer les pages HTML gnres
dynamiquement. L'hte de script y ajoute les lignes
de code HTML au fur et mesure qu'il les gnre. La
page HTML n'est envoy au client que lorsqu'elle
aura t compltement construite.
A appeler juste aprs la directives :

<% @LANGUAGE="VBSCRIPT" %>


<% Response.Buffer=False (ou True) %>

17

Lobjet Response
Les mthodes de lobjet Response
La mthode Redirect de l'objet Response permet
de rediriger le navigateur vers une autre page.
Syntaxe utiliser :
Response.Redirect ("NewUser.asp")

La mthode Write de l'objet Response permet


d'envoyer au navigateur une chane de caractre
comme le montre la syntaxe suivante :
Response.Write ("La promo <B> 20002001</B> du <I> IIDEE. </I>")

18

Lobjet Response
Les mthodes de lobjet Response
Les mthodes Clear, End et Flush sont utilises
lorsque la proprit Buffer a la valeur True.
Response.Clear : efface tout code HTML mis en
cache.
Response.End : oblige le serveur mettre fin au
traitement dun script et renvoyer au client le
contenu du tampon.
Response.Flush : Sert renvoyer progressivement
le contenu de la mmoire tampon au navigateur.
19

Les objets Application et session

20

Les objets Application et session


Les collections de lobjet Application
La collection Contents de l'objet Application
contient tous instances des objets cres et ajoutes

l'application
grce

la
commande
Server.CreateObject().
Syntaxe:

Valeur=Application.Contents("VarGlobale")
Ou
Valeur=Application ("VarGlobale")
(contents est , en effet, la collection par dfaut)

21

Les objets Application et session


Les collections de lobjet Application
La collection StaticObjects de l'objet Application
contient elle, les instances des objets cres avec la
balise HTML <OBJECT>.
Syntaxe:

Valeur=Application.StaticObjects("VarGlobale")

22

Les objets Application et session


Les mthodes de lobjet application
Les mthodes Lock et UnLock de l'objet
Application Permettent respectivement de verrouiller
et de dverrouiller les variables globales.
La mthode Lock empche un utilisateur d'accder
une variable d'application pendant qu'un
autre est entrain de la modifier. Alors que UnLock
dverrouille les variables pour permettre d'autres
utilisateurs de les modifier. (Cf. au fichier global.asa).

23

Les objets Application et session


Les collections de lobjet Session
L'objet Session Prsente les mmes collections et
vnements que l'objet Application. La seule
diffrence entre les deux se situe au niveau de leurs
portes.

Les mthodes de lobjet Session


La mthode Abandon de l'objet Session Permet de
dtruire les variables stockes dans cet objet et de
librer les ressources du serveur.
Syntaxe:

Session.Abandon

24

Les objets Application et session


Le fichier Global.asa
Ce fichier doit tre unique et plac dans le rpertoire
racine du site. Il comporte quatre sous-routines qui
permettent de traiter tout ce qui vient d'tre dit
propos des objets application et session.

25

Les objets Application et session


Le fichier Global.asa
<SCRIPT Language="VBScript" RUNAT="Server">
Sub Application_OnStart
' dfinir ici ce qui va se passer au dmarre de l'application .

END SUB
SUB Session_OnStart
' dfinir ici ce qui va se passer lorsqu'un nouvel utilisateur se connecte
' et dmarre une nouvelle session .

END SUB
SUB Session_OnEnd
' dfinir ici ce qui va se passer lorsqu'un utilisateur quitte le site.

END SUB
SUB Application_OnEnd
' dfinir ici ce qui va se passer lorsqu'on arrte le serveur.

END SUB

</SCRIPT>

26

Les objets Application et session


Fichier dinclusion :

Il est utilis en gnral


pour insrer dans informations communes partages
par toutes les pages asp (Les contantes ADO par
exemple).

Syntaxe :
<!-- #Include file="adovbs.inc" -->
<!-- #Include file=" ../pages/SourceDonnees.asp" -->

27

Lobjet Server
Les mthodes de lobjet Server
La mthode Server.CreateObject permet d'instancier
un composant serveur standard (comme ADO,
AdRotator, Browser, Capabilities etc.).
Exemples de Syntaxe :
<% set

ObjConnexion=Server.CreateObject("ADODB.Connection")
set ObjRecordset=Server.CreateObject("ADODB.Recordset")
set ObjRotator=Server.CreateObject(MSWC.AdRotator")
set
set ObjPerso=Server.CreateObject(MonObjet.MaClasse)
ObjPerso.MaMethoode() %>

28

Lobjet Server
Les mthodes de lobjet Server
La mthode Server.HTMLEncode permet de
formater une chane de caractre pour quelle puisse
tre affiche au format souhait(caractres franais
accentus par exemple).
Exemples de Syntaxe :

<%

TxtEncod=Server.HTMLEncode(ChaneAEncoder)
%>

29

LAccs
aux bases de
donnes
30

Laccs aux donnes


OLEDB: une stratgie conue pour offrir un accs
universel toutes les sources de
donnes(relationnelles et non relationnelles).

La communication avec une source de donnes via


OLEDB peut se faire par l'intermdiaire
d'ADO(ActiveX Data Object) .

31

Laccs aux donnes

32

Le modle objet ADO


ADO est compos de trois objets principaux
comportant chacun une srie de proprits:
Connection, Command et Recordset.

La communication avec une source de donnes via


OLEDB peut se faire par l'intermdiaire
d'ADO(ActiveX Data Object) .

33

Lobjet Connection
Les proprits de lobjet Connexion
La proprit Errors permet de vrifier les erreurs
renvoyes par la source de donnes suite une
dfaillance du fournisseur.
La proprit ConnectionString contient les
informations ncessaire ltablissement dune
connexion avant son ouverture.

34

Lobjet Connection
Les proprits de lobjet Connexion
La proprit CursorLocation pour appeler le
fournisseur du curseur ct client prenant en charge
les mises jour par lots.

Les mthodes de lobjet Connexion


Les mthodes Open et Close permettent
respectivement douvrir et de fermer la connexion
physique une source de donnes.
35

Lobjet Connection
Les mthodes de lobjet Connexion
La mthode Execute permet dexcuter une
commande SQL ou une procdure stocke sur la
connexion. Elle peut renvoyer un jeu
denregistrement.
Les mthodes BeginTrans, CommitTrans et
RollbackTrans permettent de grer les transactions
sur la connexion ouverte.
36

Lobjet Command
Les mthodes de lobjet Command
La mthode CreateParameter cre un objet
parameter.
La mthode Execute permet dexcuter une
instruction SQL, une requte une requte
paramtres ou une procdure stocke. Elle renvoie,
en retour, un jeu denregistrement.
La mthode Cancel annule la mthode excute ou
open en cours.
37

Lobjet Command
Les Proprits de lobjet Command
La proprit ActiveConnection permet dassocier
lobjet Command une connexion ouverte.
La proprit CommandText dfinit ou renvoie une
valeur de type String contenant une commande
pouvant tre une instruction SQL, un nom de table,
un nom de requte paramtre ou lappel dune
procdure stocke.
38

Lobjet Command
Les Proprits de lobjet Command
La proprit CommandType Indique le type de
commande correspondant celui de la proprit
CommandText.
La collection Parameters contient lensemble des
objets Parameter d'un objet Command.
La commande suivante permet dajouter un objet
parameter la collection parameters :
Command.Parameters.Append (objParam)

39

Lobjet Parameter
Les Proprits de lobjet Parameter
La proprit Type de lobjet Parameter indique le
type de donnes dun objet parameter.
La Proprit Direction de lobjet Parameter indique
si ce dernier correspond un paramtre d'entre, un
paramtre de sortie ou les deux, ou si le paramtre
est la valeur de retour d'une procdure stocke.
La proprit Value de lobjet Parameter indique la
valeur affecte cet objet.
40

Lobjet Recordset
Lobjet Recordset: reprsente le jeu
d'enregistrements complet obtenu en ouvrant une
table ou en excutant une commande (instruction
SQL ou procdure stockes). Il permet l'exploration
et la manipulation de donnes.

Les mthodes de lobjet Recordset


La mthode AddNeW, Close, Delete, MoveFirst,
MoveNext, MoveLast, Open, Update, UpdateBatch
41

Lobjet Recordset
Les proprit de lobjet Recordset
ActiveConnection, EOF, Fields, Pagesize,
AbsolutePage.

42

Connexion et manipulation
des donnes
Chanes de connexion pour Access
Chane de connexion utilisant le pilote ODBC
pour Access
connstring="DRIVER={Microsoft Access Driver (*.mdb)};"&_
"DBQ=C:\chemin physique\Forum.mdb"

Chane de connexion utilisant le pilote OLEDB


pour Access
connstring=" Provider=Microsoft Access.Jet.OLEDB.3.51;
Data& _ dource=C:\ chemin physique\Forum.mdb"

43

Connexion et manipulation
des donnes
Chanes de connexion SQL Server .
Chane de connexion utilisant le pilote ODBC
pour SQL Server
connstring="driver={SQL Server};
server=nom_serveur;uid=login;" &_ " pwd=mot_de_passe;
database=NomBase_de_donnes"

Chane de connexion utilisant le pilote OLEDB


pour SQL Server
connstring=" Provider=SQLOLEDB; Data dource="&_
"NomMachine SQL Server; Initial Catalog=
NomBase_de_donnes;"&_ "User ID=NomUtilisateur;
Password= mot_de_passe"
44

Connexion et manipulation
des donnes
Chanes de connexion Pour Oracle .
Chane de connexion utilisant le pilote ODBC
pour Oracle
connstring = "driver={Microsoft ODBC for Oracle};" &_
"server=Nom_serveur;uid=login;pwd=mot_de_passe;"&_
"database=Nombase_de_donnes"

Chane de connexion utilisant le pilote OLEDB


pour Oracle
' connstring = "Provider=MSDAORA; Data
source=IntanceOracle" & _ "User ID=NomUtilisateur;
Password= mot_de_passe"

45

Connexion et manipulation
des donnes
Ouverture et fermeture dune connexion.

AdoConnection.Open connstring
traitements
ADOConnection.Close

Ouverture et fermeture dune connexion.

ADORecordset.Open connstring
traitements
ADORecordset.Close

46

Objet connection
Set ADOConn =
Server.CreateObject("ADODB.Connection") 'Cration
d'une instance
ADOConn.Open StrConn 'Ouverture de la connection
Set ADORecodset = ADOConn.Execute(SQLQuery)
[Ou ADOConn.Execute(SQLQuery)]
'Excution de la requte et retourne un objet
Do While Not ADORecordset.EOF
traitements
Loop
Fermture et destruction de lobjet
ADORecordset.Close
Set ADORecordset=Nothing
ADOConn.close 'Fermeture et destruction de la connexion
Set ADOConn =Nothing

47

Objet Recordset
Set ADOConn =
Server.CreateObject("ADODB.Connection") 'Cration
d'une instance
ADOConn.Open StrConn 'Ouverture de la connection
Set ADORecodset =
Server.CreateObject("ADODB.Recordset")
ADORecodset.open " SELECT * From table", ADOConn
'Excution de la requte et retourne un objet
Do While Not ADORecordset.EOF
traitements
Loop
Fermture et destruction de lobjet
ADORecordset.Close
Set ADORecordset=Nothing
ADOConn.close 'Fermeture et destruction de la connexion
48
Set ADOConn =Nothing

Objet command
Set cmdQuery = Server.CreateObject("ADODB.Command")
cmdQuery.ActiveConnection =ADOConn
cmdQuery.CommandText = "NomRequete
[Ou cmdQuery.CommandText=SELECT*FROMNomTable
]
set parametre = server.CreateObject("ADODB.Parameter")
Set parametre =
cmdQuery.CreateParameter("ParamIDMembre")
parametre.Type = adInteger
parametre.Direction = adParamInput
parametre.Value = Request.Cookies(" Valeur ")
cmdQuery.Parameters.Append parametre

49

Objet command
Do While Not ADORecordset.EOF
traitements
Loop
Fermture et destruction de lobjet
ADORecordset.Close
Set ADORecordset=Nothing

50

Objet connection
'Cre et ouvre un objet Connection

Set ADOConnection =
Server.CreateObject("ADODB.Connection")
ADOConnection.Open StrConn 'Cre et ouvre un objet
Recordset Set
ADORset = Server.CreateObject("ADODB.Recordset")
ADORset.ActiveConnection = ADOConnection
ADORset.CursorType = adOpenKeyset
ADORset.LockType = adLockOptimistic
ADORset.Source = "NomTable"
ADORset.Open

51

Objet connection
ADORset.AddNew
ADORset ("Nom") = Request.Form ("Nom")
ADORset(" Prenom") = Request.Form (" Prenom")
ADORset(" Adresse") = Request.Form (" Adresse")
ADORset(" Tlphone") = Request.Form("PhoneNumber")
ADORset(" Ville") = Request.Form("Ville")
ADORset("Departement") = Request.Form ("Department")
ADORset.Update
ADORset.MoveFirst
ADORset.Close
ADOConnection.close

52

Vous aimerez peut-être aussi