Exercice — dans l'esprit des sujets du bac
La médiathèque du lycée Ibn Rochd veut un mini-site pour gérer les prêts. On travaille sous EasyPHP (dossier de travail dans www). Les pages demandées sont en HTML d’examen (cadres + formulaires).
- Écrire le code de la page
accueil.html: unframeseten deux lignes (80,*). Le cadre haut (name="menu") chargenav.html; le cadre bas (name="contenu") est initialement vide. - Écrire
nav.htmlavec deux liens en bleu souligné : « Nouveau prêt » →pret.htmlet « Chercher un adhérent » →recherche.html, tous deux ouvrant dans le cadrecontenu(target). - Écrire
pret.html: formulairename="fp",action="enregistrer.php",method="post",onsubmit="return verifPret()", ciblecontenu. Champs textename="numAdh"(n° adhérent),name="codeOuv"(code ouvrage), listeselect name="typePret"avec optionsjour/semaine, boutons submit « Valider le prêt » et reset « Effacer ».
Voir la correction commentéeAprès avoir posé votre démarche
1. Structure HTML — accueil.html (cadres). Syntaxe d’examen héritée (frameset / frame) :
<html><head><title>Médiathèque</title></head>
<frameset rows="80,*">
<frame name="menu" src="nav.html" scrolling="auto" frameborder="1">
<frame name="contenu" src="" scrolling="auto" frameborder="1">
</frameset>
</html>
2. Liens avec target — nav.html.
<html><head><title>Navigation</title></head>
<body>
<a href="pret.html" target="contenu" style="color:blue; text-decoration:underline">Nouveau prêt</a>
<a href="recherche.html" target="contenu" style="color:blue; text-decoration:underline">Chercher un adhérent</a>
</body></html>
3. Formulaire HTML — pret.html. name, action, method="post", onsubmit, champs nommés :
<html><head><title>Prêt</title>
<script src="controles.js"></script></head>
<body>
<form name="fp" action="enregistrer.php" method="post" target="contenu" onsubmit="return verifPret()">
N° adhérent : <input type="text" name="numAdh" size="10"><br>
Code ouvrage : <input type="text" name="codeOuv" size="10"><br>
Type de prêt :
<select name="typePret" size="2">
<option value="jour">jour</option>
<option value="semaine">semaine</option>
</select><br>
<input type="submit" name="bOk" value="Valider le prêt">
<input type="reset" name="bAnn" value="Effacer">
</form>
</body></html>
Remarque. frameset / frame est la syntaxe attendue dans les sujets du bac ; en production moderne on utiliserait une mise en page CSS et des formulaires accessibles (label, required).