Vous êtes sur la page 1sur 4

Université Sultan Moulay Slimane- Faculté Polydiscilpinaire BeniMellal

Dep. Math-Info, SMI-S6

Etude de Cas : Application Web avec PHP


Description de l’application dynamique
Dans ce projet, vous allez mettre en œuvre un système de QCM (Question à Choix Multiples). Ce système est
une application web dynamique. Le fonctionnement de ce système est le suivant : la page index charge
l’ensemble des qcm proposés par le système (voir figure 2). L’internaute sélectionne un qcm en cliquant sur le
lien approprié, puis le qcm s’affiche dans la page question (voir figure 3). L’internaute coche les réponses puis
clique sur le bouton « valider » qui lui affiche le résultat de ses réponses dans la page reponse (voir figure 4).

Base de données
On admet qu’on a une base de données nommée dbqcm. Cette base de données est composée de trois tables
qui sont : formulaire, question, et reponse. La table formulaire contient la liste des qcm proposés par
l’application web. La table question contient la liste des questions associées à chaque qcm. La table réponse
contient la liste des réponses associées aux questions. Le schéma de la base de données est illustré dans la figure
1.

Figure 1. Schéma de la base de données dbqcm.

Voici les lignes de la table formulaire :

Voici les lignes de la table question :

1
Université Sultan Moulay Slimane- Faculté Polydiscilpinaire BeniMellal

Dep. Math-Info, SMI-S6

Voici les lignes de la table reponse :

Fonctionnement du système QCM


Le fonctionnement de ce QCM reposera sur trois pages accessibles pour l’internaute :
▪ La page index présentera la liste des qcm sous forme de lien HyperText.
▪ La page question présentera les questions et réponses possibles pour le qcm sélectionné par l’internaute.
▪ La page reponse présentera le nombre de bonnes réponses de l’internaute.

Pour le développement de chacune de ces pages, le modèle sera le suivant : instanciation d’un objet de la classe
Formulaire, d’un objet de la classe Question et d’un objet de la classe Réponse pour, respectivement, les pages
index, question et reponse.

Chacune de ces classes (Formulaire, Question et Reponse) s’appuiera sur le modèle de la classe de base
nommée QCM. Cette classe est définit comme suivant :
abstract class QCM{
abstract void Chargement() ;
abstract void AffichageHTML() ;}
Travail à faire :
1- Donnez la définition de la classe Formulaire sous-classe de la classe QCM. Cette classe permet de retrouver
tous les qcm se trouvant dans la table formulaire grâce à sa méthode Chargement. Elle permet aussi de
préparer l’affichage html de la liste des libellés des qcm sous forme de lien HyperText grâce à sa méthode
AffichageHTML.
2- Ecrire le code nécessaire pour afficher la page index (voir aperçus du résultat dans figure2). Ce code
commence par inclure les classes nécessaires, pour afficher la liste des qcm se trouvant la table formulaire.

2
Université Sultan Moulay Slimane- Faculté Polydiscilpinaire BeniMellal

Dep. Math-Info, SMI-S6

Figure 2. Aperçus de la page index

3- Donnez la définition de la classe Question sous-classe de la classe QCM. Par conséquent, pour cette classe
également doivent être crées la méthode Chargement permettant de charger le qcm du formulaire sélectionné
par l’internaute dans la page question, et la méthode AffichageHTML permettant de préparer l’affichage
HMTL de ce qcm (voir figure 3).
4- Ecrire le code du script question.jsp similaire au script index.jsp. Ce script commence par inclure les scripts
nécessaires, puis fait appel à la classe Question, pour afficher le QCM associé au formulaire sélectionné par
l’internaute.

Figure 3. Aperçus du résultat du script question.php

5- Donnez la définition de la classe Reponse sous-classe de la classe QCM. Par conséquent, pour cette classe
également doivent être crées la méthode Chargement permettant de comptabiliser le nombre de bonnes
réponses, et la méthode AffichageHTML permettant de préparer l’affichage HMTL du nombre de bonnes
réponses sur le nombre total de questions auquel l’internaute a répondu.
6- Ecrire le code qui donne la page reponse qui commence par inclure les classes nécessaires, puis fait appel à la
classe Reponse, pour afficher le résultat (voir figure 4).

3
Université Sultan Moulay Slimane- Faculté Polydiscilpinaire BeniMellal

Dep. Math-Info, SMI-S6

Figure 4. Aperçus du résultat du script reponse.php

Vous aimerez peut-être aussi