Vous êtes sur la page 1sur 30

Technologie Web 1

Partie 4

L’objet Request

L’objet Request  Les collections de l’objet Request  ServerVariables  La collection ServerVariables

Les collections de l’objet Request ServerVariables

La collection ServerVariables contient les en-têtes HTTP de la requête. Il stocke des informations sur le navigateur, le serveur, l’application et l'utilisateur. L'accès à ces informations est facilité grâce à la syntaxe suivante :

<% Request.ServerVariables("nom-EnTete") %>

L’objet Request

L’objet Request    Les collections de l’objet Request  ServerVariables  Voici les principaux
 

Les collections de l’objet Request ServerVariables

Voici les principaux en-têtes pouvant être utiles:

Nom de l'en-tête

 

Description

ALL_HTTP

 

Type de méthode utilisée par le client (ie POST ou GET)

CONTENT_TYPE

 

Type de contenu du corps de la requête (par exemple text/html)

METHOD

 

Type de méthode utilisée par le client (ie POST ou GET)

REFERER

 

URL du lien à partir duquel la requête a été effectuée

REMOTE_ADDR

 

Adresse IP du client

 

HTTP_ACCEPT_LANGUAGE

Langage attendu par le browser (anglais par défaut)

HTTP_USER_AGENT

Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du système d'exploitation

L’objet Request

L’objet Request  Les collections de l’objet Request  ServerVariables  Exercice : C ompter les

Les collections de l’objet Request ServerVariables

Exercice : Compter les visiteurs d'un site,

Stocker l'adresse IP et

compter le nombre d'adresses IP stockées étant différentes chaque jour. %>

L’objet Request

L’objet Request  Les collections de l’objet Request  ServerVariables  Voici le code permettant de

Les collections de l’objet Request ServerVariables

Voici le code permettant de stocker dans une variable l'adresse IP d'un visiteur, et qui l'affiche:

<% IP = Request.ServerVariables("REMOTE_ADDR") Response.write("Votre adresse IP est : " + IP) %>
<% IP = Request.ServerVariables("REMOTE_ADDR")
Response.write("Votre adresse IP est : " + IP) %>
<BR>

L’OBJET RESPONSE

Youness KHAMLICHI

ENSA-K

L’OBJET RESPONSE Youness KHAMLICHI ENSA-K ASP 6

ASP

6

L’objet Response

L’objet Response L'objet Response possède une seule collection et de nombreuses propriétés et méthodes:  

L'objet Response possède une seule collection et de nombreuses propriétés et méthodes:

   

Objet Response

 

Collections

 

Methodes

Propriétés

Cookies

Buffer

AddHeader

 

CacheControl

AppendToLog

 

CharSet

BinaryWrite

 

ContentType

Clear

 

Expires

End

 

ExpiresAbsolute

Flush

 

isClientConnected

Redirect

La majorité

 

des propriété et des

   
 

méthodes de l'objet Response

Status

Write

correspondent à des champs de la

PICS

 

réponse HTTP.

Youness KHAMLICHI

ENSA-K

ASP

ASP

7

L’objet Response  Les collections de l’objet Response  Cookies  La collection Cookies de

L’objet Response

Les collections de l’objet Response Cookies

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

L’objet Response  Les collections de l’objet Response  Cookies  Response.Cookies(Nom)[(Cle)|.Attribut]

L’objet Response

Les collections de l’objet Response Cookies

Response.Cookies(Nom)[(Cle)|.Attribut] = Valeur

Syntaxes à utiliser :

Lorsqu'on veut placer un cookie simple c'est à dire qui contient une seule paire nom/valeur :

Response.Cookies("NomCookie")

L’objet Response  Les collections de l’objet Response  Cookies  Exemple de cookie simple:

L’objet Response

Les collections de l’objet Response Cookies

Exemple de cookie simple:

Pour affecter la valeur 12 au cookie "toto", on procède comme suit : Response.Cookies("toto") =
Pour affecter la valeur 12 au cookie "toto", on procède comme suit :
Response.Cookies("toto") = 12
Par
la suite, on récupère la valeur de ce cookie dans un autre script en
utilisant la collection Request.Cookies :
Request.Cookies("toto")
L’objet Response  Les collections de l’objet Response  Cookies  Lorsqu'on veut placer un

L’objet Response

Les collections de l’objet Response

Cookies

Lorsqu'on veut placer un cookie à valeurs multiples c'est à dire possédant un seul nom mais plusieurs Clés:

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 %>

L’objet Response    Les collections de l’objet Response  Cookies [les attributs] attribut

L’objet Response

 

Les collections de l’objet Response

Cookies [les attributs]

attribut

description

Domain

 

(nom de) domaine sur lequel le cookie est valable

Expires

 

date à laquelle le cookie expire. Si aucune date n'est précisée, le

cookie persiste jusqu'à la fin de la session (si on n'utilise pas de session, le cookie reste valable indéfiniment).

HasKeys

 

lecture seule. Dit si le cookie possède des clés.

Path

 

chemin pour lequel le cookie est valable. Par défaut, c'est "/" (i.e. le

cookie est valable pour l'ensemble du site Web).

Secure

 

dit si le cookie est sécurisé

L’objet Response

L’objet Response Les propriétés de l’objet Response (Buffer)  La propriété Buffer est un tampon dans

Les propriétés de l’objet Response (Buffer)

La propriété Buffer est un tampon dans lequel le serveur peut placer les pages HTML générées dynamiquement. L'hôte de script y ajoute les

lignes de code HTML au fur et à mesure qu'il les génère.

La

page

HTML

n'est

envoyé

au

client

complètement construite en déclarant :

que lorsqu'elle aura été

<% Response.Buffer=True %>

L’objet Response

L’objet Response  Les méthodes de l’objet Response  Les méthodes Clear, End et Flush sont

Les méthodes de l’objet Response

Les méthodes Clear, End et Flush sont utilisées lorsque la propriété Buffer a la valeur True.

Response.Clear : efface tout code HTML mis en cache.

Response.End : oblige le serveur à mettre fin au traitement d’un script et à renvoyer au client le contenu du tampon.

Response.Flush : Sert à renvoyer progressivement le contenu de la mémoire tampon au navigateur.

L’objet Response

L’objet Response  Les méthodes de l’objet Response  La méthode Redirect de l'objet Response

Les méthodes de l’objet Response

La méthode Redirect de l'objet Response permet de rediriger le navigateur vers une autre page.

Syntaxe à utiliser :

Response.Redirect ("NewUser.asp")

La méthode Write de l'objet Response permet d'envoyer au navigateur une chaîne de caractère comme le montre la syntaxe suivante :

Response.Write (« Bonjour <B> Les 4 ème </B>. <I> d’ENSA !! </I>")

Les objets Application et session

Les objets Application et session Youness KHAMLICHI ENSA-K  ASP 16

Les objets Application et session

Les collections de l’objet Application

La collection Contents de l'objet Application contient tous instances des objets créées et ajoutées à l'application grâce à la commande

Server.CreateObject().

Syntaxe:

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

Youness KHAMLICHI

ENSA-K

Application ("VarGlobale") (contents est , en effet, la collection par défaut) Youness KHAMLICHI ENSA-K ASP 17

ASP

17

Les objets Application et session

Les collections de l’objet Application

La collection StaticObjects de l'objet Application contient elle, les instances des objets créées avec la balise HTML <OBJECT>.

Syntaxe:

Valeur=Application.StaticObjects("VarGlobale")

Youness KHAMLICHI

ENSA-K

<OBJECT>. Syntaxe: Valeur= Application.StaticObjects("VarGlobale") Youness KHAMLICHI ENSA-K ASP 18

ASP

18

Les objets Application et session

Les méthodes de l’objet application

Les méthodes Lock et UnLock de l'objet Application Permettent respectivement de verrouiller et de déverrouiller les variables globales.

La méthode Lock empêche un utilisateur d'accéder à une variable

d'application pendant qu'un autre est entrain de la modifier. Alors que UnLock déverrouille les variables pour permettre à d'autres utilisateurs de les modifier. (fichier global.asa).

Youness KHAMLICHI

ENSA-K

pour permettre à d'autres utilisateurs de les modifier. (fichier global.asa ). Youness KHAMLICHI ENSA-K ASP 19

ASP

19

Les objets Application et session

Les collections de l’objet Session

L'objet Session Présente les mêmes collections et événements que l'objet Application. La seule différence entre les deux se situe au niveau de leurs portées.

Les méthodes de l’objet Session

La méthode Abandon de l'objet Session Permet de détruire les variables stockées dans cet objet et de libérer les ressources du

serveur.

Syntaxe:

Session.Abandon

Youness KHAMLICHI

ENSA-K

dans cet objet et de libérer les ressources du serveur. Syntaxe: Session.Abandon Youness KHAMLICHI ENSA-K ASP

ASP

20

Les objets Application et session

Pour créer une instance Application et session, il

est nécessaire d’utiliser un fichier particulier : le fichier global.asa.

• Ce fichier contient les informations sur l’état de l’application à partir des propriétés des objets

Application et Session et de toute variable globale

utilisée par l’application.

Youness KHAMLICHI

ENSA-K

objets Application et Session et de toute variable globale utilisée par l’application. Youness KHAMLICHI ENSA-K ASP

ASP

21

Les objets Application et session

Le fichier Global.asa

Ce fichier doit être unique et placé dans le répertoire racine du site. Il comporte quatre procédures qui permettent de traiter tout ce qui vient

d'être dit à propos des objets application et session.

Youness KHAMLICHI

ENSA-K

traiter tout ce qui vient d'être dit à propos des objets application et session . Youness

ASP

22

Les objets Application et session

Le fichier Global.asa

<SCRIPT Language="VBScript" RUNAT="Server">

Sub Application_OnStart

' définir ici ce qui va se passer au démarrage de l'application .

END SUB

SUB Session_OnStart

' définir ici ce qui va se passer lorsqu'un nouveau utilisateur se connecte ' et démarre une nouvelle session .

END SUB SUB Session_OnEnd

' définir ici ce qui va se passer lorsqu'un utilisateur quitte le site.

END SUB SUB Application_OnEnd

' définir ici ce qui va se passer lorsqu'on arrête le serveur.

END SUB

</SCRIPT>

Youness KHAMLICHI

ENSA-K

ici ce qui va se passer lorsqu'on arrête le serveur. END SUB </SCRIPT> Youness KHAMLICHI ENSA-K

ASP

23

L’objet Server

L’objet Server • Rôle : contient les informations générales sur le serveur ainsi que des méthodes

Rôle : contient les informations générales sur le

serveur ainsi que des méthodes d’intérêt général.

Youness KHAMLICHI

ENSA-K

générales sur le serveur ainsi que des méthodes d’intérêt général. Youness KHAMLICHI ENSA-K ASP 24

ASP

24

L’objet Server

L’objet Server • La propriété ScriptTimeout permet de protéger nos pages dynamiques vis à vis des

La propriété ScriptTimeout permet de protéger nos pages dynamiques vis à vis des bogues d’exécution.

Par défaut la valeur est de 90 secondes.

La méthode HTMLEncode permet de définir un affichage plutôt qu’une exécution. Cela est utilisé lorsque vous désirez afficher un texte qui représente une tâche en ASP ou un tag HTML.

Server.HTMLEncode("chaîne")

Exemple : <%= Server.HTMLEncode("<TABLE>") %> affichera le texte <TABLE> au lieu de définir un tag HTML.

Youness KHAMLICHI

ENSA-K

%> affichera le texte <TABLE> au lieu de définir un tag HTML. Youness KHAMLICHI ENSA-K ASP

ASP

25

L’objet Server

L’objet Server • La méthode URLEncode est similaire à la méthode précédente. Elle modifie une chaîne

La méthode URLEncode est similaire à la méthode

précédente. Elle modifie une chaîne en chaîne encodée URL.

Server.URLEncode("chaîne")

La méthode Mappath convertit un chemin logique

en un chemin physique sur le serveur.

Server.Mappath("fichier|répertoire")

Youness KHAMLICHI

ENSA-K

en un chemin physique sur le serveur. – Server.Mappath("fichier|répertoire") Youness KHAMLICHI ENSA-K ASP 26

ASP

26

L’objet Server

L’objet Server  Les méthodes de l’objet Server  La méthode Server.CreateObject permet de créer une

Les méthodes de l’objet Server

La méthode Server.CreateObject permet de créer une instance d’un composant serveur standard (comme ADO, etc.).

Exemples de Syntaxe :

<% set

ObjConnexion=Server.CreateObject("ADODB.Connection") ObjRecordset=Server.CreateObject("ADODB.Recordset") %>

set

Youness KHAMLICHI

ENSA-K

ObjRecordset= Server.CreateObject ("ADODB. Recordset ") %> set Youness KHAMLICHI ENSA-K ASP 27

ASP

27

L ’accès au bases de données

Pilote logiciel Page Web ASP Fournisseur de données Source de données
Pilote logiciel
Page Web ASP
Fournisseur de données
Source de données

ASP nous fournit un composant spécifique nommé ADO (ActiveX Data Objects).

ADO dialogue avec les bases de données via un pilote logiciel et un

fournisseur de données concentré dans un processus de connexion

tel que ODBC (Open DataBase Connectivity)

ODBC représente la passerelle entre le site et la source de données.

ODBC permet de créer un DSN (Data System Name)

Youness KHAMLICHI

ENSA-K

le site et la source de données. • ODBC permet de créer un DSN (Data System

ASP

28

L’accès au bases de données

Les étapes pour créer un DSN avec ODBC:

Panneau de configuration -> ODBC -> DSN (source de données système)

Choisissez votre pilote logiciel correspondant au nom du logiciel utilisé pour construire la base de données puis cliquez sur le bouton Terminer.

Youness KHAMLICHI

ENSA-K

utilisé pour construire la base de données puis cliquez sur le bouton Terminer. Youness KHAMLICHI ENSA-K

ASP

29

L’accès au bases de données

L’objet Connection

Avant d’établir la connexion à la base de données, il faut instancier l’objet connecction.

Set NomVariable = Server.CreateObject("ADODB.Connection")

Maintenant, nous allons a proprement ouvrir une connexion via la méthode Open.

NomVariable.Open "DSN"

Youness KHAMLICHI

ENSA-K

proprement ouvrir une connexion via la méthode Open. – NomVariable.Open "DSN" Youness KHAMLICHI ENSA-K ASP 30

ASP

30