Pour ce TP, vous allez coder un script affichant les notes d'une promotion à un devoir imaginaire.
Le résultat final est disponible ici.
Servez vous en pour voir le code HTML qui est généré et comment la librairie bootstrap est utilisée.
L'inspecteur de code de Google Chrome est très pratique pour lire le HTML.
Téléchargez le squelette du TP: base-php_skel.zip et déposez le dans votre répertoire public_html
index.php
est la page principale du site. Pour inspiration, elle contient déjà des éléments de visualisation.css
contient la feuille de style de bootstrap pour avoir un site qui a la classe.inc
contient deux fichiers vide (pour le moment) qui contiendront les librairies de fonctions notes.inc
et pres_notes.inc
. Le premier contiendra le code metier, le second la couche présentation.Vérifiez que vous pouvez accéder à la page index.php
depuis votre navigateur en passant par le serveur Web; donc avec une URL commencant par http://localhost/
generer_email($nom, $prenom)
(donc dans inc/notes.inc
). Cette fonction prends 2 strings en paramêtre et retourne une string contenant l'addresse émail sous la forme prenom.nom@unice.fr
.notes.php
, incluez le fichier inc/notes.inc
et testez generer_email
.generer_etudiant($id)
pour générer les informations d'un étudiant, $id
servant juste de graine pour avoir des identifiants légèrement différent.
La fonction retourne un tableau associatif ayant les clefs suivantes:
generer_email
.inc/pres_notes.inc
) format_nom($e)
. Cette fonction prends en paramêtre un tableau associatif décrivant un étudiant et retourne une string contenant le code HTML pour un lien permettant d'envoyer un email.
notes.php
, incluez inc/pres_notes.inc
et testez vos fonctions generer_etudiant
et format_nom
generer_promotion($nb)
. Cette fonction retourne un tableau de $nb
étudiants ayant des identifiants différents.listez_promotion($p)
. Cette fonction prends un tableau d'étudiants en paramêtre et retourne la liste des étudiants séparé par des virgulesnotes.php
pour avoir quelque chose de semblable à la première sous-section de la correction.Nous allons maintenant générer des notes pour chaque élève et les afficher dans un tableau.
generer_notes($promo, $inf, $sup)
. Cette fonction prends une liste d'étudiants en paramêtre et retourne un tableau associatif contenant les notes de chaque étudiant. La clef du tableau est l'émail de l'étudiant. La note est générée aléatoirement entre $inf
et $sup
.afficher_notes($promo, $notes)
. Elle prends en paramêtre une liste d'étudiants et un tableau associatif de notes. Elle ne retourne rien mais affiche le tableau en HTML comme dans la correction.On veut maintenant visualiser la distribution des notes telle que dans la correction.
calculer_distribution
qui retourne la distribution des notes sous la forme d'un tableau associatif. La clef est la note, la valeur est le nombre d'étudiants ayant eu cette note. Testez son bon fonctionnementafficher_distribution
pour afficher le code HTML représentant la distribution des notes par le biais de
barres de progression.