ASP

Les ASP (Active Server Pages) développées par Microsoft permettent de créer des applications Web interactives, c'est-à-dire dont le contenu est dynamique. en exécutant un script du côté du serveur (au même titre que les scripts CGI,PHP,...) et non du côté client. Une documentation complète et régulièrement remise à jour est accessible sur le serveur MSDN (Microsoft Developper Network).

Les ASP sont intégrables au sein d'une page Web en HTML à l'aide de balises spéciales permettant au serveur Web de savoir que le code compris à l'intérieur de ces balises doit être interprété afin de renvoyer du code HTML au navigateur du client.

ASP et l'architecture 3-TiersAinsi, les Active Server Pages s'inscrivent dans une architecture 3-tier, ce qui signifie qu'un serveur supportant les Active Server Pages peut servir d'intermédiaire entre le navigateur du client et une base de données en permettant un accès transparent à celle-ci grâce à la technologie ADO (ActiveX Data Object), qui fournit les éléments nécessaires à la connexion au système de gestion de bases de données, à la manipulation des données grâce au langage SQL.

Les ASP ont été conçues à la base pour fonctionner sur le serveur Web de Microsoft nommé Microsoft IIS (Internet Information Server). Ce serveur web, mis au point par Microsoft en 1996, est livré en standard avec Microsoft Windows NT ou Windows 2000. 

Toutefois cette technologie propriétaire est désormais disponible sur d'autres serveurs web que celui de Microsoft. Il a d'abord été porté sur le serveur Netscape FastTrack puis sur d'autres serveurs dont Apache, avec le module Apache::ASP, ce qui rend possible la création de sites Web utilisant la technologie des ASP sur de nombreuses plate-formes (Unix, Linux, PowerPC,...).

 Interprétation du code par le serveur

ASP se présente d'une certaine façon comme une extension du langage HTML. Pour cela, ASP définit une nouvelle balise  HTML: <% %>, à l'intérieur de laquelle on trouve des scripts écrits dans un langage comme VBScript, JavaScript, Perl, …

Un script ASP est donc un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et stocké sur le serveur. Ce fichier doit avoir l'extension ".asp" pour pouvoir être interprété par le serveur.

Lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisé avec les ASP:

  1. le serveur reconnaît qu'il s'agit d'un fichier ASP grâce à son extension
  2. il lit le fichier asp
  3. Dès que le serveur rencontre une balise indiquant que les lignes suivantes sont du code ASP, il "passe" en mode ASP, ce qui signifie qu'il ne lit plus les instructions: il les exécute!
  4. Lorsque le serveur rencontre une instruction, il la transmet à l'interpréteur
  5. L'interpréteur exécute l'instruction puis envoie les sorties éventuelles à l'interpréteur
  6. A la fin du script, le serveur transmet le résultat au client (le navigateur)

Un script ASP est interprété par le serveur, le code ASP stocké sur le serveur n'est donc jamais visible directement par le client puisque dès qu'il en demande l'accès, le serveur l'interprète. De cette façon aucune modification n'est à apporter sur les navigateurs...

Voici un exemple de script ASP écrit en VBScript:

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Exemple de script ASP</TITLE>

</HEAD>

<BODY>

<% FOR i = 1 to 10 %>

     Bienvenue

<% Next %>

</BODY>

</HTML>

La commande <%@ LANGUAGE %> située au début du fichier .asp permet de définir le langage de script primaire de la page, c'est-à-dire le langage dans lequel les scripts sont écrits dans la page. La syntaxe de cette commande est la suivante:

<%@ LANGUAGE=LangageDeScript %>

LangageDeScript représente bien évidemment le langage de script qui sera utilisé dans la suite du fichier. Celui-ci est généralement VBScript, un langage de script mis au point par Microsoft. Le chapitre sur les pages actives côté client ayant présenté JavaScript, les exemples donnés ici s’appuieront sur VBScript.

Les objets de base des Active Server Pages

ASP est architecturé autour de 6 objets internes comprenant des méthodes permettant d'effectuer les principaux traitements sur les données. Ces objets constituent ce que l'on appelle le modèle objet. Ces objets sont:

·         L'objet Application représente le site. Il permet de manipuler les variables, les constantes,... nécessaires au fonctionnement du site, et d'en "mémoriser" les valeurs

·         L'objet Session représente l'utilisateur. Il permet de conserver les données (préférences généralement) relatives à l'utilisateur d'une page du site à une autre

·         L'objet Response représente le résultat à afficher sur le navigateur. Il permet de manipuler les variables, les constantes,... nécessaires au fonctionnement du site, et d'en "mémoriser" les valeurs

·         L'objet Request permet de traiter les information en provenance du client par l'intermédiaire de formulaires. Il permet de récupérer les valeurs des champs de requête issus du formulaire du navigateur

·         L'objet Server représente le serveur. Il permet d'en gérer les paramètres, ainsi que d'instancier les objets utilisateurs

·         L'objet ObjectContext désigne la transaction courante. Il sert à gérer les traitements de la transaction

Exemples et exercices simples