Séance d Exercices Dirigés HTML et JavaScript



Documents pareils
Séance d ED n 5 : HTML et JavaScript

TP JAVASCRIPT OMI4 TP5 SRC

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

GESTION DE L'ORDINATEUR

Rapports d activités et financiers par Internet. Manuel Utilisateur

Formulaires et Compteurs

26 Centre de Sécurité et de

Sauvegarde et restauration de données

FANTEC DB-229US Manuel de l'utilisateur

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Gestionnaire d emploi du temps

Tutoriel : Utiliser Time Machine pour sauvegarder ses données

Création de formulaires interactifs

Utilisation de l éditeur.

Bien travailler sur plusieurs écrans

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Guide de réalisation d une campagne marketing

Netissime. [Sous-titre du document] Charles

Boîtier pour disque dur externe 3,5" (8,89cm) USB 2.0

7.0 Guide de la solution Portable sans fil

GROOBAX. cliquer sur le «G» Cliquer sur «options» Sélectionner le dossier qui contiendra les paramètres => Cliquer A chercher le dossier créé en 2/

Procédure de restauration F8. Série LoRdi 2012 à Dell V131 V3360 L3330

Support pour les langues s écrivant de droite à gauche

Publier un Carnet Blanc

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Manuel d utilisation Cléo / Cléo +

FANTEC HDD-Sneaker MANUEL D'UTILISATION. Comprend: Guide d'installation de materiel Disque dur Formatage manuel PCClone EX Guide d'installation

Création d un formulaire de contact Procédure

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Animation Shop PREAMBULE... 2 CONTRAINTE... 2 CREER UNE ANIMATION... 2 AJOUTER DES IMAGES... 3 ENREGISTRER UNE ANIMATION... 3

Au préalable, nous nous plaçons dans l espace au sein duquel nous allons créer notre raccourci vers l ENTG.

FICHE DE COURS RESEAU POSTE A POSTE BAC PRO SYSTEMES ELECTRONIQUES NUMERIQUES Champ Professionnel : Télécommunications et Réseaux

Réglages du portail de P&WC

Utilisation de l outil lié à MBKSTR 9

Boot Camp Guide d installation et de configuration

INFORM :: DEMARRAGE RAPIDE A service by KIS

Aide à la clé pédagogique «Former à la première intervention et à l évacuation»» 2 e édition

Cyberclasse L'interface web pas à pas

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Cloner son système avec True Image

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Guide pour le bon fonctionnement des applications académiques avec Internet Explorer 7.x

Publier dans la Base Documentaire

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Grain Tracker Manuel d'utilisation

Ouvrir le compte UQÀM

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Logiciel d envois de ing

Guide pour l'installation ou la mise à jour de Foxmail 7.1 en Français


Comment l utiliser? Manuel consommateur

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Installation et configuration du serveur syslog sur Synology DSM 4.0

CONFIGURER VOTRE HEBERGEMENT WINDOWS

Guide informatique AUDIT EVALUATION DE LA PRATIQUE DE L ANTIBIOPROPHYLAXIE EN MATERNITE

ENVOI SIMPLE (SMS)...

NOUVEAU! MultiSystem vous présente la première clé USB MultiBoot du marché! Le LiveUSB MultiBoot par excellence.

Sage CRM. Sage CRM 7.3 Guide du portable

Administration du site (Back Office)

CHAPITRE 3 : INTERNET

Installation et utilisation de Cobian Backup 8

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

Restaurer des données

Utilisation du client de messagerie Thunderbird

Nettoyer Windows Vista et Windows 7

Le langage C. Séance n 4

Installation et utilisation du client FirstClass 11

PLANIFIER UNE RÉUNION AVEC DOODLE

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Formulaire pour envoyer un mail

Acer erecovery Management

ZOTERO. Installation. Bibliothèque de Pharmacie. Service Formation

LibreOffice Calc : introduction aux tableaux croisés dynamiques

MEDIAplus elearning. version 6.6

Pour le désactiver, décochez "Site web du logiciel au démarrage" dans le menu "Fichier"

Pluridisciplinarité. Classe de BTS DATR

Manuel de l utilisateur de HP Array Configuration Utility

Effectuer une sauvegarde avec Nero BackItUp

claroline classroom online

Antidote et vos logiciels

Introduction à Expression Web 2

Manuels numériques et bibliothèque Didier Guide pratique

MISE AU POINT FINANCIÈRE GUIDE DE L UTILISATEUR. Le logiciel MISE AU POINT FINANCIÈRE est offert sous licence par EquiSoft.

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Xubuntu Une alternative à Windows et à Ubuntu, (pour ceux qui ne veulent pas d'unity) : installer Xubuntu.

Créer son adresse

FAIRE SES COMPTES AVEC GRISBI

Effectuer des changements par lots avec BCDI abonnement

UltraBackup NetStation 4. Guide de démarrage rapide

PARAMETRER INTERNET EXPLORER 9

I- Créer un compte Doodle:

Premiers pas avec NetSupport SCHOOL

Corrigés des premiers exercices sur les classes

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Transcription:

Séance d Exercices Dirigés HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: 2) Par la suite on veut un document composé de deux frames, l'une nommée «questionnaire», l'autre «réponse» qui soient ainsi disposées : frame questionnaire : 40% de la fenêtre frame réponse : 60% de la fenêtre où le questionnaire est le questionnaire précédent : (3 boutons et 3 champs de saisie texte) avec un bouton valider Fonctionnement : L appui sur un bouton (nom, adresse ou téléphone) doit permettre d'afficher dans une fenêtre alerte la valeur du champ de saisie texte correspondant l'appui sur le bouton valider affiche dans la frame de droite les 3 champs de saisie de la fenêtre de gauche. CNAM Paris UE IHM NSY110 ED HTML et Javascript page 1/11

Rappel : alert(chaine) ouvre une fenêtre pop-up contenant la chaîne et un bouton OK. Donnez le code source des divers fichiers nécessaires. Réponses à l exercice 1 1) <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>corrige exo1</title> </head> <body> <p><form name=monformulaire> <table BORDER WIDTH="300" HEIGHT="125" > <td><input type=button value= Nom ></td> <td><input type=text name=nom size=20></td> <td><input type=button value= Telephone ></td> <td><input type=text name=tel size=20></td> <td><input type=button value= Adresse ></td> <td><input type=text name=adresse size=20></td> </table> </form> </BODY> </HTML> Soit : CNAM Paris UE IHM NSY110 ED HTML et Javascript page 2/11

2) Il vous faut trois fichiers : 1- Le fichier comportant la description des frames (frameset) frames.html <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>corrige exo 1-2 </title> </head> <FRAMESET cols="40%,*"> <frame name=questionnaire src=quest.html> <frame name=reponse src=rep.html> </FRAMESET> </HTML> 2- le fichier questionnaire (quest.html) qui comporte les boutons et qui a le fonctionnement indiqué : quest.html <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>corrige exo2 questionnaire</title> </head> <body> <p><form name=monformulaire> <table BORDER WIDTH="300" HEIGHT="125" > <td><input type=button value= Nom onclick="alert(document.monformulaire.nom.value);"></td> <td><input type=text name=nom size=20 value=''></td> <td><input type=button value=telephone onclick="alert(document.monformulaire.tel.value);"></td> <td><input type=text name=tel value='' size=20></td> <td><input type=button value= Adresse onclick="alert(document.monformulaire.adresse.value);"></td> <td><input type=text name=adresse value='' size=20></td> </table> <center> <input type=button value=valider onclick="window.parent.reponse.document.write('nom =', document.monformulaire.nom.value); window.parent.reponse.document.write('<p>adresse=', document.monformulaire.adresse.value); window.parent.reponse.document.write('</p><p>telephone=',document.monformulaire.tel.value); window.parent.reponse.document.write('</p>');"> </form> </BODY> </HTML> et 3- le fichier reponse rep.html qui est un fichier vide de contenu mais qui sera remplacé par le résultat du questionnaire généré : CNAM Paris UE IHM NSY110 ED HTML et Javascript page 3/11

rep.html <html> <head> <title>corrige exo2 reponse</title> </head> <body></body> </HTML> Soit : EXERCICE 2 Le but de cet exercice est de réaliser un questionnaire de type QCM en HTML et JavaScript. Vous devez réaliser un cédérom de type pédagogique. Il vous est demandé de laisser à l utilisateur le soin de pouvoir s auto-évaluer. Compte tenu des contraintes et des limites qui vous ont été décrites dans le cahier des charges, vous avez décidé de développer ce test suivant trois axes : un formulaire (ou questionnaire) sous forme de QCM et utilisant les objets du langage JavaScript, une procédure de correction dynamique du questionnaire (écrit en JavaScript), un corrigé complet du test dans une page HTML. 1 Le formulaire type QCM La plupart des questionnaires de type «QCM» utilisent le principe de questions - réponses. Chaque question est suivie d un certain nombre de réponses, dont une ou plusieurs peuvent être correctes. CNAM Paris UE IHM NSY110 ED HTML et Javascript page 4/11

A ce niveau, une certaine interactivité (limitée) est proposée à l utilisateur, elle se matérialise par trois boutons disposés au bas du formulaire à cet effet et consiste à : 1. apporter une correction dynamique du formulaire en lançant la fonction correspondante, 2. effacer l ensemble des sélections, 3. visualiser le corrigé complet du test. Il existe une différence entre les notions de correction dynamique et de corrigé : la correction est dynamique car elle teste la véracité des cases cochées par l intermédiaire d un petit algorithme, le corrigé affiche directement la réponse globale sans corriger le test. 2 La correction dynamique La correction dynamique est réalisée par la fonction "testqcm(form)". Cette fonction est appelée par une action sur le bouton "Correction", qui lit et teste les valeurs des réponses du formulaire (passé en paramètre). Le résultat des tests est affiché dans une fenêtre externe (illustré par l'image ci-dessous), et ne donne à l'utilisateur que deux indices par question : soit la réponse à la question est correcte, soit la réponse à la question est incorrecte. Pour des raisons essentiellement pédagogiques, les résultats affichés sont volontairement vagues. En effet, l objectif n est pas de donner rapidement les bonnes réponses quels que soient les choix de l usager, mais au contraire, de forcer l utilisateur à rechercher par lui-même le résultat global parfait, en une ou plusieurs itérations du questionnaire. 3 Le corrigé du questionnaire Dans le cas où l utilisateur ne souhaite pas effectuer ce travail, il lui est toujours possible de pouvoir consulter directement le corrigé du questionnaire en cliquant sur le bouton "Corrigé". Le corrigé du questionnaire n est autre qu une simple page HTML contenant du texte et qui s affiche dans une fenêtre externe comme le montre l image ci-dessous. Chaque fenêtre externe contient un bouton qui permet à l utilisateur de pouvoir fermer correctement le dite fenêtre. CNAM Paris UE IHM NSY110 ED HTML et Javascript page 5/11

TRAVAIL A FAIRE : 1) Ecrire le programme HTML du formulaire «QCM» représenté par l image ci-dessous. CNAM Paris UE IHM NSY110 ED HTML et Javascript page 6/11

2) Ecrire le code HTML de la fenêtre d affichage du corrigé représentée par l image cidessous. CNAM Paris UE IHM NSY110 ED HTML et Javascript page 7/11

3) Ecrire le code Javascript de la fonction "testqcm(form)" incluse dans le ficher HTML du formulaire «QCM», et qui affiche les résultats de la correction dynamique représentés par l image ci-dessous. Réponses à l exercice 2 Il faut créer deux fichiers HTML contenant l un le formulaire et l autre le corrigé. Programme source du fichier test_raid.htm contenant le questionnaire et la fonction: "testqcm(form)" : <!-- DATE DE CREATION: 07/06/99 --> <HTML> <HEAD> <TITLE>L'utilisation des procédés RAID1 et RAID5 - test</title> <META NAME="Description" CONTENT="L'utilisation des procédés RAID1 et RAID5 - test"> <META NAME="Keywords" CONTENT="Administration avec Windows NT"> <META NAME="Author" CONTENT=""> <META NAME="Generator" CONTENT="WebExpert3"> <META NAME="Organisme" CONTENT=""> <SCRIPT LANGUAGE="JavaScript"> <!-- début du masquage de script // ** fonction qui affiche le corrigé du test dans une fenêtre externe ** function corrige() { var fenetre = window.open("rep_raid.htm","fenetre1","status, scrollbars=yes, resizable=yes, HEIGHT=400, WIDTH=550") fenetre.creator = window // ** fonction qui lit et teste les valeurs des réponses ** function testqcm(form) { var wintest = window.open("","fenetre2","status, scrollbars=no, resizable=no, height=250, width=370") wintest.creator = window if (wintest!= null) { CNAM Paris UE IHM NSY110 ED HTML et Javascript page 8/11

// wintest.document.clear() // Entête de la fenetre externe var Contenu = "<HTML><HEAD><TITLE>Correction des questions du QCM</TITLE></HEAD>" Contenu += "<BODY SCROLL=AUTO LEFTMARGIN=60>" Contenu += "<H3><FONT COLOR='#800000'>Correction dynamique du test</font></h3>" Contenu += "<FONT SIZE=2>" // test de la question 1 if (form.question1[2].checked && form.question1[2].value == "C") { if (form.question1[0].checked form.question1[1].checked form.question1[3].checked) { Contenu += "<P><LI>La réponse à la question 1 est <U>incorrecte</U>." else { Contenu += "<P><LI>La réponse à la question 1 est correcte." else { Contenu += "<P><LI>La réponse à la question 1 est <U>incorrecte</U>." // test de la question 2 if (form.question2[0].checked && form.question2[0].value == "A") { if (form.question2[1].checked form.question2[2].checked form.question2[3].checked) { Contenu += "<P><LI>La réponse à la question 2 est <U>incorrecte</U>." else { Contenu += "<P><LI>La réponse à la question 2 est correcte." else { Contenu += "<P><LI>La réponse à la question 2 est <U>incorrecte</U>." // test de la question 3 if (form.question3[1].checked && form.question3[1].value == "B" && form.question3[3].checked && form.question3[3].value == "D" ) { if (form.question3[0].checked form.question3[2].checked form.question3[4].checked) { Contenu += "<P><LI>La réponse à la question 3 est <U>incorrecte</U>." else { Contenu += "<P><LI>La réponse à la question 3 est correcte." else { Contenu += "<P><LI>La réponse à la question 3 est <U>incorrecte</U>." // Bas de la fenêtre externe Contenu += "</FONT>" Contenu += "<P><CENTER><FORM><INPUT TYPE='button' VALUE='OK' Onclick='self.close()'></FORM>" Contenu += "</CENTER></BODY></HTML>" wintest.document.write(contenu) // fin --> </SCRIPT> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000080" VLINK="#800080" ALINK="#FF0000" SCROLL=AUTO LEFTMARGIN=20 RIGHTMARGIN=0 TOPMARGIN=0> <FONT FACE="Times New Roman"> <TABLE WIDTH="100%" ALIGN="CENTER" CELLPADDING="0" CELLSPACING="0" BORDER="0"> <COL SPAN="3"> <TR> <TD> </TD> <TD> <CENTER><H3><FONT COLOR="#800000">L'utilisation des procédés RAID1 et RAID5<BR>Test d'auto-évaluation</font></h3> <HR></CENTER> <!-- zone du contenu --> <FONT SIZE=2> <P><B><FONT COLOR="#008000">Qestionnaire sous forme de QCM. Les questions peuvent comporter une ou plusieurs bonnes réponses.</font></b></i> <FORM NAME="QCM" METHOD="get"> <P><B>Question 1 :</B> <BR>Quel est le type de disque système qui réalise une copie exacte de toutes les données d'une partition disque dans une autre partition? <LI><INPUT TYPE="checkbox" NAME="question1" VALUE="A"> RAID.<BR> CNAM Paris UE IHM NSY110 ED HTML et Javascript page 9/11

<LI><INPUT TYPE="checkbox" NAME="question1" VALUE="B"> Sauvegarde disque.<br> <LI><INPUT TYPE="checkbox" NAME="question1" VALUE="C"> Mise en miroir.<br> <LI><INPUT TYPE="checkbox" NAME="question1" VALUE="D"> Dépannage à chaud.<br></i> <P><B>Question 2 :</B> <BR>Quel est le type de disque système qui utilise de 3 a 32 disques physiques et est aussi connu sous le nom de RAID5? <LI><INPUT TYPE="checkbox" NAME="question2" VALUE="A"> Agrégats par bandes avec parité.<br> <LI><INPUT TYPE="checkbox" NAME="question2" VALUE="B"> Agrégats par bandes sans parité.<br> <LI><INPUT TYPE="checkbox" NAME="question2" VALUE="C"> Disques en miroir.<br> <LI><INPUT TYPE="checkbox" NAME="question2" VALUE="D"> Agrégats par bandes avec données répétitives.<br></i> <P><B>Question 3 :</B> <BR>Quel sont les types de disques qui assurent la tolérance de pannes? <LI><INPUT TYPE="checkbox" NAME="question3" VALUE="A"> Les agrégats de partition.<br> <LI><INPUT TYPE="checkbox" NAME="question3" VALUE="B"> Les agrégats par bandes avec parité.<br> <LI><INPUT TYPE="checkbox" NAME="question3" VALUE="C"> Les agrégats par bandes sans parité.<br> <LI><INPUT TYPE="checkbox" NAME="question3" VALUE="D"> Les disques en miroir.<br> <LI><INPUT TYPE="checkbox" NAME="question3" VALUE="E"> RAID de niveau 0.<BR></I> <P><CENTER> <INPUT TYPE="button" VALUE="Correction" onclick="testqcm(this.form)"> <INPUT TYPE="reset" VALUE="Effacer"> <INPUT TYPE="button" VALUE="Corrigé" onclick="corrige()"> </FORM></center> </FONT></TD> <TD> </TD> </TR> </TABLE> </FONT> </BODY> </HTML> Programme source du fichier rep_raid.htm contenant le corrigé du test : <!-- DATE DE CREATION: 07/06/99 --> <HTML> <HEAD> <TITLE>L'utilisation des procédés RAID1 et RAID5 - réponse au test</title> <META NAME="Description" CONTENT="L'utilisation des procédés RAID1 et RAID5 - réponse au test"> <META NAME="Keywords" CONTENT="Administration avec Windows NT"> <META NAME="Author" CONTENT=""> <META NAME="Generator" CONTENT="WebExpert3"> <META NAME="Organisme" CONTENT=""></HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000080" VLINK="#800080" ALINK="#FF0000" SCROLL=AUTO LEFTMARGIN=20 RIGHTMARGIN=0 TOPMARGIN=0> <FONT FACE="Times New Roman"> <TABLE WIDTH="100%" ALIGN="CENTER" CELLPADDING="0" CELLSPACING="0" BORDER="0"> <COL SPAN="3"> <TR> <TD> </TD> <TD> <CENTER><H3><FONT COLOR="#800000">L'utilisation des procédés RAID1 et RAID5<BR>Réponse du test</font></h3> <HR></CENTER> <!-- zone du contenu --> CNAM Paris UE IHM NSY110 ED HTML et Javascript page 10/11

<FONT SIZE=2> <P><B><FONT COLOR="#008000">Les bonnes réponses aux questions apparaissent en couleur rouge.</font></b></i> <P><B>Question 1 :</B> <BR>Quel est le type de disque système qui réalise une copie exacte de toutes les données d'une partition disque dans une autre partition? <LI> RAID.<BR> <LI> Sauvegarde disque.<br> <LI><B><FONT COLOR="#FF0000"> Mise en miroir.</font></b><br> <LI> Dépannage à chaud.<br></i> <P><B>Question 2 :</B> <BR>Quel est le type de disque système qui utilise de 3 a 32 disques physiques et est aussi connu sous le nom de RAID5? <LI><B><FONT COLOR="#FF0000"> Agrégats par bandes avec parité.</font></b><br> <LI> Agrégats par bandes sans parité.<br> <LI> Disques en miroir.<br> <LI> Agrégats par bandes avec données répétitives.<br></i> <P><B>Question 3 :</B> <BR>Quel sont les types de disques qui assurent la tolérance de pannes? <LI> Les agrégats de partition.<br> <LI><B><FONT COLOR="#FF0000"> Les agrégats par bandes avec parité.</font></b><br> <LI> Les agrégats par bandes sans parité.<br> <LI><B><FONT COLOR="#FF0000"> Les disques en miroir.</font></b><br> <LI> RAID de niveau 0.<BR></I> <CENTER><FORM> <INPUT TYPE="button" VALUE="Fermer la fenêtre" Onclick="self.close()"> </FORM></CENTER> </TD> <TD> </TD> </TR> </TABLE> </FONT> </BODY> </HTML> CNAM Paris UE IHM NSY110 ED HTML et Javascript page 11/11