Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P....
-
Upload
asce-pasquier -
Category
Documents
-
view
102 -
download
0
Transcript of Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P....
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
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
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)
Correction des exercicesCorrection des exercices
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
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 ?
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
Objets SESSION et APPLICATION
Objets SESSION et APPLICATION
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
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
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
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
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
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>
OBJET SERVEROBJET SERVER
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
BASES DE DONNEESBASES DE DONNEES
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)
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
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
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>’, …
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