Au local, un vieil écran est accroché au-dessus des vélos. Margot voudrait y afficher la liste des coursiers, en grand, pour que chacun sache qui roule aujourd'hui.
Votre mission
- Ajoutez au contrôleur une méthode
Tableauqui affiche la vuetableau.tmpl, avec deux données :titre, qui vaut"Les Gophers Volants", etcoursiers, la liste. - Branchez-la sur
GET /tableaudansroutes/web.go. - Dans
resources/views/tableau.tmpl, affichez le titre dans un<h1>et dans le<title>de la page, puis la liste des coursiers, un<li>par coursier, dans un<ul>. Les tests cherchent exactement<h1>Les Gophers Volants</h1>et<li>Margot</li>: pas d'attribut ni d'espace à l'intérieur de ces balises.
Rappel
Goravel affiche ses vues avec les gabarits de la bibliothèque standard de Go, html/template, là où Laravel a Blade. Les balises s'écrivent entre doubles accolades : {{ .titre }} affiche une donnée, {{ range .coursiers }} … {{ end }} répète un bloc pour chaque élément d'une liste, et {{ if … }} … {{ end }} en affiche un sous condition.
Comme {{ }} dans Blade, html/template échappe ce qu'il affiche : un prénom qui contiendrait du HTML s'afficherait tel quel, sans être interprété.
map[string]any est une map dont les clés sont des chaînes et les valeurs de n'importe quel type (any). C'est ce que reçoit la vue.