Démarrer un projet web, c\'est toujours répéter les mêmes gestes : créer un fichier index.html, déclarer le doctype, ajouter la balise meta viewport, lier une feuille de styles, brancher un script. Au début des années 2010, deux outils ont popularisé l\'idée d\'un point de départ propre et réutilisable : HTML5 Boilerplate et son générateur en ligne Initializr. Voyons ce qu\'ils proposaient, ce qu\'ils ont apporté, et ce qu\'il en reste aujourd\'hui.
Le contexte
Avant de coder une fonctionnalité, il faut un squelette de départ. Sans modèle, chaque développeur réécrit à la main le même en-tête, oublie parfois une balise importante, et hérite des incohérences de rendu entre navigateurs. Cette répétition fait perdre du temps et introduit des erreurs.
L\'idée d\'un boilerplate (un terme emprunté à l\'imprimerie, désignant un texte standard prêt à réemployer) répond à ce besoin : fournir une base saine, testée, qui regroupe les bonnes pratiques du moment. Pour bien comprendre les fondations de ce squelette, il est utile d\'avoir lu l\'introduction à HTML5, car le boilerplate repose entièrement sur la structure et les balises de cette version.
Un bon point de départ ne doit pas tout faire. Il doit éviter les erreurs courantes et vous laisser construire par-dessus, sans rien imposer de superflu.
Qu\'est-ce que HTML5 Boilerplate
HTML5 Boilerplate (souvent abrégé H5BP) est un modèle de référence, libre et open source, pour créer des sites web rapides et robustes. Il ne s\'agit pas d\'un framework qui impose une façon de travailler, mais d\'un ensemble de fichiers de base soigneusement pensés.
Les éléments historiques qu\'il rassemblait :
- normalize.css : une feuille de styles qui harmonise le rendu par défaut des éléments HTML entre les navigateurs, au lieu de tout remettre à zéro comme un reset classique.
- Une configuration .htaccess prête à l\'emploi pour les serveurs Apache : compression Gzip, mise en cache des ressources, types MIME corrects, en-têtes de sécurité.
- Un
index.htmlminimal mais complet, avec les balises meta essentielles et les commentaires conditionnels de l\'époque pour gérer les anciennes versions d\'Internet Explorer. - Des fichiers annexes comme
robots.txt,humans.txtet un favicon, pour ne rien oublier.
L\'esprit de H5BP est resté le même : donner une base solide qui suit les bonnes pratiques, puis s\'effacer pour laisser le développeur travailler.
Qu\'est-ce qu\'Initializr
HTML5 Boilerplate se télécharge en bloc. Or, tous les projets n\'ont pas les mêmes besoins. Initializr est né pour répondre à cela : c\'est un générateur en ligne qui produit un squelette HTML5 personnalisé, en fonction des options cochées dans une interface web.
Plutôt que de partir du paquet complet et de supprimer ce qui ne sert pas, on demande exactement ce dont on a besoin et Initializr assemble l\'archive correspondante. Les trois grandes options proposées étaient :
- Classic H5BP : le HTML5 Boilerplate standard, avec tous ses fichiers de configuration.
- Bootstrap : un squelette intégrant le framework CSS Bootstrap, pour démarrer une mise en page à base de grille et de composants prêts à l\'emploi.
- Responsive : un gabarit léger orienté responsive design, avec une structure de page adaptative de base.
On pouvait aussi choisir d\'inclure ou non certaines briques, comme normalize.css, des scripts d\'aide, ou le contenu de démonstration. Le résultat : une archive ZIP sur mesure, téléchargeable en un clic.
Le contenu généré
L\'archive produite suivait une arborescence claire et facile à comprendre. Voici un exemple typique de la structure générée :
mon-projet/
├── index.html
├── css/
│ ├── normalize.css
│ ├── main.css
│ └── style.css
├── js/
│ ├── vendor/
│ │ ├── modernizr.js
│ │ └── jquery.js
│ └── main.js
├── img/
├── .htaccess
├── robots.txt
├── humans.txt
└── favicon.ico
Chaque dossier avait un rôle clair : css/ pour les styles, js/ pour les scripts (avec un sous-dossier vendor/ pour les bibliothèques tierces), img/ pour les images. Le fichier index.html contenait déjà une structure prête à compléter :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Mon projet</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<!-- votre contenu ici -->
<script src="js/vendor/modernizr.js"></script>
<script src="js/main.js"></script>
</body>
</html>
On y trouvait à l\'époque Modernizr, une bibliothèque JavaScript qui détectait la prise en charge des nouvelles fonctionnalités HTML5 et CSS3 par le navigateur, ce qui permettait d\'appliquer des solutions de repli (fallbacks) pour les anciens navigateurs.
Comment l\'utiliser
La prise en main était volontairement simple, en trois étapes :
- Télécharger l\'archive ZIP générée depuis le site d\'Initializr, après avoir coché les options voulues.
- Dézipper le contenu dans le dossier de votre projet, ce qui crée directement l\'arborescence complète.
- Personnaliser : modifier le
title, écrire votre contenu dans lebody, étoffermain.cssavec vos styles, ajouter votre logique dansmain.js.
À partir de là, vous codiez votre projet par-dessus une fondation déjà saine. Pour aller plus loin sur la mise en forme, vous pouviez par exemple intégrer les polices personnalisées dans main.css afin de donner une identité typographique à votre site.
Pensez à supprimer le contenu de démonstration et les commentaires inutiles avant de mettre votre site en ligne, pour garder un code propre et léger.
Et aujourd\'hui ?
Initializr et HTML5 Boilerplate datent du début des années 2010, et l\'écosystème web a beaucoup évolué depuis. Il faut le dire honnêtement, sans pour autant balayer ces outils d\'un revers de main.
HTML5 Boilerplate existe toujours et continue d\'être maintenu. Le projet a été modernisé : les commentaires conditionnels pour Internet Explorer ont disparu, la configuration s\'est allégée, et il reste une excellente référence pour comprendre à quoi ressemble une base HTML propre.
En revanche, la façon de démarrer un projet a changé. Aujourd\'hui, on s\'appuie le plus souvent sur des outils de build modernes et des starters :
- Vite : un outil de développement très rapide qui génère un squelette de projet et gère le rechargement à chaud, l\'optimisation et le bundling automatiquement.
- Les frameworks (React, Vue, Svelte, Astro, et d\'autres) qui fournissent leur propre commande d\'initialisation de projet, avec une arborescence prête à l\'emploi.
- Modernizr et les fallbacks pour vieux navigateurs ne sont presque plus nécessaires, car les navigateurs actuels supportent largement HTML5 et CSS3.
Pour autant, le concept porté par Initializr reste pertinent : partir d\'un point de départ propre, qui regroupe les bonnes pratiques et vous évite les erreurs de débutant. Que vous utilisiez aujourd\'hui un starter Vite ou que vous écriviez un simple index.html à la main, l\'esprit est le même. Comprendre ce que H5BP rassemblait vous aide à savoir ce qu\'un bon squelette doit contenir, quel que soit l\'outil que vous choisissez.