0Pricing
HTML Academy · Leçon

Extraction de composants et modèles partiels

Découpez les fichiers HTML volumineux en modèles partiels réutilisables.

Extraction de composants et modèles partiels est une leçon HTML Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage HTML Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours HTML Academy comprend 4 leçons au total.

Le problème de la duplication

À mesure qu’une base de code HTML s’agrandit, les mêmes fragments de balisage apparaissent sur de nombreuses pages : en-tête du site, pied de page, navigation, fiche produit, champ de formulaire. Les copier-coller créent un cauchemar de maintenance ; modifier le pied de page impose de modifier chaque page.

Inclusions côté serveur

La plupart des langages de modélisation côté serveur (Jinja, Liquid, ERB, EJS, Handlebars, Twig) prennent en charge les directives d’inclusion : {% include "header.html" %} ou <%- include("header") %>. Le système de compilation ou le serveur insère le fragment dans chaque page qui l’inclut.

<!-- page.html -->
{% include "partials/header.html" %}
<main>{{ content }}</main>
{% include "partials/footer.html" %}

Cadres de composants

JSX/TSX (React), les fichiers de composant unique de Vue, les composants Svelte et les composants Astro expriment la même idée avec une sémantique plus riche : un composant encapsule la structure, les styles et le comportement. Ils sont compilés en HTML au moment de la compilation (SSG) ou de l’exécution (SSR/CSR).

Nommage et organisation

Regroupez les fragments et les composants par fonction : partials/layout/ pour l’en-tête, le pied de page et la navigation, partials/blocks/ pour les blocs d’accueil, de fonctionnalités et d’appel à l’action, partials/forms/ pour les champs, boutons et listes de sélection. Une organisation cohérente rend la bibliothèque de fragments facile à parcourir à mesure qu’elle s’agrandit.

Transmission des données

Les fragments deviennent plus puissants lorsqu’ils acceptent des paramètres : {% include "button.html" with label="Save", variant="primary" %}. Dans le fragment, faites référence aux paramètres par leur nom. Le même modèle génère différents boutons sur l’ensemble du site.

Composition par emplacements

Pour les fragments qui enveloppent un contenu arbitraire (fiches, boîtes de dialogue), utilisez des modèles d’emplacements : {% block content %}{% endblock %} de Jinja, {% block %} de Twig et la propriété {children} de JSX. Le fragment enveloppant fournit l’ossature ; l’appelant fournit le contenu intérieur.

Inclusion à la compilation ou à l’exécution

Les générateurs de sites statiques (11ty, Astro, Hugo, Jekyll) résolvent les inclusions au moment de la compilation ; le HTML déployé ne contient aucune syntaxe de modèle. La modélisation dynamique (PHP, Rails, Express+EJS) est résolue au moment de la requête : elle est flexible, mais plus lente. Choisissez selon que le contenu doit être dynamique pour chaque requête.

Couplage avec le CSS

Les fragments devraient posséder leur propre CSS. Le fragment de pied de page possède footer.css ; le fragment de bouton possède button.css. Associée à une étape de compilation qui concatène uniquement le CSS des fragments réellement utilisés sur une page, cette organisation évite de charger partout le CSS de chaque composant.

Vérifications des fragments

Chaque fragment devrait pouvoir être vérifié isolément : générez-le avec diverses données et vérifiez la sortie. Des outils comme les vérifications de composants de Cypress ou les vérifications d’instantanés de Jest s’appliquent également aux fragments HTML. Des fragments vérifiés peuvent être modifiés sans devoir contrôler manuellement chaque page qui les utilise.

Gestion des versions et changements incompatibles

Les fragments constituent une API. Modifier les noms des paramètres, les conventions d’emplacements ou les propriétés obligatoires constitue un changement incompatible pour chaque appelant. Documentez le contrat du fragment, retirez progressivement les anciennes versions et utilisez un outil de recherche pour trouver chaque utilisation avant de remanier le code.

Composition de plusieurs fragments

Construisez les pages en composant des fragments : en-tête + barre latérale + contenu + pied de page + fragments d’analyse. Chaque fragment est petit et ciblé ; la page elle-même devient un simple script d’assemblage qui les relie. Il est bien plus facile de comprendre cette organisation qu’un fichier HTML unique de 800 lignes.

Chemin de migration

Pour extraire un fragment : repérez le balisage dupliqué entre les pages, copiez-le dans partials/X.html, remplacez chaque occurrence par la directive d’inclusion et transformez en paramètres les valeurs qui diffèrent selon les appelants. Procédez à raison d’un fragment à la fois ; la base de code s’améliore progressivement.

Vérification des connaissances

Quel est le principal avantage d’extraire un fragment HTML répété (comme le pied de page d’un site) dans un fragment ?

Résumé

Extrayez le HTML répété dans des fragments ou des composants au moyen d’inclusions côté serveur (Jinja, Twig, EJS) ou de composants de cadre (React, Vue, Svelte, Astro). Transmettez les données par des paramètres et composez les éléments avec des emplacements. Regroupez-les par fonction, vérifiez-les isolément et traitez la signature du fragment comme une API. Migrez progressivement : chaque extraction réduit la duplication et améliore la maintenabilité.

Questions Fréquemment Posées

La leçon « Extraction de composants et modèles partiels » est-elle gratuite ?

Oui — le texte complet de « Extraction de composants et modèles partiels » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours HTML Academy, passe à CoddyKit PRO. Le cours HTML Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Extraction de composants et modèles partiels » ?

Découpez les fichiers HTML volumineux en modèles partiels réutilisables. Tu pratiques HTML Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer HTML Academy ?

Aucune expérience préalable n'est requise. HTML Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Extraction de composants et modèles partiels » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon HTML Academy ?

Oui. Chaque leçon HTML Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Extraction de composants et modèles partiels
  2. Templating côté serveur : Jinja2 et Handlebars
  3. HTML dans les systèmes de conception
  4. Intégration de la documentation et du guide de styles
← Retour à HTML Academy