Une université propose des formations pour ses étudiants via une plate-forme d'enseignement en ligne. Plusieurs devoirs sont proposés, chacun ayant une description et une même date de rendu pour tous les étudiants souhaitant le faire. Le but de cet exercice est de réaliser un site Web permettant aux étudiants de consulter leurs notes.
Base de données
On vous donne ci-dessous le code SQL LDD de la base de données sous PostgreSQL ainsi qu'un exemple de code SQL LMD pour l'insertion de données.
CREATE TABLE tEtudiant(
login CHAR(8) PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(50)
);
CREATE TABLE tDevoir(
num INTEGER PRIMARY KEY,
dateRendu DATE UNIQUE NOT NULL,
description VARCHAR(50) NOT NULL
);
CREATE TABLE tNote(
etudiant CHAR(8) REFERENCES tEtudiant(login),
devoir INTEGER REFERENCES tDevoir(num),
valeur INTEGER NOT NULL,
PRIMARY KEY(etudiant, devoir),
CHECK (valeur BETWEEN 0 AND 20)
);
INSERT INTO tEtudiant(login, nom, prenom) VALUES ('bfrankli', 'Franklin', 'Benjamin');
INSERT INTO tDevoir(num, dateRendu, description) VALUES (1, '10-05-2013','Structures de donnees en C');
INSERT INTO tNote(etudiant, devoir, valeur) VALUES ('bfrankli', 1, 15);
Site Web
Le site Web sera composé :
-
d'une page d'accueil (
accueil.html
) comportant un formulaire où l'étudiant doit entrer son login ; -
d'une page présentant les notes d'un étudiant pour chaque devoir qu'il a rendu ainsi que sa moyenne générale (
notes.php
).
La seconde page (notes.php
) est appelée à partir de la première (accueil.html
). On supposera dans le reste de l'exercice que tous les fichiers sont situés directement dans le répertoire public_html
du serveur (sans sous-répertoires).
Question
Écrivez le formulaire HTML de la page d'accueil (accueil.html
). On utilisera la méthode HTTP POST.
Dans les questions suivantes, on supposera que le login spécifié dans le formulaire de accueil.html
existe effectivement dans la base de données (on ne fera donc pas de test pour le vérifier) et on se référera à l'exemple d'affichage pour notes.php
pour le résultat souhaité.
Question
Écrivez le code PHP permettant de générer le code HTML du titre de la page "Notes de l'étudiant..." pour le login en question.
Indice
echo "<h1>Notes de l'étudiant " . $vPrenom . " " . $vNom . " (<i>" . $vLogin . "</i>)</h1>";
Question
Écrivez le code PHP permettant de générer le code HTML du tableau des notes de l'étudiant. Les devoirs seront affichés par ordre croissant de date de rendu.
Question
Écrivez le code PHP permettant de calculer la moyenne générale de l'étudiant.
Question
Écrivez le code HTML du lien hypertexte "Retour à l'accueil" et finalisez la page notes.php
.
Indice
<a href="accueil.html">Retour à l'accueil</a>