Web components

Les web components sont un ensemble de standards du navigateur pour créer des éléments HTML personnalisés et réutilisables, avec leur propre structure, style et comportement.
Webapp
Created on
30.09.2026

Résumer avec

Qu'est-ce que les web components ?

Les web components sont un ensemble de standards natifs du navigateur pour créer des éléments HTML réutilisables et autonomes. Un développeur définit une nouvelle balise, par exemple <product-card>, avec sa propre structure, ses styles et sa logique, puis l'utilise sur n'importe quelle page comme un élément natif.

Comme ils font partie de la plateforme, les web components ne nécessitent aucun framework et fonctionnent dans tous les navigateurs modernes. C'est un moyen courant de partager des éléments d'interface entre projets et entre équipes qui utilisent des technologies différentes.

‍

Les trois standards derrière les web components

  • Custom elements : définissent de nouvelles balises HTML et leur cycle de vie.
  • Shadow DOM : encapsule le balisage et le CSS pour que les styles ne fuient ni vers l'intérieur ni vers l'extérieur.
  • Templates HTML : déclarent un balisage inerte avec <template> et <slot>, cloné au besoin.

‍

Comment créer un élément personnalisé

class HelloCard extends HTMLElement {
  connectedCallback() {
    const root = this.attachShadow({ mode: 'open' });
    root.innerHTML = `<p>Bonjour, ${this.getAttribute('name')}</p>`;
  }
}
customElements.define('hello-card', HelloCard);

L'élément s'utilise ensuite en HTML avec <hello-card name="Alex"></hello-card>. Le navigateur exécute le code de la classe chaque fois que la balise apparaît dans la page.

‍

Web components et composants de framework

CritèreWeb componentsComposants de framework
ExécutionAPI natives du navigateurBibliothèque du framework
PortabilitéFonctionne dans toute stackLié à un seul framework
Isolation des stylesNative avec le Shadow DOMDépend de l'outillage
État et renduManuel ou via une petite bibliothèque d'aideFournis par le framework

‍

Bonnes pratiques et pièges courants

  • Utilisez-les pour des éléments d'interface partagés et indépendants d'un framework : boutons, cartes, widgets.
  • Exposez la personnalisation via des attributs, des slots et des propriétés CSS personnalisées.
  • Gardez le contenu important dans le DOM classique quand il compte pour le SEO, car le contenu du Shadow DOM peut être plus difficile à indexer.
  • Respectez les bases de l'accessibilité : rôles, libellés et navigation clavier ne sont pas automatiques.
  • Envisagez une bibliothèque légère comme Lit pour réduire le code répétitif.

‍

Web components chez BeBranded

Des composants réutilisables sont la base d'un produit maintenable, quelle que soit la stack choisie. Quand nous concevons une application web, notre équipe arbitre au cas par cas entre web components natifs et framework, selon les besoins de réutilisation, la performance et les compétences de l'équipe cliente.

FAQ

Les web components sont des standards natifs du navigateur (custom elements, Shadow DOM et templates HTML) pour créer des éléments HTML réutilisables, avec leur propre style et comportement.
Non. Ils reposent uniquement sur les API du navigateur. De petites bibliothèques comme Lit simplifient leur écriture, mais elles sont facultatives.
Le Shadow DOM est un arbre DOM isolé rattaché à un élément. Son balisage et son CSS sont encapsulés, donc sans conflit avec le reste de la page.
Oui, si le contenu important reste dans le DOM classique ou est rendu côté serveur. Un contenu caché dans le Shadow DOM peut être moins bien exploité par les robots.
Oui. Les éléments personnalisés sont des balises HTML standard, donc la plupart des frameworks savent les afficher, avec quelques précautions pour les propriétés et les événements.
Oui, tous les grands navigateurs actuels prennent en charge les custom elements, le Shadow DOM et les templates.

Prêt à booster vos conversions ?

Notre équipe est là pour comprendre vos besoins et travailler avec vous pour créer vos prochains projets.
Recevez des news et des ressources.
Des conseils pratiques directement dans votre boîte mail.
Merci ! Votre demande a bien été reçue.
Oups ! Une erreur est survenue lors de l'envoi du formulaire.