chapitre 8 introduction a asp. 1. asp - introduction asp (active server page) est un standard...

27
CHAPITRE 8 INTRODUCTION A ASP

Upload: suzette-lombard

Post on 03-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

CHAPITRE 8

INTRODUCTION A ASP

Page 2: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Introduction

ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées.

Les Pages ASP se repèrent par leur extension .ASP.

Les scripts ASP peuvent être écrits en Javascript ou en VBScript.<%@ language=Javascript%><%@ language=VBScript%>

Les instructions sont interprétées par le serveur et sont repérables par les balises <%

…%>

Les ASP ont été conçues à la base pour fonctionner sur le serveur Web de Microsoft intitulé Microsoft IIS (Internet Information Server), une adaptation est disponible depuis peu sur NetScape FastTrack et sur Apache.

Page 3: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Exemple

<%@ LANGUAGE="JAVASCRIPT" %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY>

<% for(i=1;i<=10;i++){%>

Compteur valeur de i : <%= i%> <BR>

<% } %>

</BODY> </HTML>

Page 4: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet Request

L'objet RequestPermet aux script ASP d'accéder aux informations émises par le Client (variables, formulaires, cookies, Certificats SSL).

Propriété :TotalBytes : Nombre d'octets contenus dans le corps de la requête HTTP.

Méthodes :BinaryRead(n) : Extrait n octets du corps de la requête HTTP. Attention si un

accès à la collection Form a été réalisée précédemment dans le code cette méthode échouera.

Collection :Cookies : Collection de cookiesForm : Collection des variables d'un formulaireQueryString : Collection des paramètres envoyés par l'URL.ServerVariables : Collection contenant les entêtes HTTP et les variables

d'environnement..

Page 5: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet Request - Exemple

<%@ LANGUAGE="JAVASCRIPT" %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY>

<%if (Request.QueryString ("nom") == 'cnam' ||

Request.Cookies("nom") == 'cnam') {

Response.Write ('Bienvenue au CNAM');}%>

</BODY> </HTML>

Page 6: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet ResponseL'objet ResponsePermet aux script ASP d'accéder à la réponse HTTP envoyée par le serveur au Client..Propriété :Buffer : true / false Précise si la réponse est stockée dans un buffer IIS.ContentType : Type MIME de la réponse.ExpiresAbsolute : Date d'expiration de la page.Status : Etat de la page (200, 404).

Méthodes :AddHeader ("nom","valeur") : Créée une entête HTTP.BinaryWrite (safeArray) : Envoie sur le flot HTTP du code binaire.Clear () : Vide le tamponEnd () : Fin du traitement de la page en cours.Flush (): Envoie et vide le buffer.Redirect ("URL") : Redirige sur une autre URL.Write ("chaine") : Écrit la chaîne dans le buffer.

Collection :Cookies : Collection de cookies

Page 7: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet Response - Exemple

<%@ LANGUAGE="JAVASCRIPT" %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY> <%

Response.clear ();

Response.Cookies("nom") = Resquest.QueryString("nom");

Response.end ();

%></BODY> </HTML>

Page 8: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet ServerL'objet ServerBoite à outils disponibles pour la création de script ASP.

Propriété :ScriptTimeout : Durée maximale d'exécution du script (par défaut fixé à 90s).

Permet d'éviter de surcharger le serveur et d'interrompre les scripts qui boucle, en attente de ressources verrouillées.

Méthodes :CreateObject (ID) : Instanciation Objet utilisable dans le script identifiée par sont

ClassID ou son ProgIDClassID : N° référencé dans le base des registresProgID : chaine identifiant l'objet à Instancier (ADOBD.Connection)Execute ("URL") : Exécute une URL. Le script courant reprend à la fin du

traitement de l'urlTransfert ("URL") : Passe la main à l'URL.MapPath ("URL") : Chemin physique complet de l'URL.GetLastError ( ) : Renvoie un objet ASPError contenant la description de la

dernière erreur rencontrée.

Page 9: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet ASPErrorL'objet ASPError

Disponible a partir de la version d'ASP 3.0. Il est accessible via la méthode GetLastError ( ) de l'objet Server.

Propriétés :ASPCode : N° d'erreur généré par IIS.

ASPDescription : Description de l'erreur si liée à ASP.

Source : Extrait du code source ayant provoqué l'erreur

Column : Position de l'erreur

Line : Ligne de l'erreur

File : Fichier ayant provoqué l'erreur

Description : Description de l'erreur.

Page 10: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet ApplicationL'objet Application

Cet objet permet de déclarer des variables et d'instancier des Objets disponibles par tous les utilisateurs de l'application.

Collection :Contents : collection de variablesStaticObjects : collection d'objets

Méthode :Contents.Remove ("nomvar") : supprime une variableContents.RemoveAll () : supprime toutes les variablesLock : Verrouille l'objet ApplicationUnlock : Déverrouille l'objet Application

Événement :onStart : Déclenché lorsque le premier utilisateur accède à l'applicationonEnd : Déclenché lorsque l'application prend fin.

Page 11: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet Session

L'objet Session

• L'objet Session est crée par tous visiteurs, lorsqu'il accède à sa première page ASP. Il a une durée de vie fixée par une temporisation (timeout).

• Cet objet permet de déclarer des variables et d'instancier des Objets disponibles par un utilisateur tout au long de sa session.

Collection :Contents : collection de variablesStaticObjects : collection d'objets

Propriété :SessionID : Lecture seule. Retourne l'identifiant de la session, unique pour

l'objet application.TimeOut : Lecture / Ecriture. Fixe la durée de vie de la session (en

minutes).

Page 12: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – l'objet Session

Méthode :Contents.Remove ("nomvar") : supprime une variable

Contents.RemoveAll ( ) : supprime toutes les variables

Abandon ( ) : Met fin à la session. L'accès à une autre page déclenchera le démarrage d'une nouvelle session

Événement :onStart : Déclenché au démarrage de la session

onEnd : Déclenché lorsque la session prend fin.

Page 13: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – Global.asa

• Le fichier Global.asa placé dans le répertoire racine de l'application est déclenché chaque fois qu'une application ou qu'une session débute.

• Il peut contenir les déclarations de variables et objets application et / ou Session.

• Il peut contenir le code des évènements déclenchés au démarrage et / ou à l'arrêt d'une application et / ou d'une session.

Attention : L'utilisation d'objets Application et / ou session peut altérer les performances.

ATTENTION : Leur utilisation doit se faire avec prudence.

Page 14: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

1. ASP - Le modèle Objet – Global.asa<OBJECT id="objDOM" runAt = "Server" Scope = "Application" progId = "MSXML2.DOMDocument"></OBJECT>

function Application_OnStart () {var date_jour;objDOM.load ("test.xml");date_jour = new Date ();Application ("date_jour") = date_jour.toString ();}

Pour mettre à jour une variable d'Application, il est important de verrouiller préalablement l'accès.

Application.lock ()Application("nom_var") = variable;Application.Unlock ();

Page 15: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

2. COM - Introduction à COM• COM (Component Object Model) conçus par Microsoft, est incontournable en ASP.

• COM est spécifique à Windows alors que ACTIVE X est multi-plate-forme.

• COM crée un standard en matière d’interopérabilité des composants. Il spécifie les règles de communication entre les composants.

• COM met à disposition un modèle de programmation efficace basé sur la programmation Objet facilitant l’intégration de composants.

• Dans une page ASP, le runtime COM est utilisé en permanence par l’interpréteur ASP, qui exécute le moteur Active Scripting pour convertir le code VBSCRIPT / JAVASCRIPT en appel COM.

• COM + est spécifique à Windows 2000, il enrichie le modèle COM de services de transactions (MTS Microsoft Transaction Server)).

• DCOM permet l’intégration dans les développements d’objets distribués.

Page 16: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

2. COM - Gestion des fichierLa gestion des fichiers s'effectue par l'utilisation de objet COM : Scripting.FileSystemObjectMéthodes :OpenTextFile (filename, [iomode, [create]] : Ouverture d'un fichier texte.filename : nom du fichieriomode : type d'ouverture du fichier

1 – Lecture 2 – Écriture3 – Ajout

create : true / false création du fichier

ReadLine ( ) : Lecture d'une ligneWriteLine ("chaine" ) : Ecriture d'une ligneClose ( ) : Fermeture du fichierPropriété :AtEndOfStream : Fin de fichier atteinteExemple : OpenTextFile("c:\testfile.txt", ForWriting, True)

Page 17: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

2. COM - Gestion des fichiersvar objHTMLFile;var tampon;var buffer;try {objHTMLFile =Server.CreateObject("Scripting.FileSystemObject");HTMLFile = Server.MapPath(file);lireFichier = objHTMLFile.OpenTextFile (HTMLFile, 1 ,false);tampon = "";buffer = "";while (!lireFichier.AtEndOfStream) {

buffer = lireFichier.ReadLine();tampon += buffer;

}}

catch (erreur) {tampon = "";

}return tampon;

Page 18: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

2. COM - Parsing XMLLe Parsing d'un fichier XML s'effectue en instanciant l'objet : MSXML2.DOMDocument

Méthodes :load ("URL") : Retourne un objet DOM. Chargement d ’un fichier XMLloadXML("chaine") : Retourne un objet DOM. Création d ’une DOM à partir d ’une chaine

Propriété :async : true /false (lecture synchrone / asynchrone)documentElement : racine

Page 19: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

2. COM - Parsing XML - ExemplexmlActu = Server.CreateObject("MSXML2.DOMDocument");

xmlActu.async = false;

if (xmlActu.load(cheminActuCanal)) {

racineActu = xmlActu.documentElement;

N_channel = racineActu.selectNodes("channel");

if (N_channel.length > 0) {

elementTitle=N_channel[0].getElementsByTagName("title").item(0);

Response.write (elementTitle.text); }} <document>

<channel><tile>XML</title><tile>HTML</title>

</channel></document >

Instanciation

Désactivation du mode AsynchroneLecture

RacineSélection de noeuds

Nombre de noeuds

Sélection d'éléments

Valeur de l'éléments

Page 20: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO

• ADO (Active X Data Objects) désigne des composants permettant d’interagir avec des sources de données.

• OLE DB permet l’accès aux données, mais n’est pas disponible dans tous les langages disponible pour C++ et JAVA.

• ADO propose une interface d’accès à OLE DB disponible pour ASP et Visual basic.

• ADO est permet d’établir une connexion avec toutes sources de données par opposition à ODBC qui est dédié aux SGBDR.

• ADO se situe donc entre l’application (consumer) et la source de données (provider).

Page 21: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO• L’objet connexion permet de se connecter à une source de données.

objCon = Server.CreateObject ("ADODB.connection");objCon.Open(chaineConnexion,UserID,Password)

• L’objet command permet d'exécuter des requêtes dites actions.objCom = Server.CreateObject ("ADODB.Command");objCom.commandText = "update personne set nom = 'martin'";objCom.commandType = objCom.adCmdText;objCom.Execute ();objCom.close ();

• L’objet Recordset contient l’ensemble des données extraites lors de l’exécution d’une commande. Cet objet contient notamment une collection Fields qui contient également une collection d’objets Field.

objCon = Server.CreateObject("ADODB.recordset");objCon.Open("select * from test.csv","DSN=test");objCon.moveFirst(); Response.Write(objCon.fields(1).value);objCon.close ();

Autres fonctions moveLast, moveNext, update, delete, addNew

Page 22: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO – Les types de curseurs

Open(sql,Objconnexion,typeCurseur)

• Statique (adopenStatic). Le resultset est figé les modifications effectuées par les autres utilisateurs ne sont pas visibles.

• Déplacement vers l'avant (adOpenForwardOnly). Par défaut, Idem précédent, déplacement uniquement vers l'avant. (gain en performance car le curseur peut oublier les lignes passées).

• Dynamique (adOpenDynamic). Tous les changements effectués par les autres utilisateurs sont visibles dans le recordSet.

• Jeu de Clés (adOpenKeySet). Idem précédent. Si des enregistrements sont crées par des autres utilisateurs, ils ne sont pas visibles.

Page 23: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO – Les types de verrous

Open(sql,Objconnexion,typeCurseur,typeVerrous)

• Lecture seule (adLockReadOnly). Par défaut. Enregistrement en lecture seule.

• Pessimiste (adLockPessimistic). Verrouillage effectué lors de l'édition.

• Optimiste (adLockOptimistic). Verrouillage effectué lors de l'update.

• Optimiste par lots (adLockBatchOptimistic). Verrouillage d'un ensemble d'enregistrement doit être utilisé conjointement à la méthodes updateBatch ().

Open(sql,Objconnexion,typeCurseur,typeVerrous,options)

• admCmdText : chaine contenant une requête sql

• admCmdTable : chaine contenant le nom d'une table

• admCmdStoredProc : chaine contenant une proc stock.

Page 24: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO – Exemple

<%@ language=Javascript%><% Response.write ("<HTML><BODY>");

objCon = Server.CreateObject("ADODB.recordset");

objCon.Open("select * from test.csv","DSN=test",objCon.adOpenDynamic);

while (!objCon.eof) {Response.Write("<BR>" + objCon.fields(1).value);objCon.moveNext();

}

objCon.close();

Response.write ("</BODY></HTML>");%>

Page 25: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

3. ADO - Les bases d’ADO – Les TransactionsobjCon.BeginTrans(); : Début d'une transaction

objCon.RollBackTrans(); : Annulation de la transaction

objCon.CommitTrans(); Validation de la transaction

conn = Server.CreateObject("ADODB.Connection");connstring = "driver={SQL Server};server=localhost;”connstring += “uid=sa; pwd=pwd; database=Pubs;”

conn.open(connstring);conn.BeginTrans ();

try {conn.Execute (“update personne set nom = ‘martin’");conn.CommitTrans();

}catch (erreur) {

conn.RollbackTrans();}

Page 26: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

4. Les références La bibliographie

ASP 3 de FRANTZ, Gérard OSMAN EYROLLES MULTIMEDIA

ASP 3.0 PROFESSIONNEL de FRANCIS, Brian EYROLLES

Page 27: CHAPITRE 8 INTRODUCTION A ASP. 1. ASP - Introduction ASP (Active Server Page) est un standard Microsoft permettant de générer des pages WEB à la volées

5. Les sites WEB

www.commentcamarche.net

msdn.microsoft.com/scripting/