--- title: Web Components (composants web) slug: Web/Web_Components translation_of: Web/Web_Components --- {{DefaultAPISidebar("Web Components")}} Les composants web (Web Components) sont un ensemble de plusieurs technologies qui permettent de créer des éléments personnalisés réutilisables, dont les fonctionnalités sont encapsulées en dehors du reste du code et qui peuvent être utilisées au sein d'applications web. ## Concepts et utilisation On essaie tant que possible de réutiliser du code. Cette réutilisation n'a pas toujours été simple pour du HTML, CSS et JavaScript complexe utilisé pour créer des éléments d'interface utilisateur personnalisés. Réutiliser de tels éléments d'interface peuvent gâcher une page si on ne fait pas attention. Les composants web (Web Components en anglais) visent à résoudre ces problèmes. Il s'agit de trois technologies qui peuvent être combinées ensemble pour créer des éléments sur mesure avec des fonctionnalités encapsulées et qu'on peut réutiliser à volonté, sans risque de collisions. - **Les éléments personnalisés (custom elements)** : un ensemble d'API JavaScript qui permettent de définir des éléments personnalisés ainsi que leur comportement - **Le Shadow DOM** : un ensemble d'API JavaScript qui permettent d'attacher un DOM « sombre » encapsulé à un élément, qui est rendu séparément du DOM du document principal et de contrôler les fonctionnalités associées. Ainsi, les fonctionnalités d'un élément peuvent être gardées privées pour que la mise en forme et le script puissent être appliqués sans risque de collision avec les autres parties du document. - **Les gabarits HTML** : les éléments [`