<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Assertion failure</title>
    <description>Blog d&#39;un contributeur de Firebug et Mozillien.</description>
    <link>http://fflorent.github.io/</link>
    <atom:link href="http://fflorent.github.io/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Sortie de Firebug 2.0&amp;nbsp;!</title>
        <description>&lt;script type=&quot;text/javascript&quot;&gt;
    // Sert à poser le début de l&#39;index où les balises &lt;h2&gt; sont référencés dans la
    // table des matières
    // xxxFlorent: existe-t-il un moyen plus éléguant ? (mettre une balise HTML englobante,
    // qui contiendrait du code Markdown, par exemple)
    var h2IndexStartTM = document.getElementsByTagName(&quot;h2&quot;).length;
&lt;/script&gt;

&lt;p&gt;Ca y est. Voici la concrétisation d’un travail de long labeur que voici. Firebug 2.0 est sorti !&lt;/p&gt;

&lt;p&gt;Tout d’abord, rappelons que Firebug est un projet open-source, maintenu par des développeurs du
monde entier. Voici la liste de ceux ayant participé à la version 2.0 :&lt;/p&gt;

&lt;table width=&quot;100%&quot; cellpadding=&quot;10&quot; style=&quot;border-style: none&quot;&gt;
&lt;tbody&gt;&lt;tr style=&quot;vertical-align:top&quot;&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;Jan ‘Honza’ Odvarko&lt;/li&gt;
&lt;li&gt;Sebastian Zartner&lt;/li&gt;
&lt;li&gt;Simon Lindholm&lt;/li&gt;
&lt;li&gt;Florent Fayolle&lt;/li&gt;
&lt;li&gt;Farshid Beheshti&lt;/li&gt;
&lt;li&gt;Steven Roussey&lt;/li&gt;
&lt;li&gt;Markus Staab&lt;/li&gt;
&lt;li&gt;Sören Hentzel&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
&lt;li&gt;Belakhdar Abdeldjalil&lt;/li&gt;
&lt;li&gt;Thomas Andersen&lt;/li&gt;
&lt;li&gt;Jakob Kaltenbrunner&lt;/li&gt;
&lt;li&gt;David Gomez&lt;/li&gt;
&lt;li&gt;Leif Dreizler&lt;/li&gt;
&lt;li&gt;Luca Greco&lt;/li&gt;
&lt;li&gt;Benediktas Knispelis&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;Il y a aussi de &lt;a href=&quot;https://lut.im/CTOZyPuO/FPP06DUw&quot;&gt;nombreux traducteurs de Firebug&lt;/a&gt; qui traduisent dans 35 langues !
J’en profite pour grandement remercier Jojaba pour son implication consciencieuse dans la traduction en français.&lt;/p&gt;

&lt;p&gt;Cette version annonce de nombreuses nouveautés, dont en voici les plus importantes :&lt;/p&gt;

&lt;ul id=&quot;table_matiere&quot;&gt;

&lt;!--&lt;li&gt;Nouveau design&lt;/li&gt;
&lt;li&gt;Utilisation de la nouvelle bibliothèque de débogage&lt;/li&gt;
&lt;li&gt;Coloration syntaxique&lt;/li&gt;
&lt;li&gt;Auto-complétion de l&#39;éditeur de commande&lt;/li&gt;
&lt;li&gt;&quot;Pretty-print&quot; (autoformattage de javascript)&lt;/li&gt;
&lt;li&gt;Panneau &quot;Évènement&quot;&lt;/li&gt;
&lt;li&gt;Visualisation et modification de la valeur retournée et visualisation de l&#39;exception sur le point d&#39;être levée&lt;/li&gt;
&lt;li&gt;Et comme souvent, de nombreux bogues corrigés&lt;/li&gt;
--&gt;

&lt;/ul&gt;

&lt;h2 id=&quot;nouveau-design&quot;&gt;Nouveau design&lt;/h2&gt;

&lt;p&gt;Avant d’entrer dans le détail, regardons les changements apportés au niveau de l’interface
de Firebug. L’outil s’est doté d’un nouvel aspect le rendant plus propre, plus épuré, et plus
intuitif, et ce grâce à une équipe de designers de talent.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io/assets/firebug-2.0/firebug.png&quot; alt=&quot;Nouveau design de Firebug&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;nouvelle-bibliothque-de-dbogage&quot;&gt;Nouvelle bibliothèque de débogage&lt;/h2&gt;

&lt;p&gt;Pour proposer le débogage de script et l’évaluation d’expression depuis sa Console,
Firebug repose sur la bibliothèque de débogage appelée &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Tools/Debugger-API&quot;&gt;Javascript Debugger API&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Jusqu’alors, Firebug utilisait la première implémentation, qui a mal vieilli. Entre autre,
elle posait problème lorsqu’on changeait d’onglet alors que le panneau Script de Firebug était
actif (une latence de 10s!). Ce désagrément est résolu dans cette version.&lt;/p&gt;

&lt;p&gt;Mais c’est aussi grâce à l’utilisation de cette bibliothèque de débogage que de nouvelles
fonctionnalités ont émergées (dont Pretty-Print ou la visualisation de valeurs retournées)
et de nouvelles apparaîtront à l’avenir.&lt;/p&gt;

&lt;h2 id=&quot;coloration-syntaxique&quot;&gt;Coloration syntaxique&lt;/h2&gt;

&lt;p&gt;L’une des améliorations les plus notables apparues dans cette version est sans doute le support
de la coloration syntaxique du JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io/assets/firebug-2.0/script-panel.png&quot; alt=&quot;coloration syntaxique du panneau Script&quot; /&gt;&lt;/p&gt;

&lt;p&gt;La coloration syntaxique est aussi présente quand vous éditez du code HTML, le source du CSS…&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io/assets/firebug-2.0/html-panel.png&quot; alt=&quot;Coloration syntaxique du panneau HTML&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Je pense qu’on est tous d’accord pour dire que c’est plus agréable ainsi ;-).&lt;/p&gt;

&lt;h2 id=&quot;lauto-indentation-pretty-print&quot;&gt;L’auto-indentation (Pretty Print)&lt;/h2&gt;

&lt;p&gt;Le panneau Script supporte également l’indentation automatique du code JavaScript minifié.
Cette fonctionnalité vous sera utile dans de nombreuses circonstances, que ce soit pour
aider à la lecture du code ou pour déboguer pas à pas.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/pretty-print.png&quot; alt=&quot;Pretty Print&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;linspecteur-dvnements-dom&quot;&gt;L’inspecteur d’évènements DOM&lt;/h2&gt;

&lt;p&gt;Firebug 2 intègre l’extension EventBug et ajoute le panneau latéral “Events” au panneau HTML.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/events.png&quot; alt=&quot;Le panneau évènement&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ce panneau est très pratique : il vous liste tous les écouteurs d’évènements
(&lt;em&gt;event listeners&lt;/em&gt;) pour un élément donné et ses parents, et de voir leur code
en un clic. Et en bonus : il vous permet de les activer / désactiver.
Elle est pas belle la vie :-).&lt;/p&gt;

&lt;h2 id=&quot;recherche-par-slecteur-dans-le-panneau-html&quot;&gt;Recherche par sélecteur dans le panneau HTML&lt;/h2&gt;

&lt;p&gt;La recherche dans le panneau HTML a été améliorée pour intégrer le support
des sélecteurs CSS ou XPath, ainsi que les expressions régulières.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/html-search-css.png&quot; alt=&quot;La recherche par sélecteur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/html-search-regexp.png&quot; alt=&quot;La recherche par Expression Régulière&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;auto-compltion-de-code&quot;&gt;Auto-complétion de code&lt;/h2&gt;

&lt;p&gt;L’auto-complétion a été améliorée à plusieurs endroits dans Firebug,
notamment dans l’éditeur de commandes (dans le panneau Console), où il est
désormais possible de presser la touche &lt;code&gt;&amp;lt;Tab&amp;gt;&lt;/code&gt; ou la combinaison &lt;code&gt;&amp;lt;Ctrl-Espace&amp;gt;&lt;/code&gt;
pour ouvrir la popup d’auto-complétion:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/autoc-cmd-editor1.png&quot; alt=&quot;L&#39;auto-complétion dans l&#39;éditeur de commande&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mais l’auto-complétion fonctionne désormais aussi dans l’éditeur de condition des
points d’arrêt, en offrant les variables de portée locale.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/autoc-condition-dialog.png&quot; alt=&quot;L&#39;auto-complétion dans l&#39;éditeur de condition de points d&#39;arrêt&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez aussi profiter de l’auto-complétion en éditant des attributs HTML (ou SVG) et
aussi à l’intérieur de l’attribut &lt;em&gt;style&lt;/em&gt;. Tous ces petits détails font de Firebug un outil
puissant à utiliser.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/autoc-html-attr.png&quot; alt=&quot;L&#39;auto-complétion des attributs HTML&quot; /&gt;
&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/autoc-html-attr-value1.png&quot; alt=&quot;L&#39;auto-complétion des attributs HTML&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;linspecteur-dexpressions-javascript&quot;&gt;L’inspecteur d’expressions JavaScript&lt;/h2&gt;

&lt;p&gt;En déboguant pas à pas votre code, il vous est désormais possible d’inspecter rapidement un bout
de code JavaScript et de visualiser son résultat dans une &lt;em&gt;tooltip&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/selected-expression.png&quot; alt=&quot;L&#39;inpecteur d&#39;expressions JavaScript&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Il est également possible de faire un clic droit sur une expression (ou sur la sélection courante)
et de choisir l’option “Utiliser en ligne de commande” ou “Inspecter dans l’onglet DOM”.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/inspect-expression.png&quot; alt=&quot;Options pour les expressions&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;groupement-des-logs-dans-la-console&quot;&gt;Groupement des logs dans la Console&lt;/h2&gt;

&lt;p&gt;La version 1.12 introduisait le groupement des logs identiques apparaissant consécutivement.&lt;/p&gt;

&lt;p&gt;La version 2.0 donne la possibilité d’activer ou de désactiver cette option depuis l’interface des
options du panneau Console (option activée par défaut).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/console-log-grouping.png&quot; alt=&quot;Les groupements de logs&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;visualiser-et-modifier-une-valeur-retourne&quot;&gt;Visualiser et modifier une valeur retournée&lt;/h2&gt;

&lt;p&gt;Cette fonctionnalité permet d’examiner et de modifier une valeur retournée par une fonction
JavaScript. Prenons cet exemple :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function myFunction() {
    return foo();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Le problème des débogueurs est habituellement qu’il est impossible de visualiser le retour de la
fonction foo(). Firebug donne donc la possibilité de passer à l’instruction d’après au moment où le
débogueur s’arrête sur une instruction de retour de fonction, et d’en visualiser la valeur
retournée. Mieux encore, il vous permet de la modifier !&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/inspect-return-value.png&quot; alt=&quot;La visualisation de valeurs retournées&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;affichercacher-des-panneaux-firebug&quot;&gt;Afficher/Cacher des panneaux Firebug&lt;/h2&gt;

&lt;p&gt;Un ajout dans cette version est la possibilité de sélectionner les panneaux à afficher (ou à cacher).
Voir la capture d’écran ci-après pour voir comment on procède.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/show-hide-panels.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;visualiser-la-valeur-css-originale-dune-couleur&quot;&gt;Visualiser la valeur CSS originale d’une couleur&lt;/h2&gt;

&lt;p&gt;Une autre fonctionnalité bienvenue est l’affichage de la valeur CSS originale d’une couleur.
Pour ce faire, la nouvelle option &lt;strong&gt;Colors as Authored&lt;/strong&gt; (pas encore traduite en Français) a été
introduite dans le panneau CSS. Elle permet d’afficher les couleur CSS comme définies à l’origine.
Cela rend plus facile la comparaison des styles interprétée par le navigateur de celles définies
dans la feuille de style originale.&lt;/p&gt;

&lt;p&gt;Cette option est sélectionnée par défaut, mais il vous est possible de changer pour le format
hexadecimal, RGB ou HSL.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/colors-as-authored.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;crer-rapidement-un-nouvel-attribut-html&quot;&gt;Créer rapidement un nouvel attribut HTML&lt;/h2&gt;

&lt;p&gt;Cette version introduit une nouvelle méthode pour créer de nouveaux attributs HTML. Pour ce faire, il
suffit de passer la souris sur le chevron fermant (&lt;strong&gt;&amp;gt;&lt;/strong&gt;) de votre balise. Voyez, le curseur change
de forme en une main.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/create-new-attribute1.png&quot; alt=&quot;Créer un nouvel attribut étape 1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Cliquez sur le chevron fermant pour ouvrir l’éditeur intégré (&lt;em&gt;inline&lt;/em&gt;) et
renseignez le nom de l’attribut.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/create-new-attribute21.png&quot; alt=&quot;Créer un nouvel attribut étape 2&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Le reste se fait comme à votre habitude. Appuyez sur la touche &lt;code&gt;&amp;lt;Tab&amp;gt;&lt;/code&gt; et renseignez la valeur.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/create-new-attribute3.png&quot; alt=&quot;Créer un nouvel attribut étape 3&quot; /&gt;&lt;/p&gt;

&lt;p&gt;C’est le genre de petite fonctionnalité qui rend l’utilisation de Firebug plus aisée au quotidien.&lt;/p&gt;

&lt;h2 id=&quot;inspecter-les-mutation-observers-renseigns&quot;&gt;Inspecter les &lt;em&gt;Mutation Observers&lt;/em&gt; renseignés&lt;/h2&gt;

&lt;p&gt;La commande &lt;code&gt;getEventListeners()&lt;/code&gt; existante (voir
&lt;a href=&quot;http://www.softwareishard.com/blog/planet-mozilla/firebug-tip-geteventlisteners-command/&quot;&gt;cet article&lt;/a&gt;
du blog de Jan Odvarko) a été étendu et affiche maintenant aussi les &lt;em&gt;Mutation Observers&lt;/em&gt; pour un
élément donné.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://fflorent.github.io./assets/firebug-2.0/mutation-observers.png&quot; alt=&quot;Visualiser les Mutation Observers&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez utiliser &lt;a href=&quot;https://getfirebug.com/tests/manual/issues/6740/issue6740.html&quot;&gt;cette page&lt;/a&gt;
pour essayer vous-même.&lt;/p&gt;

&lt;script type=&quot;application/javascript&quot;&gt;
(function()
{
    var tableMatiere = document.getElementById(&quot;table_matiere&quot;);
    var h2s = document.getElementsByTagName(&quot;h2&quot;);
    // Le dernier paragraphe
    var limit = h2s.length;
    for (var i = h2IndexStartTM; i &lt; limit; i++)
    {
        var h2 = h2s[i];

        var li = document.createElement(&quot;li&quot;);
        var a = document.createElement(&quot;a&quot;);
        a.href = &quot;#&quot; + h2.id;
        a.textContent = h2.textContent;
        li.appendChild(a);
        tableMatiere.appendChild(li);
    }
})();
&lt;/script&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;C’est sans doute l’une des versions sorties les plus importantes de Firebug depuis sa création.
Firebug en profite pour se mettre au goût du jour et innove.&lt;/p&gt;

&lt;p&gt;Firebug est historiquement l’outil qui a révolutionné la façon de déboguer des pages web, et offre
une expérience utilisateur qui continue de plaire à ses utilisateurs. Pour ce faire, le projet
a toujours compté sur l’appui de ses contributeurs.&lt;/p&gt;

&lt;p&gt;Nous recherchons des contributeurs pour continuer dans ce sens. N’hésitez pas à 
&lt;a href=&quot;https://github.com/firebug/firebug/&quot;&gt;&lt;em&gt;hacker&lt;/em&gt;&lt;/a&gt; le code du projet et &lt;a href=&quot;https://code.google.com/p/fbug/issues/list&quot;&gt;à reporter des bogues
ou à demander de nouvelles fonctionnalités&lt;/a&gt;. Saviez-vous
d’ailleurs que Firebug n’utilisait que des languages Web (JavaScript, HTML, CSS, SVG), et un peu de XUL
(pas beaucoup) ?&lt;/p&gt;

&lt;p&gt;Mon expérience dans ce projet a commencé vraiment
&lt;a href=&quot;https://code.google.com/p/fbug/issues/detail?id=5535&quot;&gt;par hasard&lt;/a&gt;
et je ne pensais pas être autant impliqué par la suite. J’ai énormément appris auprès
de développeurs talentueux. Je recommande volontiers à quiconque voulant s’investir
dans un projet libre et technique de se joindre à l’aventure.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Sources :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://blog.getfirebug.com/2014/06/10/firebug-2-0/&quot;&gt;Blog officiel de Firebug [en]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sun, 15 Jun 2014 00:00:00 +0200</pubDate>
        <link>http://fflorent.github.io/firebug/2014/06/15/Firebug-2.0-released/</link>
        <guid isPermaLink="true">http://fflorent.github.io/firebug/2014/06/15/Firebug-2.0-released/</guid>
      </item>
    
  </channel>
</rss>
