|
La répartition des traitements entre le client et le
serveur
Le traitement côté client
Le traitement côté serveur
Fonctionnement du langage VBScript
Qu'est-ce qu'un langage interprété ?
Caractéristiques du langage VBScript
Principe des pages ASP
Le modèle objet ASP
La répartition des traitements entre le client et le serveur
Les évolutions récentes d'Internet ont fait émergé de
nouvelles demandes allant dans le sens d'offrir un contenu dynamique, autrement
dit, basés sur des traitements. Cependant, il est essentiel de tenir
compte du fonctionnement dit Client-Serveur d'Internet. En effet,
après saisi une adresse dans votre navigateur qui joue le rôle du client,
une requête est émise au serveur associé à cette adresse, qui
se charge de fournir en retour les informations (textes et images) demandées.
Le traitement peut donc être effectué du côté client
c'est-à-dire par le navigateur ou du côté serveur, selon les
fonctionnalités attendues et les capacités de
traitement de chacun d'entre eux. Bien entendu, les possibilités ne seront pas
les mêmes. Par exemple, les traitements effectués du côté serveur
permettront de tirer parti des fonctionnalités du serveur, comme l'accès à
une base de données par exemple, tandis que les traitements effectués par le
navigateur concerneront le contenu et la présentation de la page qu'elle
affiche.
Ainsi, malgré certaines ressemblances, les techniques ne sont
pas tout à fait les mêmes selon si on programme du côté client ou du côté
serveur.
Le traitement côté client
Du côté client (comme du côté serveur d'ailleurs), plusieurs
langages peuvent être employés pour effectuer un traitement. Les plus connus
sont le JavaScript et VBScript. Historiquement parlant, le JavaScript
a vu le jour plus tôt, avec le navigateur Netscape 2.0. La riposte de Microsoft de
s'est pas attendre, qui a sorti le VBScript avec Internet Explorer 3.
Cependant, compte tenu du succès rencontré par JavaScript, Internet
Explorer 3 a également été pourvu de sa propre version de JavaScript, baptisée JScript
par Microsoft.
Cette situation est restée la même dans les navigateurs
récents : JavaScript est supporté par tous les navigateurs tandis que VBScript
est supporté seulement par Internet Explorer. Il est donc d'usage de faire les
traitements du côté client avec le langage JavaScript lorsque la
compatibilité des navigateurs doit être respectée.
En résumé, les traitements effectués du côté client sont
rarement écrits en VBScript et se limitent à des traitement portant sur
la modification de l'apparence et du contenu de la page une fois
téléchargée.
Le traitement côté serveur
Lorsque le traitement se déroule du côté serveur, il n'est
plus question bien entendu, de modifier le contenu et l'apparence de la page une
fois affichée dans le navigateur. Il s'agit au contraire de générer la page
de manière dynamique en fonction de différents paramètres.
Prenons un exemple que l'on rencontre dans la plupart des sites
offrant la possibilité d'effectuer des recherches dans une base données. Une
première page Web classique comporte des contrôles regroupés dans un tag FORM
autorisant la saisie de critères de sélection des informations recherchées.
Les critères saisis sont transmis au serveur à une autre page d'extension ASP
par le biais des attributs Action
et Method du tag FORM.
Une page ASP est une page HTML classique
comprenant un ou plusieurs scripts généralement écrit en VBScript
(ou en JScript). C'est donc ici qu'intervient le langage VBScript
qui permet d'écrire les instructions permettant d'analyser les critères et
d'extraire les informations recherchées dans la base. Ces instructions sont exécutées par le
serveur. En résultat de l'exécution de ce script, une page HTML standard est
créée avec les informations extraites de la base avant d'être finalement transmise au navigateur.
Fonctionnement du langage VBScript
Cette introduction nous donne un aperçu du mode de
fonctionnement de VBScript dans le contexte d'Internet. Toutefois il est important de
comprendre qu'il peut fonctionner dans d'autres contextes et notamment dans un
environnement disponible sous Windows 2000 nommé Windows Scripting Host (WSH).
Autrement dit, il peut fonctionner dans différents types de conteneurs
'également dénommées sous le terme d'application hôte), dont
les plus connus sont Internet Explorer et Windows Scripting Host.
Dans WHS, VBScript permet par exemple
d'exécuter des scripts de maintenance sur un serveur Windows. Ces scripts
offrent ainsi le même genre de fonctionnalités que les fichiers .BAT du
système DOS, mais à partir d'un véritable langage de programmation
standard.
Qu'est-ce qu'un langage interprété ?
La vocation de ce langage est donc d'offrir un même langage
standard pour travailler dans différents contextes, un peu comme le langage VBA est
commun à Visual Basic et aux applications de la suite MS Office.
En fait, le langage VBScript étant d'ailleurs un-sous ensemble du
langage VBA, il est légitime de se demander pourquoi avoir
fabriqué un "sous-langage" ?
La raison découle de la section précédente puisqu'un script
a été conçus pour s'exécuter dans des applications hôtes telles qu'une
page Web affichée par un navigateur.
Pour mieux comprendre ce que ceci implique, considérons le langage
VBA dont la vocation est de créer des
exécutables avec Visual Basic, des fichiers MDE avec Access, des macros Excel,
etc. Le langage VBA fonctionne ainsi au sein
d'une application qui a besoin d'être préalablement installée sur le poste de
l'utilisateur pour fonctionner.
Avec l'avènement des navigateurs, la demande s'oriente vers des traitements
exécutables à partir d'une page HTML. Or, il
n'est pas possible d'héberger un programme traditionnel au sein d'une page
HTML. On ne peut donc pas avoir de programmes compilés tels que nous les
connaissons avec VB ou VBA.
Pour qu'un script fonctionne sans compilation, il faut que le
conteneur (le navigateur ou WSH) se charge de le lire et de l'interpréter
instruction par instruction lors de son affichage dans le navigateur ou lors de
sa lecture dans WSH. On distingue ainsi les langages compilés tels que
le langage VBA, C++, Pascal, Java, etc., des langages interprétés (tous les
langage de script).
Caractéristiques du langage VBScript
La différence essentielle entre un langage interprété et un
langage compilé se situe dans le fait que les types de données explicites
n'existent pas. Les
variables peuvent être déclarées avec le mot réservée Dim, mais sans
type. Elles se comportent donc comme si elles possédaient toutes le type Variant.
Il faut donc faire attention à la validité des expressions.
Par exemple, l'instruction suivante est valide :
MsgBox 6 / 2 'Affiche 3
Tandis que l'instruction suivante provoquera une erreur à
l'exécution :
MsgBox 6 / "Bonjour"
Il faudra également veiller à respecter scrupuleusement les
correspondance entre les arguments transmis à une procédure avec la
définition de cette dernière sous peine d'erreur d'exécution.
En dehors de cette distinction essentielle, le langage VBScript
comprend quasiment toutes les caractéristiques du langage VBA,
y compris la bibliothèque de fonctions prédéfinies telles Trim, Left, Date,
DateDiff, etc.
Fonctionnement des pages ASP
Il existe aujourd'hui deux principaux types types de serveurs
Web : les serveurs Windows (NT ou 2000) et les serveurs Unix/Linux. Le langage VBScript
étant propriétaire Microsoft, celui-ci n'est disponible que sous Windows. Pour
effectuer des traitements sur les serveurs Unix, il faudra par conséquent
s'orienter vers d'autres langages tels que le langage Perl ou PHP
(il existe aujourd'hui des interpréteurs de pages ASP fonctionnant sous Unix).
Pour créer une page dynamiquement avec le langage VBScript,
il faut donc commencer par disposer d'un serveur Web fonctionnant sous Windows.
Le serveur fournit avec Windows serveur (NT ou 2000) est IIS dont la version
actuelle est la version 5.
Remarque : Si vous souhaitez faire vos premiers pas avec les
pages ASP, le serveur Personnal Web Server livré avec Windows 98 suffit.
Pour mieux comprendre le fonctionnement des pages ASP, prenons
l'exemple suivant :
<HTML><TITLE>Premier exemple de page ASP</TITLE><BODY>
<P>Page crée dynamiquement avec le langage VBScript</P>
<% For i = 1 To 5
Response.Write "<font size=" & i & ">Ligne " & i & "</font><br>"
Next
%>
</BODY></HTML>
Cet exemple représente le contenu d'un fichier texte dont
l'extension doit être .ASP. Un fichier ASP doit respecter la structure
d'une page Web classique, dans laquelle un ou plusieurs zones de scripts
peuvent être écrites. Une zone de script se délimite par <% et %>.
En admettant que ce fichier soit installé dans le
sous-dossier \scripts_asp du dossier racine du serveur Web (C:\Inetpub\wwwroot
par défaut) et se nomme exemple1.asp, voici ce que l'on obtiendrait après avoir saisi
http://localhost/scripts_asp/exemple1.asp
dans la barre d'adresse du navigateur.

Remarque : L'adresse localhost est prédéfinie
de manière à désigner le serveur web local. Elle peut être remplacée par
le nom de domaine associé au serveur Web hébergeant la page ASP
demandée.
En observant le code source (commande Affichage/Source) de la
page affichée on découvre le code HTML qui a été généré par la page ASP :

Il n'existe donc plus aucune trace du script dans la page
affichée par le navigateur. Autrement dit, le script a bel et bien été
exécuté par l'interpréteur de pages ASP associé au serveur IIS,
c'est-à-dire du côté serveur.
Le modèle objet ASP
Pour terminer cette introduction au langage VBScript,
il faut parler du modèle objet ASP. Nous avons déjà évoqué
précédemment et dans l'article consacré au langage VBA, que ce
dernier sert à écrire des procédures qui manipulent des objets de
l'application hôte où il fonctionne. Il en est de même pour le langage VBScript
qui peut, rappelons-le, exploiter les fonctionnalités du serveur par le biais
de la fonction CreateObject qui permet d'instancier des composants tels
que le FSO (se reporter aux articles publiés dans l'espace Visual
basic concernant ce composant) les ADO, etc.
Parmi ces composants, il en existe un qui est prédéfini (il
n'a pas besoin d'être instancié pour être disponible) au sein d'une page
ASP : il s'agit du modèle objet des ASP dont les principaux objets
sont :
-
Response
-
Request
-
Application
-
Session
-
Server
L'objet Response est sans doute celui que l'on
rencontre le plus souvent puisqu'il possède la méthode Write
permettant d'insérer du texte dans la page, comme nous le montre l'exemple
ci-dessus. Notez que la syntaxe du langage VBA doit être respectée
(délimitation des chaînes de caractères par des guillemets, utilisation de
l'opérateur de concaténation &, etc.).
La description des autres objets sort du cadre de cet article,
mais nous pouvons néanmoins en donner une brève description : l'objet Request
sert à récupérer les informations envoyées par une page Web comportant un
formulaire avec la méthode POST ou GET. Les objets Application
et Session procurent une fonctionnalité essentielle pour un
programmeur alors qu'elle est totalement absente du protocole HTTP, dit "stateless".
Terminologie : Ce terme signifie ici qu'il n'est pas
possible de mémoriser une information d'une page à l'autre si
elles ne sont pas regroupées au sein d'une page de cadres avec le tag FRAMESET.
Ils permettent en effet de définir des variables avec
un niveau de visibilité par utilisateur (objet Session) ou global
(objet Application).
L'objet Server est très stratégique car c'est grâce à lui que l'on
peut faire appel à la fonction CreateObject pour instancier des
composants du serveur.
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|