Le tableau du local

Exercice 4 sur 4 du chapitre 1 · 100 XP · 3 objectifs vérifiés par des tests

Notions abordées : VueGabaritrange

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

  1. Ajoutez au contrôleur une méthode Tableau qui affiche la vue tableau.tmpl, avec deux données : titre, qui vaut "Les Gophers Volants", et coursiers, la liste.
  2. Branchez-la sur GET /tableau dans routes/web.go.
  3. 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.