Web dynamique Introduction à ASP Saïd Radhouani Université de Genève avril 2005
Le Web : Plus de besoins, plus de fonctionnalités Affichage de données en temsp réel (météo, bourse, aéroport, etc.) Affichage de valeurs claculées (age, prix, etc.) Apparition du commerce électronique    Web dynamique 19 avril 2005 Saïd Radhouani - CUI
Web statique / Web dynamique Page statique :  les pages HTML publiées ne changent pas tant que le webmaster n'a pas effectué des modif. tous les clients reçoivent la même page la page est créée par le webmaster et stockée sur le disque dur du serveur Page dynamique : les pages HTML changent automatiquement sans intervention du webmaster les clients ne recevoivent pas forcément la même page la page est créée par le serveur pour un client particulier 19 avril 2005 Saïd Radhouani - CUI
Pages dynamiques Exécution d'un programme sur  le serveur  et création de la page La page html envoyée est générée dynamiquement 19 avril 2005 Saïd Radhouani - CUI Navigateur  web (client) <html> … </html> http://www. ...[paramètres] page html Serveur Web La page HTML est créée en fonction de la requête HTTP Le client reçoit la page dont le contenu est créé en temps réel Chaque client reçoit une page dont le contenu est dépendant de sa requête
Démo http://www.gva.ch/fr/default.htm http://www.gva.ch/fr/main.asp   http://www.gva.ch/fr/inst/galerie.asp  (Formulaire + ASP) http://fr.news.yahoo.com/meteo/ 19 avril 2005 Saïd Radhouani - CUI
Pages dynamiques Utiliser un langage de script pour créer des pages dynamiques Les scripts sont incorporés dans le document HTML les scripts s'exécutent sur le  serveur Technologies : ASP ( Active Server Pages ) - Microsoft PHP – Unix, Linux CGI 19 avril 2005 Saïd Radhouani - CUI
Interprétation d'un script ASP 19 avril 2005 Saïd Radhouani - CUI Script Page HTML Base de  données Page ASP Interprète ------------ ------------   ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ Navigateur  web (client) <html> … </html> http://www.....asp page html Serveur Web
La technologie ASP ASP  ( Active Server Pages ) est un standard mis au point par Microsoft en 1996 Il  permet de développer des  sites  Web  dynamiques U ne page web ASP (fichier  .asp ) aura un contenu pouvant être différent selon certains paramètres (des informations stockées dans une base de données, les préférences de l'utilisateur,...) ASP est une technologie, ou plus exactement un environnement de programmation Il  permet de représenter sous forme d’ OBJETS  les interactions entre  le  navigateur du client ,  le serveur web , ainsi que les connexions à des  bases de données 19 avril 2005 Saïd Radhouani - CUI
La technologie ASP L es Active Server Pages s'inscrivent dans une  architecture 3-tier, U n  serveur  supportant les Active Server Pages peut servir  d'intermédiaire  entre  le navigateur du  client  et  une  base de données G râce à la technologie  ADO  ( ActiveX Data Objects )  on   peut faire un  accès transparent à  la base de données, L a technologie  ADO  fournit les éléments nécessaires à la connexion à un  système de gestion de bases de données , à la manipulation des données grâce au   langage SQL 19 avril 2005 Saïd Radhouani - CUI
La technologie ASP 19 avril 2005 Saïd Radhouani - CUI Source : commentcamarche.com
Qu'est ce qu'un fichier .ASP Fichier .asp = fichier texte  contenant  toutes les combinaisons possibles des éléments suivants :  Texte Balises HTML  Commandes de script Les ASP sont intégrables au sein d'une page Web en  HTML Balises spéciales  Serveur :  interpréter le code entre ces balises renvoyer des données au navigateur 19 avril 2005 Saïd Radhouani - CUI
ASP – Principe de fonctionnement Lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisé avec la technologie ASP:  L e serveur reconnaît qu'il s'agit d'un fichier ASP grâce à son extension I l lit le fichier ASP Dès qu 'il  rencontre une balise indiquant que les lignes suivantes sont du code ASP, il ne lit plus les instructions  mais  il les  interprète ! une instruction => la transmettre à l'interpréteur L'interpréteur exécute l'instruction puis envoie les sorties au serveur A la fin du script, le serveur transmet le résultat au client (le navigateur) 19 avril 2005 Saïd Radhouani - CUI
Insertion de script Langage des scripts -> balisage spécifique. L e langage utilisé pour écrire les scripts peut-être au choix  :  le  VBscript  ou bien le Jscript Syntaxe : <SCRIPT language=&quot;VBScript|Jscript&quot; [runat=&quot;server|client&quot;] [src=&quot;url&quot;] > code du script </SCRIPT> 19 avril 2005 Saïd Radhouani - CUI
Insertion de script La balise  language  est obligatoire Définir le langage devant être utilisé lors de l'interprétation La balise  runat   est  optionnelle Définir à quel niveau doit être interprété le script Si la valeur  =  « server»      le serveur se chargera d'interpréter le code du script et renverra les réponses au navigateur Si  la valeur  = « client»      le code sera renvoyé tel quel (sans interprétation) au navigateur, qui sera chargé   d'interpréter le script La balise  src   est   optionnelle Faire appel à une portion de code définie dans un fichier extérieur repéré par son emplacement (URL ou chemin relatif) 19 avril 2005 Saïd Radhouani - CUI
Insertion de script ASP propose une façon simplifiée de définir un bloc de script :  <% code du script %> N e définit pas le type de langage à utiliser lors de  l 'interprétation A fin de définir le langage de script de la page , i l est nécessaire d' utiliser la commande   <%@ LANGUAGE %>  en début d u  fichier La syntaxe :   <%@ LANGUAGE=&quot;LangageDeScript&quot; %> LangageDeScript   :  le langage de script qui sera utilisé dans la suite du fichier 19 avril 2005 Saïd Radhouani - CUI
Exemple de script Écrit en VBScript <%@ LANGUAGE=&quot;VBSCRIPT&quot; %>  <HTML>  <HEAD>  <TITLE>Exemple de script ASP</TITLE> </HEAD>  <BODY>  <% FOR i = 1 to 10 %> Bienvenue <% Next %> </BODY>  </HTML>    Répéter 10 fois l'affichage de la chaîne  Bienvenue 19 avril 2005 Saïd Radhouani - CUI
Exemple de script Le même code écrit en JScript <%@ LANGUAGE=&quot;JSCRIPT&quot; %>  <HTML>  <HEAD>  <TITLE>Exemple de script ASP</TITLE>  </HEAD>  <BODY>  <% for(i=1;i<=10;i++){%> Bienvenue  <% } %>  </BODY>  </HTML> 19 avril 2005 Saïd Radhouani - CUI
Exemple de script <% If Time  > =  #12:00:00 AM#  And Time  <  #12:00:00 PM#  Then greeting  = &quot; Bonjour ! &quot;   Else  greeting  =  &quot; Hello ! &quot;   End If   %> <FONT COLOR=&quot;GREEN&quot;> <%= greeting %> </FONT> U n utilisateur qui affiche ce script avant 12:00 (midi dans le fuseau horaire du serveur Web) voit apparaître   Bonjour  ! Un utilisateur qui affiche ce script à midi pile ou après midi, voit apparaître  Hello ! 19 avril 2005 Saïd Radhouani - CUI
Exemple de script Inclusion de texte HTML dans une instruction <FONT COLOR=&quot;GREEN&quot;>  <% If Time > = #12:00:00 AM# And Time <   #12:00:00 PM# Then %>  Bonjour !  <% Else   %>   &quot; Hello ! &quot;   <% End If   %> </FONT> 19 avril 2005 Saïd Radhouani - CUI
Exemple de script Date courante  :  <%=date%> Date et heure  co urantes  :  <%=now%> Heure courante  :  <%=time%> 19 avril 2005 Saïd Radhouani - CUI
Les objets de base des Active Server Pages Les  ASP  sont basées sur des  objets  manipulés par le serveur et permettant de réaliser de nombreuses applications  :  I nteractions entre  le navigateur du client ,  le serveur web , ainsi que les connexions à des  bases de données Il existe 7 objets : Application ObjectContext Request Response Server Session ASPerror 19 avril 2005 Saïd Radhouani - CUI
Les objets de base des Active Server Pages Chaque objet a : Les collections : une structure de données (une sorte de tableau) contenant un ensemble de valeurs repérées par une clé Chaque objet peut contenir plusieurs collections de variables Une valeur d'une collection d'un objet est accessible par la syntaxe suivante :  objet.collection(&quot;clé&quot;) eg. Request.form rassemble le contenu d’un formulaire Les propriétés : une valeur spécifique directement accessible  On accède à une propriété d'un objet ASP par la syntaxe  objet.propriete Les méthodes : des fonctions standards associées à un objet, permettant de manipuler des valeurs passées en argument.  La syntaxe d'une méthode :  objet.methode(arguments) 19 avril 2005 Saïd Radhouani - CUI
L'objet Request Récupérer les informations que le navigateur a transmises au serveur dans la  requête HTTP Rassembler dans différentes collections le message HTTP que le navigateur a envoyé ex:  un  objet  qui  contient dans une  collection  spéciale le contenu du formulaire que l'on aura envoyé Exemples : Request. Form(&quot;champ&quot;) : récupère la valeur associée à un champ d'un formulaire <% var lenom = Request(&quot;nom&quot;); %>  Bonjour <%=lenom %> IP = Request.ServerVariables(&quot;REMOTE_ADDR&quot;)  : permet de stocker dans une variable, l'adresse IP d'un visiteur IP = Request.ServerVariables(&quot;  HTTP_USER_AGENT&quot;) : marque du navigateur client variable = Request.QueryString(“var1”) : récupérer le contenu de var1 19 avril 2005 Saïd Radhouani - CUI
L'objet Response Créer la  réponse HTTP   qui sera envoyée au   navigateur Manipuler l'ensemble des informations à destination du navigateur => Écrire dynamiquement du code HTML à partir du code ASP Exemple : Response.Write(&quot;Hello&quot;) :  é crit une chaîne  de caractères <%  IP = Request.ServerVariables(&quot;REMOTE_ADDR&quot;) Response.Write(&quot;votre adresse IP est : &quot; + IP)  %> 19 avril 2005 Saïd Radhouani - CUI
Exemple avec la méthode GET GET =>  transmettre la variable via l'URL de la page qui doit la recevoir <% var1 = &quot;toto » Response.Redirect(&quot;page2.asp?var1=&quot; & var1) ' Si on veut faire une redirection vers page2.asp Response.Write(&quot;<A href=&quot;&quot;page2.asp?var1=&quot;&quot;&quot; & var1 & &quot;>mon lien</A>&quot;) ' Si on veut faire un lien vers page2.asp %> => page2.asp reçoit le contenu de var1 via l'URL. Cette variable peut alors être récupérée et utilisée de la façon suivante : <% ... var1 = Request.QueryString(&quot;var1&quot;) ... %> 19 avril 2005 Saïd Radhouani - CUI
L 'objet  Application Une application représente un ensemble de fichiers .asp situés dans un même répertoire (et ses sous répertoires) => l’ensemble des fonctions réalisées par les pages ASP L'objet Application représente l'application Web  : gros container qui contient des données dynamiques valables pour tous les visiteurs du site à tout instant eg. le nombre de visiteurs en cours par exemple Contient des informations susceptibles d'être accédées et modifiées par les utilisateurs connectés aux fichiers concernées (les fichiers formant une application)   Permet de partager des informations entre plusieurs utilisateurs d'une application 19 avril 2005 Saïd Radhouani - CUI
L 'objet  Application -  exemple <%  Application.Lock Application(&quot;NumVisits&quot;) = Application(&quot;NumVisits&quot;) + 1 Application.Unlock %>  Cette page d'application a été visitée <%= Application(&quot;NumVisits&quot;) %> fois !  L a variable d'application  NumVisits   contient  le nombre d'accès enregistré pour une page spécifique La méthode  Lock  est appelée afin que seul le client actuel puisse accéder ou modifier  NumVisits L'appel de la méthode  Unlock  permet ensuite aux autres utilisateurs d'accéder à l'objet  Application 19 avril 2005 Saïd Radhouani - CUI
L'objet Session Une session est un environnement propre à chaque visiteur du site (eg. Boite email) Définir des variables  spécifiques  à chaque utilisateur eg. le  login et le mot de passe,  la liste des articles qu'il est en train de commander sur un site marchand, etc. Le serveur Web crée automatiquement un objet Session, lorsqu'une page Web de l'application est demandée par un utilisateur qui n'a pas encore de session Les  informations  stockées dans l'objet Session ne sont pas annulées lorsque l'utilisateur passe d'une page à une autre dans l'application  : elles  persistent pendant toute la durée de la session de l'utilisateur  (p ar défaut, les sessions expirent au bout de 20 minutes) Le serveur détruit l'objet Session lorsque la session expire ou lorsqu'elle est abandonnée 19 avril 2005 Saïd Radhouani - CUI
L'objet Session - exemple Si le login et le mot de passe sont corrects, on stocke ces données et la date de début de session dans des variables de session <% ... Session(&quot;debut&quot;) = now() Session(&quot;login&quot;) = login Session(&quot;mot_de_passe&quot;) = mot_de_passe ... ' Pour utiliser ces variables, on procède comme suit Response.Write(&quot;Login : &quot; & Session(&quot;login&quot;)) %> Attribuer une durée de vie aux sessions :  Session.Timeout = 5 (en minutes) Détruire un objet Session  : Session.Abandon() 19 avril 2005 Saïd Radhouani - CUI
Les évènements On peut les séparer dans le fichier global.asa <SCRIPT language=&quot;VBScript&quot; runat=&quot;server&quot;> ' Evénement de démarrage d'application : l'application démarre, il faut initialiser le compteur de visiteurs Sub Application_OnStart Application(&quot;visiteurs&quot;) = 0 End Sub ' Evénement de fin d'application Sub Application_OnEnd code VBScript End Sub 19 avril 2005 Saïd Radhouani - CUI
Les évènements - suite ' Evénement de début de session : on dit quand la session a commence et on incrémente le compteur de visiteurs courants Sub Session_OnStart Session(&quot;debut&quot;) = now() Application.Lock Application(&quot;visiteurs&quot;) = Application(&quot;visiteurs&quot;) + 1 Application.UnLock End Sub ' Evénement de fin de session : on décrémente le compteur de visiteurs courants Sub Session_OnEnd Application.Lock Application(&quot;visiteurs&quot;) = Application(&quot;visiteurs&quot;) - 1 Application.UnLock End Sub </SCRIPT>  19 avril 2005 Saïd Radhouani - CUI
L'objet Server I l contient les informations propres au serveur web Gérer (sans administrer) quelques paramètres du serveur Web et instancier les objets de l'utilisateur Fournir l'accès à des méthodes et à des propriétés sur le serveur Exemples : Server.CreateObject : créer un objet Server.ScriptTimeOut = x x = l' intervalle de temps  (en secondes)  pendant lequel un script peut être exécuté avant qu'il ne dépasse le délai (arr êt automatique par le serveur) 19 avril 2005 Saïd Radhouani - CUI
ASPError / ObjectContext L'objet  ASPError   permet de recueillir des informations sur les erreurs survenues lors de l'exécution du code ASP de la page. Exemple :  Server.GetLastError : récupérer une erreur ASPError.Line : renvoie le numéro de la ligne du fichier .asp qui a généré l'erreur L'objet  ObjectContext  permet de contrôler les éventuelles transactions avec le serveur Déclarer  @Transaction sur la première ligne du script ASP Une transaction est une opération qui réussit ou échoue de manière globale. Exemple :  Mise à jour des bases de données de façon fiable Une transaction bancaire (si la position du compte passe au dessous de 0) 19 avril 2005 Saïd Radhouani - CUI
Les objets de ASP 19 avril 2005 Saïd Radhouani - CUI Source :  http://www.egs-howto.com
Connectivité aux base de données 19 avril 2005 Saïd Radhouani - CUI
Connectivité aux base de données ADO - Activex Data Object :  une technologie permettant d’accéder à des bases de données, notamment par le biais de s  pages Web Intégrer des fonctions de gestion de bases de données dans des sites Simple boites noire : à l'intérieur : contient des mécanismes spéciaux permettant d'effectuer certaines fonctions et de réaliser certaines t â ches comment se connecter à des bases de données ODBC (Open Data Base Connectivity) ou à des sources de données OLE DB  (Object Linking and Embedded DataBase) comment naviguer dans les enregistrements d'une base, comment réaliser des requêtes et mettre à jours des bases de données à l'extérieur, procure des interfaces permettant d'utiliser toutes ces fonctions sans avoir à connaître les mécanismes spécifiques nécessaires à la réalisation directe des opérations 19 avril 2005 Saïd Radhouani - CUI
Principe de fonctionnement Pour un développeur web, il suffit de : Insérer un objet ADO dans sa page ASP Spécifier une source de données et commencer à communiquer avec cette source Il faut avoir une base de données et des fichiers ASP stockés sur le serveur Il faut configurer la base de données : dire à l'ADO où il pourra trouver les informations concernant la configuration de votre base de données et ses drivers 19 avril 2005 Saïd Radhouani - CUI
Principe de fonctionnement Une fois la BD est configurée, on peut commencer à écrire les scripts ASP qui vont accéder à la base de données et la manipuler Première étape : créer la connexion Créer une instance d'un objet ADOB.Connection en utilisant Server.CreateObject Une fois, la connexion est établie, on peut commencer à interroger la base de données Deuxième étape : créer un deuxième objet ADO appelé Recordset Cet objet contient l'ensemble des valeurs retournées par la requête SQL Il comprend des méthodes qui permettent d'afficher les lignes et les enregistrements qu'ils contiennent, de modifier le contenu de la base de données, etc. 19 avril 2005 Saïd Radhouani - CUI

Active Server Pages (ASP)

  • 1.
    Web dynamique Introductionà ASP Saïd Radhouani Université de Genève avril 2005
  • 2.
    Le Web :Plus de besoins, plus de fonctionnalités Affichage de données en temsp réel (météo, bourse, aéroport, etc.) Affichage de valeurs claculées (age, prix, etc.) Apparition du commerce électronique  Web dynamique 19 avril 2005 Saïd Radhouani - CUI
  • 3.
    Web statique /Web dynamique Page statique : les pages HTML publiées ne changent pas tant que le webmaster n'a pas effectué des modif. tous les clients reçoivent la même page la page est créée par le webmaster et stockée sur le disque dur du serveur Page dynamique : les pages HTML changent automatiquement sans intervention du webmaster les clients ne recevoivent pas forcément la même page la page est créée par le serveur pour un client particulier 19 avril 2005 Saïd Radhouani - CUI
  • 4.
    Pages dynamiques Exécutiond'un programme sur le serveur et création de la page La page html envoyée est générée dynamiquement 19 avril 2005 Saïd Radhouani - CUI Navigateur web (client) <html> … </html> http://www. ...[paramètres] page html Serveur Web La page HTML est créée en fonction de la requête HTTP Le client reçoit la page dont le contenu est créé en temps réel Chaque client reçoit une page dont le contenu est dépendant de sa requête
  • 5.
    Démo http://www.gva.ch/fr/default.htm http://www.gva.ch/fr/main.asp http://www.gva.ch/fr/inst/galerie.asp (Formulaire + ASP) http://fr.news.yahoo.com/meteo/ 19 avril 2005 Saïd Radhouani - CUI
  • 6.
    Pages dynamiques Utiliserun langage de script pour créer des pages dynamiques Les scripts sont incorporés dans le document HTML les scripts s'exécutent sur le serveur Technologies : ASP ( Active Server Pages ) - Microsoft PHP – Unix, Linux CGI 19 avril 2005 Saïd Radhouani - CUI
  • 7.
    Interprétation d'un scriptASP 19 avril 2005 Saïd Radhouani - CUI Script Page HTML Base de données Page ASP Interprète ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ Navigateur web (client) <html> … </html> http://www.....asp page html Serveur Web
  • 8.
    La technologie ASPASP ( Active Server Pages ) est un standard mis au point par Microsoft en 1996 Il permet de développer des sites Web dynamiques U ne page web ASP (fichier .asp ) aura un contenu pouvant être différent selon certains paramètres (des informations stockées dans une base de données, les préférences de l'utilisateur,...) ASP est une technologie, ou plus exactement un environnement de programmation Il permet de représenter sous forme d’ OBJETS les interactions entre le navigateur du client , le serveur web , ainsi que les connexions à des bases de données 19 avril 2005 Saïd Radhouani - CUI
  • 9.
    La technologie ASPL es Active Server Pages s'inscrivent dans une architecture 3-tier, U n serveur supportant les Active Server Pages peut servir d'intermédiaire entre le navigateur du client et une base de données G râce à la technologie ADO ( ActiveX Data Objects ) on peut faire un accès transparent à la base de données, L a technologie ADO fournit les éléments nécessaires à la connexion à un système de gestion de bases de données , à la manipulation des données grâce au langage SQL 19 avril 2005 Saïd Radhouani - CUI
  • 10.
    La technologie ASP19 avril 2005 Saïd Radhouani - CUI Source : commentcamarche.com
  • 11.
    Qu'est ce qu'unfichier .ASP Fichier .asp = fichier texte contenant toutes les combinaisons possibles des éléments suivants : Texte Balises HTML Commandes de script Les ASP sont intégrables au sein d'une page Web en HTML Balises spéciales Serveur : interpréter le code entre ces balises renvoyer des données au navigateur 19 avril 2005 Saïd Radhouani - CUI
  • 12.
    ASP – Principede fonctionnement Lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisé avec la technologie ASP: L e serveur reconnaît qu'il s'agit d'un fichier ASP grâce à son extension I l lit le fichier ASP Dès qu 'il rencontre une balise indiquant que les lignes suivantes sont du code ASP, il ne lit plus les instructions mais il les interprète ! une instruction => la transmettre à l'interpréteur L'interpréteur exécute l'instruction puis envoie les sorties au serveur A la fin du script, le serveur transmet le résultat au client (le navigateur) 19 avril 2005 Saïd Radhouani - CUI
  • 13.
    Insertion de scriptLangage des scripts -> balisage spécifique. L e langage utilisé pour écrire les scripts peut-être au choix : le VBscript ou bien le Jscript Syntaxe : <SCRIPT language=&quot;VBScript|Jscript&quot; [runat=&quot;server|client&quot;] [src=&quot;url&quot;] > code du script </SCRIPT> 19 avril 2005 Saïd Radhouani - CUI
  • 14.
    Insertion de scriptLa balise language est obligatoire Définir le langage devant être utilisé lors de l'interprétation La balise runat est optionnelle Définir à quel niveau doit être interprété le script Si la valeur = « server»  le serveur se chargera d'interpréter le code du script et renverra les réponses au navigateur Si la valeur = « client»  le code sera renvoyé tel quel (sans interprétation) au navigateur, qui sera chargé d'interpréter le script La balise src est optionnelle Faire appel à une portion de code définie dans un fichier extérieur repéré par son emplacement (URL ou chemin relatif) 19 avril 2005 Saïd Radhouani - CUI
  • 15.
    Insertion de scriptASP propose une façon simplifiée de définir un bloc de script : <% code du script %> N e définit pas le type de langage à utiliser lors de l 'interprétation A fin de définir le langage de script de la page , i l est nécessaire d' utiliser la commande <%@ LANGUAGE %> en début d u fichier La syntaxe : <%@ LANGUAGE=&quot;LangageDeScript&quot; %> LangageDeScript : le langage de script qui sera utilisé dans la suite du fichier 19 avril 2005 Saïd Radhouani - CUI
  • 16.
    Exemple de scriptÉcrit en VBScript <%@ LANGUAGE=&quot;VBSCRIPT&quot; %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY> <% FOR i = 1 to 10 %> Bienvenue <% Next %> </BODY> </HTML>  Répéter 10 fois l'affichage de la chaîne Bienvenue 19 avril 2005 Saïd Radhouani - CUI
  • 17.
    Exemple de scriptLe même code écrit en JScript <%@ LANGUAGE=&quot;JSCRIPT&quot; %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY> <% for(i=1;i<=10;i++){%> Bienvenue <% } %> </BODY> </HTML> 19 avril 2005 Saïd Radhouani - CUI
  • 18.
    Exemple de script<% If Time > = #12:00:00 AM# And Time < #12:00:00 PM# Then greeting = &quot; Bonjour ! &quot; Else greeting = &quot; Hello ! &quot; End If %> <FONT COLOR=&quot;GREEN&quot;> <%= greeting %> </FONT> U n utilisateur qui affiche ce script avant 12:00 (midi dans le fuseau horaire du serveur Web) voit apparaître Bonjour  ! Un utilisateur qui affiche ce script à midi pile ou après midi, voit apparaître Hello ! 19 avril 2005 Saïd Radhouani - CUI
  • 19.
    Exemple de scriptInclusion de texte HTML dans une instruction <FONT COLOR=&quot;GREEN&quot;> <% If Time > = #12:00:00 AM# And Time < #12:00:00 PM# Then %> Bonjour ! <% Else %> &quot; Hello ! &quot; <% End If %> </FONT> 19 avril 2005 Saïd Radhouani - CUI
  • 20.
    Exemple de scriptDate courante : <%=date%> Date et heure co urantes : <%=now%> Heure courante : <%=time%> 19 avril 2005 Saïd Radhouani - CUI
  • 21.
    Les objets debase des Active Server Pages Les ASP sont basées sur des objets manipulés par le serveur et permettant de réaliser de nombreuses applications : I nteractions entre le navigateur du client , le serveur web , ainsi que les connexions à des bases de données Il existe 7 objets : Application ObjectContext Request Response Server Session ASPerror 19 avril 2005 Saïd Radhouani - CUI
  • 22.
    Les objets debase des Active Server Pages Chaque objet a : Les collections : une structure de données (une sorte de tableau) contenant un ensemble de valeurs repérées par une clé Chaque objet peut contenir plusieurs collections de variables Une valeur d'une collection d'un objet est accessible par la syntaxe suivante : objet.collection(&quot;clé&quot;) eg. Request.form rassemble le contenu d’un formulaire Les propriétés : une valeur spécifique directement accessible On accède à une propriété d'un objet ASP par la syntaxe objet.propriete Les méthodes : des fonctions standards associées à un objet, permettant de manipuler des valeurs passées en argument. La syntaxe d'une méthode : objet.methode(arguments) 19 avril 2005 Saïd Radhouani - CUI
  • 23.
    L'objet Request Récupérerles informations que le navigateur a transmises au serveur dans la requête HTTP Rassembler dans différentes collections le message HTTP que le navigateur a envoyé ex: un objet qui contient dans une collection spéciale le contenu du formulaire que l'on aura envoyé Exemples : Request. Form(&quot;champ&quot;) : récupère la valeur associée à un champ d'un formulaire <% var lenom = Request(&quot;nom&quot;); %> Bonjour <%=lenom %> IP = Request.ServerVariables(&quot;REMOTE_ADDR&quot;) : permet de stocker dans une variable, l'adresse IP d'un visiteur IP = Request.ServerVariables(&quot; HTTP_USER_AGENT&quot;) : marque du navigateur client variable = Request.QueryString(“var1”) : récupérer le contenu de var1 19 avril 2005 Saïd Radhouani - CUI
  • 24.
    L'objet Response Créerla réponse HTTP qui sera envoyée au navigateur Manipuler l'ensemble des informations à destination du navigateur => Écrire dynamiquement du code HTML à partir du code ASP Exemple : Response.Write(&quot;Hello&quot;) : é crit une chaîne de caractères <% IP = Request.ServerVariables(&quot;REMOTE_ADDR&quot;) Response.Write(&quot;votre adresse IP est : &quot; + IP) %> 19 avril 2005 Saïd Radhouani - CUI
  • 25.
    Exemple avec laméthode GET GET => transmettre la variable via l'URL de la page qui doit la recevoir <% var1 = &quot;toto » Response.Redirect(&quot;page2.asp?var1=&quot; & var1) ' Si on veut faire une redirection vers page2.asp Response.Write(&quot;<A href=&quot;&quot;page2.asp?var1=&quot;&quot;&quot; & var1 & &quot;>mon lien</A>&quot;) ' Si on veut faire un lien vers page2.asp %> => page2.asp reçoit le contenu de var1 via l'URL. Cette variable peut alors être récupérée et utilisée de la façon suivante : <% ... var1 = Request.QueryString(&quot;var1&quot;) ... %> 19 avril 2005 Saïd Radhouani - CUI
  • 26.
    L 'objet Application Une application représente un ensemble de fichiers .asp situés dans un même répertoire (et ses sous répertoires) => l’ensemble des fonctions réalisées par les pages ASP L'objet Application représente l'application Web : gros container qui contient des données dynamiques valables pour tous les visiteurs du site à tout instant eg. le nombre de visiteurs en cours par exemple Contient des informations susceptibles d'être accédées et modifiées par les utilisateurs connectés aux fichiers concernées (les fichiers formant une application) Permet de partager des informations entre plusieurs utilisateurs d'une application 19 avril 2005 Saïd Radhouani - CUI
  • 27.
    L 'objet Application - exemple <% Application.Lock Application(&quot;NumVisits&quot;) = Application(&quot;NumVisits&quot;) + 1 Application.Unlock %> Cette page d'application a été visitée <%= Application(&quot;NumVisits&quot;) %> fois ! L a variable d'application NumVisits contient le nombre d'accès enregistré pour une page spécifique La méthode Lock est appelée afin que seul le client actuel puisse accéder ou modifier NumVisits L'appel de la méthode Unlock permet ensuite aux autres utilisateurs d'accéder à l'objet Application 19 avril 2005 Saïd Radhouani - CUI
  • 28.
    L'objet Session Unesession est un environnement propre à chaque visiteur du site (eg. Boite email) Définir des variables spécifiques à chaque utilisateur eg. le login et le mot de passe, la liste des articles qu'il est en train de commander sur un site marchand, etc. Le serveur Web crée automatiquement un objet Session, lorsqu'une page Web de l'application est demandée par un utilisateur qui n'a pas encore de session Les informations stockées dans l'objet Session ne sont pas annulées lorsque l'utilisateur passe d'une page à une autre dans l'application  : elles persistent pendant toute la durée de la session de l'utilisateur (p ar défaut, les sessions expirent au bout de 20 minutes) Le serveur détruit l'objet Session lorsque la session expire ou lorsqu'elle est abandonnée 19 avril 2005 Saïd Radhouani - CUI
  • 29.
    L'objet Session -exemple Si le login et le mot de passe sont corrects, on stocke ces données et la date de début de session dans des variables de session <% ... Session(&quot;debut&quot;) = now() Session(&quot;login&quot;) = login Session(&quot;mot_de_passe&quot;) = mot_de_passe ... ' Pour utiliser ces variables, on procède comme suit Response.Write(&quot;Login : &quot; & Session(&quot;login&quot;)) %> Attribuer une durée de vie aux sessions : Session.Timeout = 5 (en minutes) Détruire un objet Session : Session.Abandon() 19 avril 2005 Saïd Radhouani - CUI
  • 30.
    Les évènements Onpeut les séparer dans le fichier global.asa <SCRIPT language=&quot;VBScript&quot; runat=&quot;server&quot;> ' Evénement de démarrage d'application : l'application démarre, il faut initialiser le compteur de visiteurs Sub Application_OnStart Application(&quot;visiteurs&quot;) = 0 End Sub ' Evénement de fin d'application Sub Application_OnEnd code VBScript End Sub 19 avril 2005 Saïd Radhouani - CUI
  • 31.
    Les évènements -suite ' Evénement de début de session : on dit quand la session a commence et on incrémente le compteur de visiteurs courants Sub Session_OnStart Session(&quot;debut&quot;) = now() Application.Lock Application(&quot;visiteurs&quot;) = Application(&quot;visiteurs&quot;) + 1 Application.UnLock End Sub ' Evénement de fin de session : on décrémente le compteur de visiteurs courants Sub Session_OnEnd Application.Lock Application(&quot;visiteurs&quot;) = Application(&quot;visiteurs&quot;) - 1 Application.UnLock End Sub </SCRIPT> 19 avril 2005 Saïd Radhouani - CUI
  • 32.
    L'objet Server Il contient les informations propres au serveur web Gérer (sans administrer) quelques paramètres du serveur Web et instancier les objets de l'utilisateur Fournir l'accès à des méthodes et à des propriétés sur le serveur Exemples : Server.CreateObject : créer un objet Server.ScriptTimeOut = x x = l' intervalle de temps (en secondes) pendant lequel un script peut être exécuté avant qu'il ne dépasse le délai (arr êt automatique par le serveur) 19 avril 2005 Saïd Radhouani - CUI
  • 33.
    ASPError / ObjectContextL'objet ASPError permet de recueillir des informations sur les erreurs survenues lors de l'exécution du code ASP de la page. Exemple : Server.GetLastError : récupérer une erreur ASPError.Line : renvoie le numéro de la ligne du fichier .asp qui a généré l'erreur L'objet ObjectContext permet de contrôler les éventuelles transactions avec le serveur Déclarer @Transaction sur la première ligne du script ASP Une transaction est une opération qui réussit ou échoue de manière globale. Exemple : Mise à jour des bases de données de façon fiable Une transaction bancaire (si la position du compte passe au dessous de 0) 19 avril 2005 Saïd Radhouani - CUI
  • 34.
    Les objets deASP 19 avril 2005 Saïd Radhouani - CUI Source : http://www.egs-howto.com
  • 35.
    Connectivité aux basede données 19 avril 2005 Saïd Radhouani - CUI
  • 36.
    Connectivité aux basede données ADO - Activex Data Object : une technologie permettant d’accéder à des bases de données, notamment par le biais de s pages Web Intégrer des fonctions de gestion de bases de données dans des sites Simple boites noire : à l'intérieur : contient des mécanismes spéciaux permettant d'effectuer certaines fonctions et de réaliser certaines t â ches comment se connecter à des bases de données ODBC (Open Data Base Connectivity) ou à des sources de données OLE DB (Object Linking and Embedded DataBase) comment naviguer dans les enregistrements d'une base, comment réaliser des requêtes et mettre à jours des bases de données à l'extérieur, procure des interfaces permettant d'utiliser toutes ces fonctions sans avoir à connaître les mécanismes spécifiques nécessaires à la réalisation directe des opérations 19 avril 2005 Saïd Radhouani - CUI
  • 37.
    Principe de fonctionnementPour un développeur web, il suffit de : Insérer un objet ADO dans sa page ASP Spécifier une source de données et commencer à communiquer avec cette source Il faut avoir une base de données et des fichiers ASP stockés sur le serveur Il faut configurer la base de données : dire à l'ADO où il pourra trouver les informations concernant la configuration de votre base de données et ses drivers 19 avril 2005 Saïd Radhouani - CUI
  • 38.
    Principe de fonctionnementUne fois la BD est configurée, on peut commencer à écrire les scripts ASP qui vont accéder à la base de données et la manipuler Première étape : créer la connexion Créer une instance d'un objet ADOB.Connection en utilisant Server.CreateObject Une fois, la connexion est établie, on peut commencer à interroger la base de données Deuxième étape : créer un deuxième objet ADO appelé Recordset Cet objet contient l'ensemble des valeurs retournées par la requête SQL Il comprend des méthodes qui permettent d'afficher les lignes et les enregistrements qu'ils contiennent, de modifier le contenu de la base de données, etc. 19 avril 2005 Saïd Radhouani - CUI

Notes de l'éditeur

  • #9 Le choix du langage se fait en fonction de ses capacités et de nos besoins. ASP ne marche pas seulement sur IIS, il marche aussi sur les serveurs Web Lotusou Netscape.. Ici on décrit ASP 3.0
  • #11 Exemple de serveur : Microsoft IIS sous Windows NT Server 4.0 Microsoft Peer web services sous windows NT Wokstation 4.0 Microsoft Personal Web server sous windows 95, 98 Chili ASP! sous unix et linux Instant ASP! sur tout autre serveur
  • #12 Une commande de script donne à votre ordinateur l&apos;instruction d&apos;effectuer une tâche quelconque, comme par exemple d&apos;affecter une valeur à une variable renvoyer des données (généralement du code HTML) au navigateur du client
  • #13 Un script ASP est interprété par le serveur, les utilisateurs ne peuvent donc pas voir le code source D ans la mesure où l&apos;interprétation du code se fait sur le serveur, aucune modification n&apos;est à réaliser sur les navigateurs Les scripts ASP, une fois interprétés par le serveur , ont donc pour effet de produire l&apos;envoi de la réponse HTTP au navigateur, ainsi que des traitements éventuels effectués au niveau du serveur et non visibles dans le code résultant (connexion à une base de données par exemple).
  • #18 Jscript : Chez Microsoft, nous en sommes à JScript® 5.1, qui d&apos;après le créateur est le premier langage de script totalement conforme à ECMAScript. Même tableau que pour Netscape. JavaScript : JavaScript est un langage conçu par Netscape à partir de la syntaxe de Java. De ce grand frère, il garde son orientation objet, mais il a été conçu uniquement pour le Web, si bien qu&apos;il est impossible de programmer une application JavaScript exécutable hors d&apos;un navigateur.
  • #23 La programmation orientée objet consiste à modéliser informatiquement un ensemble d&apos;éléments d&apos;une partie du monde réel (que l&apos;on appelle domaine ) en un ensemble d&apos;entités informatiques. Ces entités informatiques sont appelées objets . Il s&apos;agit de données informatiques regroupant les principales caractéristiques des éléments du monde réel (taille, la couleur, ...)
  • #24 Request.QueryString est une collecion représentant la chaine de requête (query string) qui a permis d&apos;appeler la page ASP
  • #27 On utilise les évènements pour définir des variables d’application (variables globales, variabls pour tous les utilisaturs en m ême temps quelque soit le visiteur et la page demandée) Il contient des informations susceptibles d&apos;être accédés et modifiés par les utilisateurs connectés aux fichiers concernées (les fichiers formant une application)
  • #28 Dans la mesure où l&apos;objet Application peut être partagé par plusieurs utilisateurs, le rôle des méthodes Lock et Unlock est d&apos;empêcher que plusieurs utilisateurs essaient simultanément de modifier une propriété.
  • #37 OLE DB (Object Linking and Embedded DataBase) est en fait une API que se doivent de respecter tous les concepteurs de bases de données, pour la mise en oeuvre des pilotes (des drivers) OLE DB, s&apos;ils souhaitent que leurs bases soient utilisables dans l&apos;environnement Microsof t ADO ne permet pas de se connecter directement à une base de données particulière : cette API passe obligatoirement par OLE DB. Le seul réel lien entre ADO et la base est ce qu&apos;on appelle la chaîne de connexion. Cette chaîne permet de simplement spécifier le pilote (le driver) qu&apos;OLE DB se devra d&apos;instancier. Ainsi via OLE DB, vous accéderez à la base de données souhaitée Il existe des pilotes (des drivers) OLE DB pour quasiment toutes les bases de données couramment utilisées. Vous ne devriez donc pas avoir de mal à trouver votre pilote, si vous ne l&apos;avez pas déjà. Le plus simple est de se connecter sur le site Web de la société éditrice de votre base de données ODBC signifie Open DataBase Connectivity. Il s&apos;agit d&apos;un format défini par Microsoft permettant la communication entre des clients bases de données fonctionnant sous Windows et les SGBD du marché Le gestionnaire ODBC est présent sur les systèmes Windows. Il existe toutefois des implémentations sur d&apos;autres plates-formes, notamment des plates-formes UNIX/Linux La technologie ODBC permet d&apos;interfacer de façon standard une application à n&apos;importe quel serveur de bases de données, pour peu que celui-ci possède un driver ODBC (la quasi-totalité des SGBD possèdent un tel pilote, dont tous les principaux SGBD du marché).