Question Php 1 (5 points)

Transcription

Question Php 1 (5 points)
Durée : 60 minutes
Question Php 1
Le barème n’est donné qu’à titre indicatif
(5 points)
Ecrivez le code php d’une fonction permettant de générer (retourne une chaine de caractère) une
liste en html des fichiers php (.php) présents dans le dossier courant (celui dans lequel se trouve la
page exécutant le code que vous allez écrire).
Question Php 2
(5 points)
Ecrivez le résultat retourné par le code php ci-dessous, c’est-à-dire le(s) code(s) « source » html
généré(s) par les appels à la fonction « mystere » puis affiché(s) par les « écho ». N’écrivez pas les
\n ou \t, remplacez les en indentant correctement le(s) code(s) source(s) html.
function mystere ($title, $body) {
$result = "";
$nbCol =count($title);
$result .= "<table><caption>les ".count($body)." lignes</caption>\n";
$result .= "<thead><tr>\n";
foreach($title as $th) {
$result .= "\t<th>$th</th> \n";
}
$result .= "</tr></thead><tbody>\n";
foreach($body as $ligne) {
if (count($ligne) != $nbCol) return "";
$result .= "<tr> \n";
foreach($ligne as $cell) {
$result .= "\t<td>$cell</td> \n";
}
$result .= "</tr> \n";
}
$result .= "</tbody></table> ";
return $result;
}
$liste = array();
$liste []= array("date.php", "23-10-2012", 1856);
$liste []= array("tableau.php", "23-10-2012", 1505);
$liste2 = array( array("date.php", "23-10-2012"), array("tableau.php", "23-10-2012") );
$titre = array("fichier", "Date de modification", "taille");
echo mystere($titre, $liste);
echo mystere($titre, $liste2);
Problème : un site “Instrumonde”
(10 points)
Hervé et Sandrine sont le président et la trésorière d’une association « instrumonde » dont le but est
de promouvoir les instruments traditionnels du monde entier. Hervé possède une très grande
collection d’instrument (plus de 600 instruments). Il dispose pour chaque instrument d’une ou
plusieurs photographies, une description (textuelle) en trois parties (caractéristique, histoire, de nos
jours), d’un fichier son et d’une image de partition (accords musicaux) typiques de l’instrument.
Sandrine a établi, sur papier, une classification des instruments par catégorie, par date d’invention et
par pays (géographique).
Ils souhaitent tous les deux faire un site permettant de voir chaque instrument, mais aussi de les voir
par catégorie, par pays, par époques…
Pour l’organisation des pages, ils souhaitent qu’un utilisateur puisse accéder aux différentes
fonctionnalités du site et qu’un encart présente un instrument aléatoirement (description brève,
mais avec un lien vers une page complète de l’instrument).
Décrivez une solution pour réaliser un tel site, en précisant et en argumentant :
-
comment les informations ont stockées,
comment Hervé et Sandrine peuvent saisir les données,
comment Hervé et Sandrine peuvent choisir le look de leur site, notamment pour la
présentation brève (et décider ce qui apparait ou non) ou complète d’un instrument.