Article de reference

Moteur de navigateur

Le moteur de rendu (également appelé moteur de rendu ou moteur de rendu ) est un composant logiciel essentiel de tous les principaux navigateurs web . Sa fonction principale est...

Le moteur de rendu (également appelé moteur de rendu ou moteur de rendu ) est un composant logiciel essentiel de tous les principaux navigateurs web . Sa fonction principale est de transformer les documents HTML et autres ressources d'une page web en une représentation visuelle interactive sur l' appareil de l' utilisateur .

Nom et étendue

Outre le terme « moteur de navigateur », deux autres termes apparentés sont couramment utilisés : « moteur de mise en page » et « moteur de rendu ». En théorie, la mise en page et le rendu (ou « affichage ») pourraient être gérés par des moteurs différents. En pratique, cependant, ces composants sont étroitement liés et rarement rencontrés séparément en dehors du moteur de navigateur.

En plus de la mise en page et du rendu, un moteur de navigateur applique la politique de sécurité entre les documents, gère la navigation via les hyperliens et les données soumises via des formulaires , et implémente le modèle objet de document (DOM) exposé aux scripts associés au document.

Pour offrir une large gamme de comportements dynamiques aux pages web , tous les principaux navigateurs prennent en charge JavaScript . Cependant, JavaScript est implémenté comme un moteur JavaScript distinct , ce qui a permis son utilisation ailleurs . Dans un navigateur, les deux moteurs sont coordonnés via les liaisons DOM et Web IDL .

Les moteurs de rendu de navigateur sont également utilisés dans des applications qui ne fonctionnent pas avec un navigateur . Un client de messagerie, par exemple , en a besoin pour afficher les courriels HTML . Depuis les années 2010, de nombreuses applications ont été créées à l'aide de frameworks basés sur le projet Chromium de Google ; chacune de ces applications autonomes fonctionne de manière similaire à une application web . ( Spotify et Slack en sont deux exemples .)

Mise en page et rendu

La mise en page d'une page web est généralement définie par des feuilles de style en cascade (CSS). Chaque feuille de style est un ensemble de règles qui déterminent la présentation de la page. Par exemple, certaines règles spécifient les détails typographiques , tels que la police , la couleur et la taille du texte, tandis que d'autres déterminent l'emplacement des images. Le moteur combine toutes les règles CSS pertinentes pour calculer les coordonnées graphiques précises et les valeurs en pixels de la représentation visuelle qu'il affichera à l'écran.

Le moteur met à jour la représentation visuelle en réponse à de nouveaux événements, tels que le défilement de la page par l'utilisateur, le chargement asynchrone de contenu , la lecture vidéo et les animations de type canvas . Il peut également commencer le rendu avant même que les ressources de la page ne soient téléchargées, ce qui peut entraîner des modifications visuelles à mesure que de nouvelles données sont reçues, comme le remplissage progressif des images ou l'affichage fugace de contenu non stylisé .

Moteurs remarquables

Le graphique ci-dessous indique la durée de développement actif (lorsque de nouvelles normes web pertinentes sont ajoutées) pour chaque moteur présenté dans cette section. À noter que Gecko, WebKit et Blink sont toujours en développement actif.