Moteur de navigation

Un article de Wikipédia, l'encyclopédie libre
Aller à la navigation Aller à la recherche

Un moteur de navigateur ( également appelé moteur de mise en page ou moteur de rendu ) est un composant logiciel de base de tous les principaux navigateurs Web . Le travail principal d'un moteur de navigation consiste à transformer des documents HTML et d'autres ressources d'une page Web en une représentation visuelle interactive sur l'appareil d'un utilisateur .

Nom et portée

Un moteur de navigation n'est pas un programme informatique autonome , mais un élément essentiel d'un programme plus vaste, tel qu'un navigateur Web , dont le terme est dérivé. (Le mot « moteur » est une analogie avec le moteur d'une voiture.)

Outre "moteur de navigateur", deux autres termes sont couramment utilisés concernant des concepts connexes : "moteur de mise en page" et "moteur de rendu". [1] [2] [3] En théorie, la mise en page et le rendu (ou "peinture") pourraient être gérés par des moteurs séparés. En pratique, cependant, ils sont étroitement liés et rarement considérés séparément.

Outre la mise en page et le 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 la structure de données DOM ( Document Object Model ) exposée aux scripts de page .

L'exécution de code JavaScript (JS) est cependant une affaire distincte, car chaque navigateur Web majeur utilise un moteur dédié à cet effet. Le langage JS a été créé à l'origine pour être utilisé dans les navigateurs, mais il est maintenant également utilisé ailleurs, de sorte que l'implémentation des moteurs JS est découplée des moteurs de navigateur. Dans un navigateur Web, les deux moteurs fonctionnent de concert via la structure de données DOM partagée.

Les moteurs de navigation sont utilisés dans d'autres types de programmes que les navigateurs Web. Les clients de messagerie en ont besoin pour afficher les e- mails HTML . Le framework Electron , qui est propulsé par les deux moteurs du navigateur Google Chrome , a été utilisé pour créer de nombreuses applications .

Mise en page et rendu

La mise en page d'une page Web est généralement spécifiée par des feuilles de style en cascade (CSS). Chaque feuille de style est une série de règles que le moteur du navigateur interprète. Par exemple, certaines règles spécifient des détails typographiques , tels que la police , la couleur et la taille du texte. Le moteur combine toutes les règles CSS pertinentes pour calculer des coordonnées graphiques précises pour la représentation visuelle qu'il peindra à l'écran. [1]

Certains moteurs peuvent commencer le rendu avant que toutes les ressources d'une page ne soient téléchargées. Cela peut entraîner des changements visuels à mesure que davantage de données sont reçues, telles que des images progressivement remplies ou un flash de contenu sans style .

Moteurs notables

Chronologie

Seule la durée du développement actif est indiquée, c'est-à-dire lorsque de nouvelles normes Web pertinentes continuent d'être ajoutées au moteur.

Références

  1. ^ un b "Dans les coulisses des navigateurs Web modernes" . Tali Garsiel . Récupéré le 21/04/2018 .
  2. ^ un b "Gecko" . Mozilla. Archivé de l'original le 4 juin 2014 . Récupéré le 21/04/2018 .
  3. ^ "Présentation de Goanna" . MC Straver. 2015-06-22 . Récupéré le 21/04/2018 .
  4. ^ Paul Festa (2003-01-14). "Le camouflet d'Apple pique Mozilla" . Réseaux CNET . Archivé de l'original le 2012-10-25 . Récupéré le 16/02/2017 .
  5. ^ "Chrome open source sur iOS!" . 2017 . Récupéré le 26 avril 2021 .
  6. ^ Lumineux, Peter (3 avril 2013). "Google suit sa propre voie, forking le moteur de rendu WebKit" . Ars Technica . Condé Nast . Consulté le 9 mars 2017 .
  7. ^ Mackie, Kurt (10 décembre 2018). "Navigateur Microsoft Edge pour obtenir un nouveau moteur de rendu mais EdgeHTML continue" . Redmond Mag . Récupéré le 21 décembre 2019 .
  8. ^ Mendelevich, Alan (2021-05-14), Vous pensez que vous pouvez oublier le Microsoft Edge « hérité » ? Pas si vite! , Moyen