Gecko (moteur de rendu)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Gecko.
Gecko
Image illustrative de l'article Gecko (moteur de rendu)
Logo

Développeur Mozilla Foundation
Dernière version [+/-]
Environnements Windows
Mac OS X
GNU/Linux
Solaris
FreeBSD
BeOS
ZetaOS
Type Moteur de rendu
Licences MPL/GPL/LGPL (tri-licence)
Site web developer.mozilla.org

Gecko est un logiciel moteur pour présenter des pages web. Lancé par la fondation Mozilla en 1998, open source et gratuit, il est incorporé dans diverses applications telles que Netscape Navigator, Firefox, Thunderbird, AOL Explorer ou Camino.

Gecko offre les fondations nécessaire pour afficher des pages web à l'écran[1]. L'objectif de Gecko est un moteur portable qui respecte les standards du web et les recommandations du W3C. Il fonctionne sur les systèmes d'exploitation Windows, Linux et Mac OS X[2]. Il est écrit en langage de programmation C++ et distribué sous les licences MPL, GPL et LGPL[3].

Histoire[modifier | modifier le code]

Gecko est né en 1998[4], lorsque Netscape publie le code source de son navigateur web Netscape Navigator, le rendant ainsi open source[4]. Netscape crée alors la fondation Mozilla, dans le but de continuer à développer Navigator[4]. Gecko fait alors partie intégrante de Netscape Navigator[5].

Le projet Gecko (initialement appelé NG Layout) vise la re-écriture du moteur de Netscape Navigator : les fonctionnalités que devaient offrir un navigateur avaient tellement évolué depuis sa naissance que la construction du moteur de Netscape, qui était appropriée au début de son existence, était devenue caduque[6]. La re-écriture du moteur a permis d'obtenir un navigateur qui offre les mêmes possibilités avec moins de code source, étant ainsi rapide, plus simple à maintenir et à faire évoluer[6].

Six mois après la publication en open source, l'objectif de la fondation Mozilla a été alors de travailler sur des changements en profondeur en vue de faire face à des problèmes qui ne pouvaient pas être contrés par de simples patches[6]. Un des objectifs de Gecko a été dès le départ le strict respect des standards du web, ainsi que les recommandations du W3C[7].

En 2002 est mis sur le marché Mozilla 1.0, motorisé par Gecko, il est reconnu comme étant celui qui a la meilleure prise en charge du standard CSS[8]. La même année Netscape passe de la version 4 à la version 6 de son produit Netscape Navigator, et la nouvelle version est motorisée par Gecko[8].

En 2003 America Online rachète la société Netscape[4]. La fondation Mozilla devient alors une association sans but lucratif indépendante[4],[7].

Fonctionnalités[modifier | modifier le code]

Le moteur Gecko est l'ensemble des bibliothèques logicielles que les navigateurs web utilisent pour afficher des pages web[4]. Il s'occupe, à partir du code HTML d'une page web, de faire quelque chose que l'utilisateur peut voir et avec lequel il peut interagir[4].

Les fonctions offertes par Gecko sont notamment: recevoir les documents selon différents protocoles réseau, analyser le document HTML, disposer le contenu sur la page, le dessiner en respectant les polices et les feuilles de style, décoder et afficher des images, créer des widgets, assurer des communications cryptées et certifiées, permettre la manipulation du contenu par programmation en langage Javascript ou Java[1].

Gecko se charge d'examiner le code HTML d'une page web, en extraire sa structure, permettre sa manipulation par programme via le DOM, puis dessiner la page web, tracer les éléments de formulaire et placer les images au bon endroit[7]. Il calcule l'emplacement ou un élément doit être placé sur la page, puis le dessine. Le moteur Gecko sert non seulement à dessiner le contenu d'une page web, mais également l'interface graphique: les ascenseurs, les barres d'outils et les menus[1].

Gecko vise le strict respect des standards du web et des recommandations du W3C. Les standards reconnus par Gecko sont notamment HTTP, FTP, SSL, Unicode, JPEG, GIF[1], HTML, XHTML, XML, CSS, Javascript, ECMAScript, DOM, MathML, RDF, XSLT, SVG, PNG[3], RSS, Atom, Ajax[2] et XUL[7].

Gecko fonctionne sur les systèmes d'exploitation Windows, Linux et Mac OS X[2]. Des projets sont en cours pour porter Gecko sur d'autres plateformes telles que Solaris, HP/UX, AIX, Irix, OS/2, OpenVMS, BeOS et Amiga[1].

Gecko est sous la forme d'un composant logiciel XPCOM, une technologie portable similaire à Microsoft COM, et proposée par la fondation Mozilla. Il existe un adapteur pour l'utiliser comme un composant ActiveX — une autre technologie dérivée de COM[1].

Conformément à un cahier des charges établi pour Navigator 6.0, le mot Gecko se retrouve dans la signature (User-Agent) des navigateurs web qui l'utilisent[5].

Logiciels utilisant Gecko[modifier | modifier le code]

Gecko est le cœur de Firefox[5]. Il est incorporé dans AOL Explorer, Camino, les versions 6 à 8 de Netscape Navigator, Mozilla Suite, SeaMonkey[4], Galeon, Sunbird, Thunderbird, NVU et Fennec[9]. Symphony OS est une distribution Linux avec un environnement de bureau motorisé par Gecko. Il existe également une version invisible de Gecko, qui transforme des page web en documents Postscript qui peuvent alors être imprimés[7].

Des fournisseurs d'accès Internet ou des constructeurs incorporent Gecko dans leurs produits[1].

Navigateurs web[modifier | modifier le code]

Gecko est d’abord utilisé pour les navigateurs dont Firefox, mais c’est aussi le cas du logiciel d’organisation d’images Picasa pour Linux. Le tableau suivant compare les usages des différentes versions de Gecko.

Version Toutes plates-formes Windows seul Mac seul GNU/Linux seul
Firefox Thunderbird SeaMonkey Songbird
(lecteur multimédia)
Lunascape †‡ K-Meleon Camino Galeon Epiphany Kazehakase Skipstone
0.6
0.8 0.3
0.9.2
0.9.4 0.5
0.9.4.1
0.9.5 0.6
0.9.7 1.0.2
1.0.1
1.1 0.8.3
1.2b 0.1 0.7
1.3a 0.5
1.4
1.4.1 1.0.4
1.5 0.7 0.8
1.7 1.0 1.0 2.0 0.2.8
1.7.2
1.7.5 0.9
1.8.0 1.5 1.5 1.0 0.2 1.0 1.0
1.8.1 2.0 2.0 1.1 4.8 1.1, 1.5 1.6.5 2.16 1.0.0
1.9 3.0 0.5, 1.0 2.0 2.22
1.9.1 3.5 3.0 2.0 5.0, 5.1, 6.0, 6.1, 6.2, 6.3, 6.4.4, 6.4.5
1.9.2 3.6 3.1 6.4 (hors 6.4.4 et 6.4.5), 6.5, 6.6, 6.7
2.0 4.0 2.1
5.0 5.0 5.0 2.2
6.0 6.0 6.0 2.3
7.0 7.0 7.0 2.4
8.0 8.0 8.0 2.5
9.0 9.0 9.0 2.6
10.0 10.0b1 2.7b1
11.0 11.0a2 2.8a2
12.0 12.0a1

† – Navigateur utilisant aussi Webkit comme moteur alternatif.
‡ – Navigateur utilisant aussi Trident comme moteur alternatif.

Liens externes[modifier | modifier le code]

Note[modifier | modifier le code]

  1. a, b, c, d, e, f et g (en)« Mozilla - Gecko FAQ ».
  2. a, b et c (en) Anthony Holdener, Ajax: The Definitive Guide, O'Reilly Media, Inc. - 2008 (ISBN 9780596528386).
  3. a et b (en)Leslie Sikos, Web Standards: Mastering HTML5, CSS3, and XML, Apress - 2011,(ISBN 9781430240419).
  4. a, b, c, d, e, f, g et h (en) Richard York, Beginning CSS: Cascading Style Sheets for Web Design, John Wiley & Sons - 2007 (ISBN 9780470175071).
  5. a, b et c (en) Nicholas C. Zakas, Professional JavaScript for Web Developers, John Wiley & Sons - 2011 (ISBN 9781118233092).
  6. a, b et c Jean-Philippe Retaillé, Refactoring des applications Java/J2EE, Éditions Eyrolles - 2005 (ISBN 9782212115772).
  7. a, b, c, d et e Jonathan Protzenko, XUL - Les Cahiers du programmeur, Éditions Eyrolles - 2005 (ISBN 9782212116755).
  8. a et b (en) Keith Schengili-Roberts, Core CSS: Cascading Style Sheets, Prentice Hall Professional - 2004 (ISBN 9780130092786).
  9. (en) Michael Bolin, Closure: The Definitive Guide, O'Reilly Media, Inc. - 2010 (ISBN 9781449381875).