01 Le moteur de rendu
Le « moteur de rendu », c'est ce qui fait comment vous voyez, à l'écran, une page Web, juste la page Web, indépendamment de tout le reste qui s'affiche à l'écran, autour de la page Web visitée (entête, menu, bare de navigation, bare d'outils, panneaux latéraux, bas de la fenêtre, etc.), et relève du navigateur Web, pas du « moteur de rendu » (le navigateur Web peut demander au « moteur de rendu » d'afficher certains objets graphiques qui n'appartiennent pas à la page Web, comme les ascenseurs, les barres d'outils et les menus). Le « moteur de rendu » :
Interprète et affiche plus ou moins bien le code HTML selon les standards du W3C (y compris les formulaires et la prise en charge de l'interaction avec l'internaute)
En respectant plus ou moins bien les styles et formats décripts dans les feuilles de style en cascade (CSS) selon les standards du W3C
En interprétant plus ou moins bien, et plus ou moins rapidement, les codes Javascript (les scripts) de la page Web (il y a divers « moteurs javascript » (« interpréteur javascript ») dans les navigateurs Web dont les tests comparatifs de vitesse font l'objet de combats homériques : SpiderMonkey, TraceMonkey, JägerMonkey, IonMonkey, V8, JavaScriptCore, Chakra, Rhino, Tamarin, Carakan, Futhark, etc.
Avec un comportement dit « à tolérance de panne » (« fault tolerant ») qui passe son temps à tenter de rendre visible et cohérente une page bourée de fautes de syntaxe HTML et CSS, comportement hautement et admirablement abracadabrantesque (une véritable gymnastique les pieds au mur) qui fait des merveilles, mais permet aussi beaucoup de laxisme de la part des webmasteurs.
Il existe désormais (normalisation forte) très peu de « moteur de rendu » (Quantum, Webkit, Blink, Gecko et c'est presque tout). Ils sont tous open source (sauf Khtml et Trident, tous deux en voie de disparition).
Les critères de choix vont donc être :
Aucun souci du côté des « moteurs de rendu » en termes de sécurité et de protection ou violation de la vie privée - Les « moteurs de rendu » n'interviennent absolument pas dans ce domaine et ne communiquent pas avec l'ordinateur (sauf les routines appelant les APIs du processeur graphiques et les requêtes en ressources matérielles).
ATTENTION : LE MOTEUR DE RENDU N'EST PAS LE NAVIGATEUR WEB.
Qui utilise quoi ? Quels navigateurs Web (et autres applications) utilisent Webkit ou Gecko ou Quantum ou Blink ?
Gecko puis Quantum :
Un des objectifs de Gecko a été, dès le départ, le strict respect des standards du web et des recommandations du W3vC. Les standards reconnus par Gecko sont notamment HTTP, HTTPS, FTP, FTPS, SSL, Unicode, JPEG, GIF, HTML, XHTML, XML, CSS, Javascript, ECMAScript, DOM, MathML, RDF, XSLT, SVG, PNG, RSS, Atom, Ajax et XUL. Gecko est remplacé par Quantum dans Firefox (mais continue d'exister dans des dizaines de navigateurs Web dérivés de Firefox.
Trident :
L'un des objectifs de Microsoft, avec Trident, est de ne respecter aucun standard si ce ne sont pas des « standards » de Microsoft. A ce petit jeu, façe au W3C et face à tous les autres « moteurs de rendu », Microsoft a perdu.
| Moteurs de rendu |
---|
# | GeckoFondation Mozilla | WebkitApple-Nokia Dérivé de KHTML du projet Unix KDE | WebCoreApple Dérivé de KHTML du projet Unix KDE | BlinkGoogle Dérivé de Webkit | TridentMicrosoft | EdgeHTMLMicrosoft Un fork de Trident | QuantumFondation Mozilla |
---|
| Firefox | Konqueror | Epiphany | Google Chrome | Internet Explorer (toutes les versions, depuis la version 4.0 à 11.0) | Edge (jusqu'au passage à Blink annoncé le 8 déc 2018 | Firefox à partir de la version 57 le 14 novembre 2017 |
| Thunderbird | ABrowse | Flock (depuis version 3) | Chromium | Netscape (dans la version 8) | | |
| SeaMonkey | GtkHTML du projet GNOME | iCab (depuis version 4) | Opera depuis sa version 15 | Maxthon (peut utiliser Gecko à la place de Trident) | | |
| Servo | NetFront (microbrowser pour petits appareils) | iWeb | Vivaldi | Avant Browser | | |
| Camino | | OmniWeb | Edge (annonce du 8 déc 2018) | AOL Explorer | | |
| Flock (avant la version 3) | | RapidWeaver | | Yahoo! Explorer | | |
| Beonex Communicator | | Safari | | iRider | | |
| Netscape (depuis la version 6) | | Shiira | | Google Talk | | |
| K-Meleon | | SunriseBrowser | | Impulse | | |
| Galeon | | Swift | | | | |
| Kazehakase | | Midori | | | | |
| Pale Moon (moteur Goanna, basé sur Gecko) | | Origyn Web Browser | | | | |
| Cyberfox | | Sputnik | | | | |
| Waterfox | | Naveo | | | | |
| Nvu | | Protom Navigator | | | | |
| Kompozer | | | | | | |
| BlueGriffon | | | | | | |
| Songbird | | | | | | |
| Lunascape | | | | | | |
| SmartNet Browser | | | | | | |
| Epiphany | | | | | | |
| Fennec | | | | | | |
| Symphony OS (une distribution de Linux) | | | | | | |
| Maxthon (peut utiliser Gecko à la place de Trident) | | | | | | |