Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P....

22
Introduction Aux Systèmes d’Information et Multimédia T. Bourdeaud’huy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques

Transcript of Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P....

Page 1: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

Introduction Aux Systèmes d’Information et Multimédia

Introduction Aux Systèmes d’Information et Multimédia

T. Bourdeaud’huy S. Collart-Dutilleul

P. KubiakIG2I - Saison 2006/2007

ASP / Pages Web StatiquesASP / Pages Web Statiques

Page 2: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 2 T. Bourdeaud’huy – IG2I Saison 2006-2007

Séance 2Séance 2

QCM Fin du TP1 (Objets Request et Response) Objets Session, Application Objet Server Requêtes de bases de données

Page 3: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 3 T. Bourdeaud’huy – IG2I Saison 2006-2007

QCMQCM

Cf. moodle : http://nti.ec-lille.fr/pedagogie– Durée du test : 15 minutes, sans documents, 32 questions– Sujet : tout le poly de première séance (y compris objet

response)

Page 4: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

Correction des exercicesCorrection des exercices

Page 5: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 5 T. Bourdeaud’huy – IG2I Saison 2006-2007

Exercice 12Exercice 12

Réaliser une page HTML affichant un formulaire de Login Réaliser une page HTML affichant un formulaire de Login et Passwordet Password– Cette page envoie les données vers une page ASPCette page envoie les données vers une page ASP– Si les données correspondent à un login et pass de votre choix, Si les données correspondent à un login et pass de votre choix,

alors afficher Bienvenuealors afficher Bienvenue– Sinon, rediriger vers le formulaire initialSinon, rediriger vers le formulaire initial

Page 6: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 6 T. Bourdeaud’huy – IG2I Saison 2006-2007

Exercice 13Exercice 13

Comment faire pour afficher un message juste avant le Comment faire pour afficher un message juste avant le formulaire (« veuillez recommencer ») après chaque formulaire (« veuillez recommencer ») après chaque mauvaise tentative ?mauvaise tentative ?

Page 7: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 7 T. Bourdeaud’huy – IG2I Saison 2006-2007

Exercice 14Exercice 14

Réaliser un script utilisant les cookies pour passer des Réaliser un script utilisant les cookies pour passer des informations d’une page à une autreinformations d’une page à une autre– Une première page permettra de réaliser une vérification d’accès Une première page permettra de réaliser une vérification d’accès

et créer un cookieet créer un cookie– À la prochaine connexion sur le formulaire de connexion, le À la prochaine connexion sur le formulaire de connexion, le

script utilise les cookies pour remplir le formulairescript utilise les cookies pour remplir le formulaire

Page 8: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

Objets SESSION et APPLICATION

Objets SESSION et APPLICATION

Page 9: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 9 T. Bourdeaud’huy – IG2I Saison 2006-2007

Modèle général ASPModèle général ASP

Cli_1

Cli_2

Cookies

Serveur

Objet Application

Objet Session

Objet Server

Objet Response

Objet RequestEnvironnement d’exécution

Bases de données

Système de fichiers

Etendue Application

Etendue session

Global.asa

Page 10: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 10 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet APPLICATION /1Objet APPLICATION /1

Permet de partager des informations entre tous les utilisateurs du serveur ( variable globale)

Collections– Contents : éléments de l’application ajoutés avec des scripts

– StaticObjects : éléments de l’application ajoutés avec <object> dans le fichier global.asa

Méthodes– Lock : Empêche d’autres sessions de modifier les

propriétés de l’application

– UnLock : Autorise les modifications

– Contents.remove Supprime une variable de la collection

– Contents.removeAll Supprime toutes les variables de la collection

Page 11: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 11 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet APPLICATION /2Objet APPLICATION /2

Création d’une variable globale d’application– Application.Contents("variable")="valeur" – Contents est facultatif (collection par défaut)

Utilisation de la variable application– <%=Application("variable") %>– application.Contents.Remove("nom")– application.Contents.RemoveAll()

Exercice 15 : Créer un script ASP permettant à tout les utilisateurs d’afficher la dernière valeur du QueryString et de pouvoir la modifier

Exercice 16 : Transformer l’exercice précédent pour réaliser un « chat »– L’historique des messages est enregistré dans une variable d’application– Un formulaire permet de saisir un nouveau texte– Implémenter un mécanisme de protection contre les modifications concurrentes

Page 12: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 12 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet SESSION /1Objet SESSION /1

Permet de garder des informations durant la connexion d’un utilisateur

Collections– Contents : éléments de l’application ajoutés avec des scripts– StaticObjects : éléments de l’application ajoutés avec <object> dans

le fichier global.asa

Propriétés– CodePage : Définition de la page de code (jeu de caractères)– LCID : Identificateur géographique (une « locale »)– SessionID : Identifiant unique de la session en cours– Timeout : Délai d’expiration de la session (20 min par défaut)

Méthodes– Abandon : Détruit un objet Session et libère les

ressources– Contents.Remove : Supprime une variable de la collection– Contents.RemoveAll : Supprime toutes les variables de la collection

Page 13: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 13 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet SESSION /2Objet SESSION /2

Création d’une variable de session– Session("variable")="valeur" 

Utilisation de la variable session– <%=Session("variable") %>– Session.Contents.Remove("nom")– Session.Contents.RemoveAll()

Exercice 17 : Créer un script ASP permettant d’afficher l’identificateur de session ainsi que le délai d’expiration correspondant

Exercice 18 : Améliorer le formulaire d’identification pour autoriser 3 tentatives uniquement

Exercice 19 : Améliorer le chat pour permettre aux utilisateurs de saisir leur nom et couleur (boutons radio)

– Le texte de chacun sera de la forme : [tom] Coucou !– La page affiche le nombre d’utilisateurs connectés– Un administrateur pourra réinitialiser le chat

Page 14: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 14 T. Bourdeaud’huy – IG2I Saison 2006-2007

Recharger à intervalles réguliers

Recharger à intervalles réguliers

<script language="javascript"> function reload() {

document.location.reload();}window.setTimeout("reload()",10000);</script>

<head><meta http-equiv="refresh" content="10"></head>

Page 15: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

OBJET SERVEROBJET SERVER

Page 16: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 16 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet SERVERObjet SERVER Représente le serveur Web et le moteur ASP Propriété

– ScriptTimeout : Temps maximum d'exécution des scripts ASP (90 secondes par défaut)

Méthodes – CreateObject(ObjectID) :

Crée une instance du composant serveur identifié par l'ObjectID – GetLastError :

Renvoie une instance d'objet ASPError représentant la dernière erreur survenue – HTMLEncode(chaine) :

Applique les règles d'encodage et de syntaxe du HTML à la chaîne de caractères passée en paramètre

– URLEncode(chaine) :Applique les règles d'encodage des URLs à la chaîne de caractères passée en paramètre

– MapPath :Transforme un chemin relatif ou virtuel pointant vers une ressource du site en un chemin

physique (local, par rapport au serveur Web) – Execute(url) :

Exécute le script ASP indiqué par l'URL, puis rend la main au script appelant– Transfer(url) :

Exécute le script ASP indiqué par l'URL, sans rendre la main au script appelant

Page 17: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

BASES DE DONNEESBASES DE DONNEES

Page 18: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 18 T. Bourdeaud’huy – IG2I Saison 2006-2007

Connexion à une base de données

Connexion à une base de données

Création d’un objet de connexion ODBC– SET objetConn = Server.CreateObject("ADODB.Connection")

Méthodes – Open("Nom_Lien_ODBC") : Ouverture de la base– Close : Fermeture de la base– Execute("Commande SQL") : Exécute une requête SQL

Renvoie un objet recordset

Ex : SET recordSet = objetConn.execute(SQL)

Page 19: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 19 T. Bourdeaud’huy – IG2I Saison 2006-2007

Sources de données ODBC

Sources de données ODBC

ODBC : Object Database Connectivity Source de données : DSN : Data Source Name

Privilèges d’Administration du Serveur : création de la source dans Panneau de Configuration/Administration/Sources de données ODBC/DSN Système

Chaînes sans DSN : spécifier driver & chemin de la BDD– "DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft Access

Driver (*.mdb)};DriverId=25" 

– "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("compteur.mdb")

– Cf. moodle : syntaxe à respecter strictement

Page 20: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 20 T. Bourdeaud’huy – IG2I Saison 2006-2007

Objet RecordSetObjet RecordSet

Propriétés– Eof Plus d’enregistrement disponible

Collections– Fields : Enregistrements retournés (cas SELECT)

– Accès à des sous-éléments :

– rs.fields(0) : Premier champ de l’enregistrement

– rs.fields.count : Nombre de champs

– rs.fields(0).name : Nom du champ

Méthodes– MoveNext Passer à l’enregistrement suivant

– MoveFirst Retourner au premier enregistrement

– Move <n> Passer <n> enregistrements

Page 21: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 21 T. Bourdeaud’huy – IG2I Saison 2006-2007

Rappels de SQL (Structured Query Language)

Rappels de SQL (Structured Query Language)

SELECT [DISTINCT] <*|champ1,champ2> FROM `<Table>` SELECT … WHERE <ChampTexte>=‘<valeur>’ SELECT … WHERE <ChampNum>=<valeurNum> SELECT … WHERE <Champ> LIKE ‘%<valeur>%’ SELECT … WHERE <Champ> IN (‘val1’,’val2’) SELECT … WHERE <Champ> BETWEEN <Num1> AND <Num2> SELECT … WHERE … ORDER BY <champ1> ASC|DESC, … INSERT INTO <Table>(<champ1>, …) VALUES (‘<val1>’,…) DELETE FROM <Table> WHERE … UPDATE <Table> WHERE … SET <champ1>=‘<val1>’, …

Page 22: Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

REM2 – Active Server Pages 22 T. Bourdeaud’huy – IG2I Saison 2006-2007

ExercicesExercices

Exercice 20 : Modifier l’exemple d’identification pour lire les données à partir de la base de données– Ajouter des scripts d’administration : ajout, suppression et

modification des logins et passwords

Exercice 21 : Créer une page permettant d’entrer et d’exécuter une requête SQL quelconque – Afficher ses résultats dans le cas d’une requête de sélection