Firebug : extension Firefox, débogueur JavaScript, XHTML, CSS

Fiche PLUME
Statut de la fiche : Logiciel : En MAJ
  • Création ou MAJ importante : 07/04/2008
  • Correction mineure : 17/11/2008
Auteur :
  • Emmanuel Courcelle - LIPM (CNRS, INRA)
Contact pour cette fiche :
Responsable thématique :
Mots clés
Description
Fonctionnalités générales : 

Firebug est un débogueur très utile pour mettre au point les sites web évolués. Il permet de passer aisément de la structure de la page web (code HTML) à la présentation (CSS) ou au comportement (JavaScript) : lorsqu’elle est activée (on peut l’activer pour certains sites seulement), une icône en bas à droite de l’écran indique s’il y a des erreurs javascript. Un double-clic sur cette icône ouvre deux cadres au bas de la page, avec un menu permettant d’activer les principales fonctionnalités :

  • Le débogueur JavaScript permet de poser des points d’arrêt, suivre des expressions (variables locales ou globales), exécuter le code pas à pas, etc.
  • Le bouton ‘inspect’ permet de lire la structure de la page web : on peut développer certains nœuds seulement, ce qui a l’avantage de faciliter la navigation à l’intérieur de la page en s’appuyant sur la structure du document. L’élément survolé par la souris est mis en valeur sur la page principale. Un clic sur le nom d’un élément affiche à droite de l’écran les propriétés de style correspondantes, avec l’indication des propriétés héritées, supprimées par héritage, et même des propriétés définies dans l’élément lui-même.
  • Les styles s’appliquant à la sélection sont visualisés en cascade, du plus spécifique au plus général, avec pour chacun d’eux le nom du fichier CSS source associé. Cela permet de comprendre facilement les effets d’héritage, imbrication et cascade propre aux CSS, de localiser rapidement l’attribut de style à l’origine d’une anomalie, etc.
  • Si un script modifie la structure ou la présentation, ces modifications sont immédiatement reflétées dans les fenêtres HTML ou CSS.
  • Inversement, une modification dans la fenêtre HTML ou CSS est aussitôt répercutée dans la page web visualisée : très pratique pour tester l’effet d’un style ou d’une balise.
Autres fonctionnalités: 
  • La console JavaScript est bien plus utilisable que la console de base de Firefox.
  • Firebug peut également servir de profileur, et ce de plusieurs manières :
    • Il est possible d’afficher le temps pris par chaque requête (HTML, images, scripts, etc.). On peut se limiter à certains types de fichiers : par exemple il est aisé de mesurer si une page met longtemps à se charger à cause de ses images.
    • Un véritable profileur est intégré à Firebug, il donne le temps passé dans chaque fonction.
  • Associé à la fonctionnalité Inspect, la rubrique de menu “layout” est intéressante, car elle affiche la “boîte” correspondante à l’élément HTML survolé, ce qui permet de “mesurer” en pixels la bordure, la marge, le “padding”, enfin les dimensions de l’élément.
Interopérabilité: 

L’objectif est d’obtenir des fichiers parfaitement interopérables (HTML correct), cela dit l’outil tourne exclusivement sur les navigateurs de la famille Mozilla : Firefox, Seamonkey.

Contexte d'utilisation: 
  • Application graphique utilisant un navigateur comme interface graphique évoluée.
  • Principal outil de mise au point pour la production de pages HTML, de feuilles CSS, de gabarits (squelettes SPIP, etc.).
Limitations, difficultés, fonctionnalités importantes non couvertes: 

Le débogueur JavaScript visualise la pile d’appels uniquement sur la barre du cadre Firebug, ce qui est assez limité.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré: 

Aucune à ma connaissance, Firebug doit être installé à partir de Firefox (Outils/Modules complémentaires)

Logiciels connexes: 

Web Developer, HTML Validator

Environnement de développement
Type de structure associée au développement: 

Firebug est produit par Parakey, une start-up fondée par deux des créateurs de Firefox, dont l’objectif est de réaliser un “WebOS”… on ne sait pas grand-chose de Parakey, à part qu’elle a été rachetée en Juillet 2007 par Facebook.

Eléments de pérennité: 
  • Firebug commence à être cité dans les livres qui portent sur JavaScript
  • Les développeurs ne sont pas des amateurs, il y a de grosses pointures derrière… mais est-ce vraiment une garantie ?
  • Ils travaillent actuellement à la release 1.1, le dépôt svn montre que la branche 1.2 est en cours.
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums: 

Il y a un groupe google (http://groups.google.com/group/firebug) ainsi qu’un blog qui donne des nouvelles du développement (http://groups.google.com/group/firebug)

Documentation utilisateur: 

La documentation est succincte, mais intéressante en ce sens qu’elle se contente d’indiquer les fonctionnalités que l’on ne peut découvrir tout seul (raccourcis clavier, commandes javascript pouvant être insérées dans son blog, etc.).

Divers (astuces, actualités, sécurité): 
  • Deux raccourcis clavier indispensables à connaitre :
    • CTRL-F5 pour recharger la page et les scripts JavaScript (sinon Firefox reprend la version du cache)
    • F12 pour masquer/afficher la fenêtre Firebug.