Aller au contenu

09 — Le Générateur Web

Algorithmes : Tri par insertion + Recherche dichotomique → génération HTML/CSS Difficulté : Difficile Durée estimée : 1h15 — 1h30


Contexte

Sans JavaScript, une page web ne peut pas exécuter d'algorithme. Mais Python peut générer une page HTML ! Vous allez trier des données en Python, puis produire un fichier .html affichant le résultat avec un style CSS.


Étapes

Étape 1 — Trier les données

Implémentez tri_insertion_jeux(jeux) qui trie la liste de jeux vidéo par score décroissant (le meilleur en premier).

Indication : pour trier par ordre décroissant, inversez la condition : tab[j-1][1] < x[1] au lieu de >.

Étape 2 — Recherche dichotomique

Implémentez rechercher_score(jeux_tries, score) qui retourne le jeu avec ce score exact, ou None.

Attention : la liste est triée par score décroissant. La dichotomie doit être adaptée (les comparaisons < et > sont inversées).

Étape 3 — Générer la page HTML

Implémentez generer_html(jeux_tries, fichier) qui écrit un fichier .html contenant un tableau du classement, stylisé avec du CSS intégré.

La page doit afficher au minimum : - Le rang, le titre, le studio, l'année et le score de chaque jeu - Les 3 premiers avec une couleur distincte (or, argent, bronze) - Un titre et un style propre

Étape 4 — Ouvrir la page automatiquement

À la fin du programme, ouvrez la page générée dans le navigateur avec :

import webbrowser
webbrowser.open("classement.html")

Étape 5 — Extension (si vous avez le temps)

Ajoutez un deuxième tableau sur la même page : les jeux triés par année de sortie (vous pouvez faire un deuxième tri sur une copie).


Ce que vous devez rendre

  • Le fichier starter.py qui tourne et génère classement.html
  • La page classement.html ouverte dans le navigateur
  • Réponse : pourquoi Python peut-il générer du HTML, alors qu'HTML ne peut pas exécuter Python ?

Dernière mise à jour : 07/07/2026