Migration depuis Firebug

Pendant la migration de Firebug vers les outils de développement de Firefox, vous vous demanderez certainement où sont vos fonctionnalités favorites. Et bien, cette liste est faite pour vous.


 

Pour obtenir la dernière version des outils de développement, utilisez Firefox Developer Edition.

Télécharger Firefox Developer Edition.

 

Général

Activation

L'activation de Firebug était basée sur des URL respectant la "same origin policy". Cela signifie que si vous ouvriez  une page de la même origine dans un onglet différent, Firebug s'ouvrait automatiquement. Et lorsque vous ouvriez une page d'une origine différente dans le même onglet, firebug se fermait automatiquement. L'activation des outils de développement est quant à elle basée sur les onglets. Par exemple, si vous ouvrez les outils dans un onglet, ils restent ouvert même si vous naviguez vers d'autres sites. Lorsque vous ouvrez un nouvel onglet, les outils de développement se ferment.

Ouvrir les outils

Firebug pouvait être ouvert avec F12. Pour l'ouvrir pour inspecter un élément il était possible d'utiliser le raccourci clavier Ctrl+Maj+C / Cmd+Opt+C. Les DevTools partagent les mêmes raccourcis, mais fournissent également des raccourcis pour les différent panneaux. Le Moniteur Réseau peut être ouvert avec Ctrl+Maj+Q / Cmd+Opt+Q, la Console via Ctrl+Maj+K / Cmd+Opt+K et le Débogueur avec Ctrl+Maj+S / Cmd+Opt+S.

Console

La Console est l'équivalent du panneau Console de Firebug. Elle affiche les logs associés à une page web et permet d'exécuter des expressions JavaScript via sa ligne de commande. L'affichage est différent. Le bug 1269730 changera peut être cela.

Filtrer les log

Firebug offrait deux façons de filtrer les messages de log, via le menu des options et via les boutons des filtres dans la barre d'outils. La Console des outils de développement offre une fonctionnalité similaire via les boutons de filtre dans sa barre d'outils — le tout centralisé à un seul endroit.

API de ligne de commande

L'API de ligne de commande dans Firebug fournissait des fonction spéciales pour votre confort. La ligne de commande des outils de développement possède quelques fonctions identiques, en offre de nouvelles autres et certaines, enfin, n'ont pas été reprises de Firebug.

API de la Console

Pour loguer des choses dans la consoles depuis une page web, Firebug rendait disponible une API Console dans sa page. Les outils de développement partagent la même API, donc vos expressions "console.* continueront de fonctionner.

Logs persistants

Dans Firebug, il était possible de cliquer sur bouton "Persist" dans la barre d'outils pour garder les messages de log entre différent navigations de pages et entre les rechargements. Dans les outils de développement, cette option est appelée Activer les journaux persistants et est disponible dans les options de la boîte à outils.

Logs de serveur

Les extension Firebug tels que FirePHP permettaient d'afficher des messages du serveur dans la console Firefbug. Cette fonctionnalité est déja intégrée dans les outils de développement en utilisant le protocole ChromeLogger et ne nécessite pas d'autres extensions pour être utilisée.

Historique de commande

L'historique de commande qui était disponible grâce à un bouton dans la ligne de commande de Firebug reste disponible en utilisant les touches / dans la ligne de commande de la Console

Inspecter les propriétés des objets

En cliquant sur objet logué dans la console, il était possible d'inspecter ses propriétés grâce au panneau DOM. Dans les outils de développement de Firefox, il est également possible d'inspecter les objets. La différence est que ces propriétés et les méthodes sont affichées dans un panneau annexe de la Console.

Afficher les requêtes réseau

Le panneau Console dans Firebug permettait d'afficher les requêtes AJAX (aka XMLHttpRequests (en-US)). Cette option est également disponible dans la Console des outils de développement, grâce au filtre XHR. De plus, la Console permet d'afficher tous les autres types de requêtes réseau grâce au filtre Requêtes.

Afficher les structures JSON et XML

Pour afficher les réponses JSON et XML des requêtes AJAX, Firebug avait des onglets spéciaux accessible en développant la requête dans son panneau Console. La Console des outils de développement affiche ces structures directement dans l'onglet "Réponses".

Interface en ligne de commande multi-lignes

La Console Firebug avait une interface en ligne de commande multi-lignes appelée Command Editor. Les outils de développment n'ont pas de panneau équivaleur à ceCommand Editor (ce qui a déja été demandé dans le bug 1133849), mais possède en revanche un outil séparé nommé éditeur multiligne. Il est également bon à savoir que la ligne de commande normale ajoute intelligemment des retour à la ligne lorsqu'elle reconnaît une commande incomplète telle que document. suivi d'un appui sur Entrée. Il est également possible de faire un retour à la ligne manuellement avec Maj + Entrée.

Prévisualisation des réponses

Il y avait un onglet Preview lors de l'expansion d'une requête réseau affichée dans Firebug. La Console web affiche une prévisualisation dasn l'onget Réponse. Pour le moment, la prévisualisation pour le HTML, le XML et le SVG manquent encore. Vous pouvez suivre l'historique dans le bug 1247392 et le bug 1262796. Toutefois, lors d'un clic sur l'URL de la requête, les outils de développement basculent sur le Moniteur Réseau, qui, lui, dispose d'un onglet Preview.

Inspecteur

Firebug avait un panneau HTML, qui permettait d'éditer le HTML/XML/SVG et le CSS associé. Dans les outils de développement, cette fonctionalitée est assurée par l'Inspecteur.

Editer le HTML

Dans l'Inspecteur, les attributs des balises et leur contenu peuvent être édités, tout comme dans Firebug. Il permet en plus d'éditer également les balises elles-même.

Il est également possible d'éditer l'HTML directement. Dans Firebug, il fallait faire clic-droit sur un noeud puis cliquer sur Edit HTML… dans le menu contextuel. Dans les outils de développement, cette même option est également disponible via le menu contextuel. Elle est nommée Éditer en tant qu'HTML. Seule la prévisualisation des changements en temps réel est maquante, voir bug 1067318 et bug 815464.

Copier le HTML et les informations en relation

Le panneau HTML de Firebug permettait de copier l'intérieur ou l'extérieur d'un élément HTML, ainsi que le CSS et le XPath via le menu contextuel d'un élément. L'inspecteur fournit les même fonctionalités, sauf pour la copie des XPaths. Voir bug 987877.

Éditer le CSS

Les deux outils permettent de voir et d'éditer les règles CSS des éléments sélectionnés dans la vue du noeud d'une façon similaire. Firebug possèdait le panneau Style pour ce faire, tandis que les outils de développement disposent du panneau Règles.

Dans Firebug, il était possible d'ajouter des règles en effectuant un clic-droit puis en sélectionnant Add Rule… dans le menu contextuel. Les outils de développement disposent quant à eux d'une option dans le menu contextuel nommée Ajouter une règle ainsi qu'un bouton + dans la barre d'outils de l'onglet Règles.

Pour éditer le style des élements (les propriétés CSS de l'attribut style d'un élément), dans Firebug, il fallait faire un clic-droit dans l'onglet Style et sélectionner Edit Element Style... dans le menu contextuel. Les outils de développement affichent pour leur part une règle element {} pour faire la même chose. Ainsi, un simple clic sur cette règle permet de commencer à éditer les propriétés.

Auto-completion du CSS

Tout comme dans Firebug, l'onglet des règles fournit de l'auto-complétion pour les propriétés CSS et leurs valeurs. Quelques propriétés ne sont toutefois pas complétés, elles sont listés dans le bug 1337918.

Copier & coller du CSS

L'onglet Style de Firebug ainsi que l'onglet Règles des outils de développement fournissent tous deux l'option via leurs menus contextuels de copier/coller des règles CSS. Les outils de développement fournissent en plus une option pour copier le sélecteur d'une règle et copier les règles désactivées via des commentaires. Il manque par contre les options pour copier la déclaration de style entière. Cependant cela peut être fait en sélectionnant les règles dans l'onglet puis en copiant la sélection avec Ctrl + C ou via le menu contextuel.

L'onglet des règles des outils de développement est plus intelligent quand il s'agit d'y coller du CSS. Il est en effet possible de coller des déclarations de style entières dans des règles existantes. Et les règles commentées sont directement désactivées.

Afficher les pseudo-classes

Firebug permettait d'afficher les pseudo-classes CSS :hover, :active et :focus d'un élément, grâce aux options du menu du panneau latéral Style. Dans les outils de développement, il y a deux façons de faire de même. La première est de les activer via l'onglet pseudo-class dans le panneau des Règles. La seconde est de faire un clic droit sur un élément dans la vue des noeuds et d'afficher les pseudo-classes via le menu contextuel.

Examiner les abréviations de propriétés CSS

Les abréviations des propriétés CSS pouvaient être converties dans leur version complète en sélectionnant l'option Étendre les propriétés raccourcies dans le panneau latéral Style. Le panneau des Règles des outils de développement est plus malin et permet de les étendre en cliquant sur les accolades entourantes.

Afficher uniquement les styles appliqués

Le panneau latéral Style de Firebug avait une option pour afficher uniquement les propriétés CSS d'une règle qui sont appliquées à l'élement sélectionné, masquant alors toutes les règles surchargées. Cette fonctionalité n'est pas présente dans les outils de développement, mais elle a déja été demandée dans le bug 1335327.

Inspecter le modèle de boîtes

Dans Firebug, le modèle de boîtes (en-US) pouvait être examiné à l'aide du panneau latéral d'agencement. Dans les outils de développement, le modèle en boîtes est intégré dans le panneau latéral calculé. Les deux outils mettent en évidence les différentes parties du modèle en boîtes directement dans la page lorsqu'on les survole dans la vue du modèle en boîte. De même, les deux outils permettent de modifier directement les valeurs en cliquant sur elles.

Inspecter les styles calculés

Les valeurs calculées des propriétés CSS sont affichées dans le panneau latéral "Calculé" des outils de développement exactement comme elles l'étaient dans le panneau latéral "Calculé" de Firebug. La différence est que dans outils de développement les propriétés sont toujours listées par ordre alphabétique et non groupées (voir bug 977128) et qu'il n'y a pas d'option pour cacher les styles spécifiques à Mozilla, remplacé par le champ de saisie permettant de filtrer les propriétés.

Inspecter les évènements

Les événements affectés à un élément étaient affichés dans le panneau latéral Événements de Firebug. Dans les outils de développement, ils sont affichés en cliquant sur la petite icône 'ev' à côté d'un élément dans la vue du noeud. Les deux outils permettent d'afficher les écouteurs d'événements "wrapped" (par exemple les écouteurs "wrapped" dans des fonctions jQuery). Pour améliorer l'interface utilisateur des outils de développement, il a été demandé d'ajouter un panneau latéral Événements identique à celui de Firebug (voir bug 1226640).

Stopper l'exécution sur des mutations DOM

Avec Firebug il était possible de s’arrêter sur des mutations DOM, ce qui signifie que lorsqu'un élément était modifié, l'exécution du script était arrêtée à la ligne correspondante dans le fichier JavaScript ayant provoqué le changement. Cette fonction pouvait être activée globalement via le bouton "Break On Mutate", ou individuellement pour chaque élément et pour différents types de changements comme les changements d'attributs, les changements de contenu ou la suppression d'éléments. Malheureusement, les outils de développement n'ont pas encore cette fonctionnalité (voir bug 1004678). Pour arrêter l'exécution du script, il est donc nécessaire de définir un point d'arrêt sur la ligne induisant la modification dans le Débogueur.

Chercher des éléments par sélecteurs CSS ou XPaths

Firebug permettait de rechercher des élément du panneau HTML avec des sélecteurs CSS ou XPaths. Les outils de développement permettent également de rechercher avec des sélecteurs CSS. Ils affichent même les IDs et les classes correspondants. La recherche avec des sélecteurs XPath n'est pas encore implémentée (voir bug 963933.

Debugger

Le panneau Script de Firebug est devenu le panneau Debugger panel des outils de développement. Les deux permettent de débugger le code JavaScript exécuté sur un site web.

Naviguer entre les différents codes source

Firebug possèdait un Menu d'emplacement des scripts Location Menu listant toutes les sources JavaScript liées au site web. Ces sources peuvent être statiques (fichiers), ou être dynamiquement générés (des scripts exécutés par des gestionnaires d'événements, eval(), new Function(), etc.). Dans le panneau Debugger des outils de développement, les scripts sont listés sur le côté gauche dans le panneau latéral des Sources. Les scripts générés dynamiquement ne sont listés que s'ils sont nommés par un //# sourceURL commentaire.

Gestion des points d'arrêts

Dans Firebug, vous pouviez positionner différents types de points d'arrêt tous listés dans le panneau latéral des points d'arrêt. Dans les outils de développement, les points d'arrêts sont affichés sous chaque code source de script dans le panneau latéral des sources. Ces panneaux vous permettent d'activer ou de désactiver un point d'arrêt spécifique ou tous les points d'arrêt à la fois. Ils ne permettent actuellement que de positionner des points d'arrêt dans les scripts. Les points d'arrêt pour le XHR, le DOM, les Cookies et les erreurs ne sont pas encore pris en charge (voir bug 821610, bug 1004678, bug 895893 et bug 1165010). Bien qu'il n'y ait pas de points d'arrêt pour des erreurs JavaScript spécifiques, il existe un réglage Pause sur Exception dans les options du panneau de déboguage.

Naviguer dans le code

Une fois que l'exécution du script est stoppée, vous pouvez naviguer dans le code en utilisant les options Continue (F8), Passer au suivant (F10), Avancer dans (F11) et Avancer hors (Shift+F11). Le fonctionnement est identique dans les deux outils.

Examiner la pile d'appels

Lorsque l'exécution du script était mise en pause, Firebug affichait la pile d'appel des fonctions dans le panneau latéral de la pile. Dans celui-ci, les fonctions étaient listées ensembles avec leurs paramètres d'appel. Dans les outils de développement, la pile d'appel des fonctions est affichée dans le panneau latéral de la pile d'appels. Pour voir les paramètres d'appel dans les outils de développement, vous devez regarder le panneau latéral des variables.

Examiner les variables

Le panneau latéral Watch de Firebug affichait l'objet window (le scope global) par défaut. Lorsque l'exécution du script était arrêtée, il affichait les différents scopes des variables disponibles dans le cadre de la pile d'appels actuelle. De plus, il vous permettait d'ajouter et de manipuler des expressions à observer. Les outils de développement ont un panneau latéral des Variables qui fonctionne en gros de la même façon. La principale différence est qu'il est vide lorsque l'exécution du script n'est pas stoppée, c'est à dire qu'il n'affiche pas l'objet window. Bien que vous puissiez inspecter cet objet soit via le visualisateur des propriétés du DOM, soit via la Console Web.

Editeur de styles

L'éditeur de styles des outils de développement de Firefox vous permet d'examiner et de modifier les différentes feuilles de styles CSS d'une page de la même façon que le panneau CSS de Firebug le permettait. En plus de celà, il permet de créer de nouvelles feuilles de styles et d'en importer des existantes et de les appliquer à la page. Il vous permet également d'activer ou de désactiver une feuille de styles en particulier.

Permuter des sources

Le panneau CSS de Firebug permettait de permuter différentes sources CSS en utilisant le menu d'emplacement CSS. L'éditeur de style possède une barre latérale à cet effet.

Editer une feuille de styles

Le panneau CSS offrait trois façons différentes d'éditer des feuilles de styles. Celle par défaut était de les modifier en ligne dans le panneau latéral des styles. De plus, il existait un source et d'édition en direct qui permettait de modifier la feuille de styles choisie comme dans un éditeur de texte. L'éditeur de styles des outils de développement ne possède qu'une seule façon de modifier les feuilles de styles équivalente au mode d'édition en direct de Firebug.

Essayer les sélecteurs CSS

Le panneau latéral Sélecteurs de Firebug fournissait un moyen de valider un sélecteur CSS. Il listait tous les éléments correspondant au sélecteur qui avait été saisi. Les outils de développement ne diposent pas encore de cette fonctionnalité, mais elle a été demandée dans bug 1323746.

Chercher dans les feuilles de styles

Firebug permettait de chercher dans les feuilles de styles via le champ de recherche. L'éditeur de styles des outils de développement fournit également un moyen de chercher dans une feuille de styles, bien qu'il n'existe actuellement aucune option pour chercher dans plusieurs feuilles de styles à la fois (voir bug 889571) ni pour utiliser une expression rationnelle (voir bug 1362030.

Outil de mesure des performances

Firebug permettait de déterminer les perfomances JavaScript via le bouton "Profile" dans le panneau de la Console ou à l'aide des commandes console.profile() et console.profileEnd(). Les outils de développement fournissent un outillage avancé en matière de détermination des performances. Un profil peut être créé via console.profile() et console.profileEnd() comme avec Firebug ou via le bouton "Lancer l'enregistrement des performances" dans l'outil de performance. Le résultat de l'arbre d'appels est celui qui se rapproche le plus de celui produit par Firebug, mais le panneau des Performances fournit plus d'informations que simplement les performances du JavaScript. Par exemple, il fournit également des informations concernant l'analyse du HTML ou l'agencement.

Ceci est la partie où Firebug et les outils de développement divergent le plus, parce que les résultats produits sont complètement différents. Alors que Firebug se concentre sur la performance du JavaScript et fournit des informations détaillées concernant les appels de fonctions durant la session de profilage, l'outil de performance des outils de développement offrent un large spectre d'informations concernant les performances d'un site web mais n'entre pas dans les détails en ce qui concerne les appels des fonctions JavaScript.

Voir les performances des appels JavaScript

Ce qui se rapproche le plus des résultats de profilage de Firebug est la vue de l'arbre des appels dans le panneau Performance. Comme dans Firebug, il liste le temps d'exécution de chaque appel de fonction dans Temps total ainsi que le nombre d'appels sous Echantillons, le temps passé dans la fonction dans Temps propre et les pourcentages correspondants par rapport au temps total d'éxecution.

Note: Les temps et pourcentages listés dans la vue de l'arbre d'appel des outils de développement n'est pas équivalent à ceux affichés dans Firebug, parce qu'ils utilisent des API différentes échantillonnant l'exécution du code JavaScript.

Atteindre les déclarations des fonctions

Comme dans le résultat du profileur de Firebug, la vue de l'arbre d'appels de l'outil Performance des outils de développement permet de sauter à la ligne de code où la fonction JavaScript appellée est définie. Dans Firebug, le lien source vers la fonction est localisé du côté droit de la sortie du panneau de la Console tandis que dans les outils de développement, le lien est placé du côté droit dans la vue de l'arbre des appels.

Surveillance réseau

Pour surveiller les requêtes réseau, Firebug fournit un panneau Réseau. Les outils de développement de Firefox permettent d'inspecter le trafic réseau en utilisant Moniteur Réseau. Les deux outils fournissent des informations similaires dont une frise chronologique affichant les requêtes et les temps de réponse des requêtes réseau.

Examen des informations des requêtes

Firebug et les outils de développement de surveillance réseau de Firefox permettent tous les deux d'inspecter les informations concernant une requête en cliquant dessus. La seule différence est que Firebug affiche les informations sous la requête alors que le Moniteur réseau les affiche dans un panneau latéral.

Dans les deux outils, il y a différents onglets contenant différents types d'informations pour la requête choisie. Ils contiennent des panneaux En-tête, Paramètres, Réponse et Cookies. Un aperçu de la réponse est affiché dans des panneaux spécifiquement nommés tels que HTML. Le Moniteur Réseau dispose d'un panneau Prévisualisation à cet effet. Il ne fournit pas encore d'informations concernant les données en cache (voir bug 859051), mais fournit un onglet Sécurité en complément des informations de Firebug et un onglet Timings affichant des informations détaillées concernant les temps réseau.

Voir les temps des requêtes

Firebug offrait des informations détaillées concernant les timings réseau liés à une requête en survolant la colonne Timeline dans son panneau Réseau. Le Moniteur Réseau affiche cette information dans le panneau latéral Timings quand une requête est choisie.

Vue adresses distantes

L'adresse distante d'une requête était affichée dans la colonne IP distante dans Firebug. Dans le Moniteur Réseau, l'adresse est affichée dans Adresse distante dans l'onglet En-têtes quand une requête est sélectionnée.

Recherche dans les requêtes

Le champ de recherche de Firebug permettait de chercher dans les requêtes. Le champ de recherche dans les outils de développement de Firefox filtrent les requêtes selon la chaîne saisie.

Firebug permettait de chercher dans le corps de la réponse des requêtes réseau en vérifiant les Corps des réponses dans ses options du champ de recherche. Cette fonction n'est pas encore disponible dans le Moniteur Réseau mais elle a été demandée dans bug 1334408. Bien qu'on ne puisse pas encore chercher dans les corps des réponses, le Moniteur Réseau permet de filtrer selon différentes propriétés des requêtes.

Inspecteur de stockage

Le panneau des Cookies dans Firebug affichait des informations liées aux cookies créés par une page et permettait de manipuler les informations qu'ils contiennent. Dans les outils de développement, cette fonction est présente dans l'Inspecteur de stockager (en-US). Contrairement à Firebug, l'inspecteur de stockage ne permet pas seulement d'inspecter les cookies mais aussi les autres types de stockage tels que le stockage local et celui de session, le cache et la base de données IndexedDB.

Inspecter les cookies

Tous les cookies liés à un site web étaient listés dans le panneau des Cookies dans Firebug. Dans les outils de développement, les cookies sont groupés par domaine dans la section Cookies de l'inspecteur de stockage (en-US). Les deux présentent à peu près les mêmes informations par cookie, c'est à dire le nom, la valeur, le domaine, le chemin, la date d'expiration et si le cookie est HTTP-seulement.

Les outils de développement n'affichent pas par défaut si un cookie est sécurisé, mais ceci peut être activé en faisant un clic droit sur l'en-tête de la table et en cochant Secure dans le menu contextuel. Additionnelement, les outils de développement permettent d'afficher la date de création d'un cookie ainsi que la dernière fois qu'on y a accédé et si il est spécifique à un hôte.

Modifier les cookies

Pour modifier un cookie dans Firebug, vous deviez faire un clic droit sur le cookie et choisir Modifier dans le menu contextuel. Une fenêtre de dialogue apparaissait alors permettant de modifier les données et de les enregistrer. Dans l'inspecteur de stockage, il suffit de double-cliquer sur les données à modifier. Puis un éditeur en ligne permet de modifier la valeur correspondante.

Suppression des cookies

Le panneau des cookies de Firebug permettait de supprimer tous les cookies d'un site web via l'option de menu Cookies > Supprimer les Cookies ou en appuyant sur Ctrl+Shift+O. Il permettait également de ne supprimer que les cookies de session via Cookies > Supprimer les cookies de session et de supprimer des cookies spécifiques en faisant un clic droit dessus et en choisissant Supprimer. L'inspecteur de stockage des outils de développement permet de supprimer tous les cookies ou des cookies particuliers en faisant un clic droit sur un cookie et en choisissant respectivement Supprimer Tout ou Supprimer "<nom du cookie>". Additionnellement, il permet de supprimer tous les cookies d'un domaine en particulier via l'option du menu contextuel Tout supprimer dans "<nom du domaine>". Il ne permet pas actuellement de ne supprimer que les cookies de session (voie bug 1336934).

Barre d'outils du développeur

Affichage du nombre d'erreurs

Quand il y a des erreurs JavaScript sur une page, le Bouton Démarrer de Firebug affichait un symbole avec leur nombre. Les outils de développement affichent le nombre d'erreurs dans la barre d'outils du développeur.

API des commandes

Firebug offrait une grande variété de commandes, qui pouvaient être exécutées dans la ligne de commandes. La barre d'outils de développement fournit également une API avec différentes commandes pour contrôler les outils de développement et exécuter différentes tâches.

Réactions

Nous sommes toujours heureux de répondre aux réactions et aux questions. Si vous avez une quelconque requête ou un point de vue à exprimer, sentez-vous libres de les partager sur notre Forum des discussions relatives aux outils de développement.