Nos partenaires

Casino Master Français

Tout savoir sur GECKO engine

Gecko est un dispositif mis en place pour la prise en charge des normes internet ouvertes. Beaucoup d’applications l’utilisent pour l’affichage de pages web ou l’interface utilisateur. Gecko dispose d’une API de programmation performante qui lui permet de remplir plusieurs rôles à la fois au niveau des navigateurs web et des applications internet. Découvrez l’essentiel à savoir sur Gecko.

Qu’est-ce que GECKO ?

Gecko est un moteur de navigation open source qui a été mis en place afin d’assurer la prise en charge des normes internet ouvertes. Parmi ces dernières on peut citer JavaScript, XML, HTML 5, DOM W3C, CSS 3, etc.

Plusieurs navigateurs comme SeaMonkey ou encore Mozilla Firefox utilisent Gecko. Ce moteur de navigation open source est en train d’être développé sur mozilla.org. Auparavant Gecko portait les noms de code « NGLayout » et « Raptor » ; le changement de nom est dû à un conflit lié à une contrefaçon de la marque.

L’écriture de Gecko se fait en JavaScript et C++. Gecko est ainsi un logiciel qui est totalement gratuit et qui est de type open source. Il se conforme aux normes relatives de la licence publique Mozilla.

Définition d’un moteur de mise en page

Un moteur de disposition ou moteur de mise en page permet l’affichage du contenu formaté à l’écran. Il prend les informations liées à la mise en forme comme les balises HTML par exemple ainsi que le contenu qui peut être des fichiers images, XML, HTML, etc. La zone vide située au sein du chrome de la fenêtre du navigateur web soit la zone de contenu du navigateur est peinte par le moteur de mise en page.

Quand on parle de moteur de mise en page, on fait référence à la politique de positionnement d’un contenu ou d’un document sur une page. Le moteur de mise en page de Gecko se distingue de par sa rapidité et sa performance et il constitue ainsi le cœur de Gecko. Avec ce dernier, il est possible de faire l’analyse de divers documents et d’obtenir des rendus avancés en ce qui concerne la transformation et la composition. Des plugins intégrés ainsi que JavaScript sont aussi pris en compte. La rapidité de Gecko est tellement surprenante qu’il est aussi sollicité dans la création d’interface utilisateur pour certaines applications. Ainsi en plus de garantir l’affichage du document, il peint aussi les barres d’outils, les barres de défilement ainsi que les menus à l’écran.

Quelle est la différence entre GECKO et un navigateur Web ?

Gecko se charge de réunir les meilleures conditions ainsi que les bases essentielles pour un affichage de contenu à l’écran. Il fournit également un ensemble additionnel d’éléments de navigateur et un moteur de mise en page. Toutes fois, Tous ces éléments qui le composent ne sont pas rassemblés dans une application conviviale à côté d’autres modules d’interface.

Les composants essentiels sont regroupés dans les applications de Mozilla.org comme Seamonkey, Firefox, Thunderbird qui peuvent être téléchargés de manière gratuite sur Mozilla.org. Netscape dispose de sa propre version du navigateur qui est appelée Netscape Navigator. D’autres entreprises font la publicité de leurs logiciels et produits qui ont recours à l’utilisation de Gecko.

En ce qui concerne les éditeurs de logiciels indépendants et ceux qui fournissent du matériel, ils doivent faire le choix des composants qu’ils souhaitent intégrer dans les matériels ou au sein de leurs applications. Dans le cadre de Gecko, ce ne sont pas tous les composants qui sont fournis : des éléments comme le carnet d’adresse, l’historique, les signets, etc. ne sont pas fournis. Toutefois, il est possible de faire le téléchargement de la source de tous les éléments au niveau de Mozilla.org.

Pourquoi GECKO a été mis en place ?

Le navigateur d’origine de Mozilla portait le nom de Navigator 1.0 lors de sa première sortie. Son développement a été fait par une équipe experte et chevronnée à propos de la mise en place d’application. Ce développement a d’ailleurs réussi. Avec l’évolution de l’internet, il était impératif de disposer d’un moteur de mise en page doté des technologies de pointe pour la construction des produits. Le but de Gecko est de permettre d’avoir à disposition une classe moderne caractérisée par un contenu dynamique créateur avec une forte interactivité. Ce contenu permet aux développeurs d’accéder à un contrôle de présentation optimisé à travers les normes internet ouvertes.

Comment Mozilla fait pour utiliser GECKO ?

Le moteur de navigation open source Gecko est au centre des navigateurs Firefox, Mozilla et bien d’autres. Il alimente les éléments individuels qui les composent et les technologies de Gecko servent d’alimentation à la visualisation du site portail de Mozilla.com. Cela permet d’offrir un contenu de manière rapide avec des services qui sont très attractifs. L’architecture de Gecko sera utile à Mozilla dans le futur et cela favorisera la rapidité du délai de mise sur le marché. De même, il y aura beaucoup plus d’innovation, un développement qui deviendra moins cher, un support multiplateforme optimisé ainsi qu’une mise à jour plus facilitée. Enfin la distribution sera aussi beaucoup plus facile.

Comment GECKO peut être utilisé par les autres entreprises ?

Gecko est un moteur de navigation open source très léger et de petite taille. Il est ainsi facilement réutilisable par d’autres organisations et sociétés. L’ajout d’une fonctionnalité de navigation web constitue le souhait de beaucoup de fournisseurs de matériel qui font la création d’appareils avec un accès au réseau. Il en est de même pour les développeurs de logiciels qui souhaitent intégrer une fonctionnalité de navigation web au niveau de leurs applications. Cependant ces développeurs ne veulent pas procéder à un développement indépendant d’un logiciel de navigation. Ainsi ils ont la possibilité de faire le choix parmi les composants de navigateur qui sont proposés par Gecko et faire un assemblage de ces composants avec ceux qu’ils ont déjà puis procéder à leur intégration dans les produits finis.

Comment GECKO soutient les normes ouvertes ?

Gecko s’assure de la prise en charge des normes internet ouvertes recommandés qui sont les suivantes avec les exceptions des domaines indiqués ainsi que les bogues ouverts dont la documentation est faite dans Bugzilla :

  • HTML 4.0 : support complet à l’exception de :
  • Eléments BDO, Basefont attributs : Attribut sur l’élément A, abbr, axe, en-tête, portée ligne, scope-rowgroup, scope-col, charoff, colgroup, data format, data page size, évènement, sommaire, disposer sur les colonnes du tableau, attribut label d’options, texte alternatif des éléments, longdesc.
  • Divers attributs de métadonnées : cite, datetime, lang, hreflang
  • Agencement de texte bidirectionnel : dont l’utilisation ne se fait qu’en arabe et en hébreux. D’ailleurs IBM a commencé à procéder à l’ajout de la prise en charge bidi dans une version à venir.
  • Feuilles de style
  • CSS1 : la prise en charge est complète sauf dans les cas suivants :
  • Lorsque les styles sont appliqués aux composants de la colonne HTML
  • Lorsqu’il y a possibilité de procéder à la désactivation des styles d’auteur
  • Lorsque le préfixe Moz- ne figure pas dans les noms de certaines pseudo-classes avec l’extension Mozilla
  • CSS2 : il y a l’attente ainsi que l’intégration en amont d’un support partiel à Gecko. Il en est de même pour le positionnement CSS2. Cependant il n’y a pas encore d’engagement pour un niveau de support spécifique.
  • DOM
  • Niveau 0
  • Noyau de niveau 1


Les références d’entité disponibles via DOM1 sont entièrement prises en charge. Cela se fait en fonction d’une disposition relative à la spécification DOM1 pour les implémentations XML. Le développement des entités se fait de manière automatique en ligne et ceux-ci ne sont pas accessibles depuis DOM1.

  • Level 1 HTML
  • DOM 2


L’implémentation de la plupart a été effectuée dans Gecko de même que les évènements DOM 2, du noyau DOM 2 et du style DOM 2 qui sont pris en charge. Une version future prévoit de prendre en charge le DOM 3.
  • XML 1.0 la prise en charge est complète sauf dans le cas du traitement visant la manipulation par défaut.
  • RDF : la prise en charge est complète sauf pour abouteach, ParseType et aboutEachPrefix.
  • JavaScript 1,5 inclut la conformité ECMA-262 3éme édition (ECMAscript) sauf pour les chaines Date.toDateString et Date.toTime qui ne font pas l’objet d’implémentation.
  • SSL
  • Unicode
  • Protocoles de transfert : http 1. 1 (avec la compression Gzip incluse), FTP
  • Formats d’images : JPEG, GIF, PNG, PJPEG


La mention « support complet » signifie-t-elle que GECKO n’aura aucun bogue dans le futur ?

La conformité complète à HTML4/ CSS1 ne signifie pas que c’est entièrement sans bogue. Les pages web peuvent parfois être complexes et longues et disposer d’un balisage dont l’imbrication est profonde. La création de pages web ne s’affichant pas dans un navigateur donné sera toujours possible. Du moment qu’il y a toujours des tests de développement et de vérification qualité, les bogues connus surviendront toujours à un moment donné au niveau de la base de Gecko. Les produits déjà envoyés et à expédier connaissent des bugs lors de leur sortie. La documentation des bogues de la base code Gecko se fait dans Bugzilla.

Les bogues ouverts en ours peuvent intégrer des rapports obsolètes ou en doublons qui ne sont pas valides et dont l’étiquetage a été mal fait :

  • Les bogues de mise en page du contenu est suivi par le composant de mise en page
  • HTML 4.0 :
  • Vérification de formulaire, tableaux, soumission de formulaires
  • Rapports de bogues qui sont marqués à l’aide du mot clé HTML 4
  • Méta bug pour le suivi des problèmes suspendus avec HTML 4.01
  • CSS : Système de composant système
  • DOM : les composants DOM0, DOM1, DOM2, gestion des évènements
  • RDF
  • XML
  • Interprétation de langage JavaScript (moteur Javascript)
  • HTTP 1.1 : les composants Networking, Networking-General doivent comprendre des bogues de conformité.
  • OJI
  • Bibliothèques d’images Imagelib
  • Les bogues qui sont relatifs à SSL font l’objet de dépôt sur le cryptocomponent

Comment les documents XML sont formatés par GECKO ?

L’utilisation de XSLT et CSS est pris en charge par Gecko pour le formatage des documents XML. En ce qui concerne les documents XML qui ne sont pas associés à XSLT ou CSS, La belle source de la version imprimée du document est affichée par Gecko.

Quel aide Gecko apporte aux développeurs de contenu ?

Les développeurs de contenu exercent un travail assez fastidieux : développer des pages web, faire plusieurs tests pour chaque page pour la prise en charge des DOM. C’est pour cela que ces développeurs ont exigé à ce que les fournisseurs appuient les normes ouvertes énumérées pour un meilleur dispositif de mise en forme ainsi qu’un modèle d’objets optimisé. La prise en charge des normes par Gecko en fait une plateforme attractive pour les développeurs d’application et de contenu.

Les API de Gecko s’appuient-elles sur COM ? ActiveX ? JavaBeans ?

Toutes les plateformes peuvent réutiliser Gecko à travers un sous ensemble de COM appelé XPCOM qui est compatible avec toutes les plateformes. Le développement de COM a été fait par Digital puis Microsoft s’est chargé de l’adoption. Au niveau de la plateforme Microsoft, il y a un encapsule des interfaces de XPCOM au niveau d’un contrôle ActiveX utilisable par les développeurs. Un wrapper JavaBean peut être développée car l’architecture de Gecko y est favorable et ne présente pas d’obstacles.

Sur quelles plateformes fonctionne GECKO ?

Gecko fonctionne sur plusieurs plateformes comme Win32 (Windows 7, Windows 8, Windows 8.1, Windows 10, Windows XP…), MAC OS X 10.5 et ses versions futures et sur Linux. Gecko est aussi porté sur d’autres plateformes et les efforts de portage sont en train d’être travaillés. Les versions précédentes de Gecko étaient compatibles avec les anciennes versions de Mac OS X et de Win32.

Quels sont les composants de Gecko ?

  • Analyseur de documents (gestion XML et HTML)
  • Moteur de mise en page accompagné d’un dispositif de contenu
  • Bibliothèque d’images
  • Bibliothèque de réseau
  • Rendu graphique, jeux de widgets adaptés à la plateforme
  • Bibliothèque de préférence
  • Plug-in API Mozilla pour la prise en charge de l’interface du navigateur plug-in
  • Bibliothèque de polices
  • Interface Java ouverte
  • Bibliothèque de sécurité