Les bugs de Mozilla Firefox me donnent la migraine

Tout commence par un beau matin
Je décide d’évaluer les capacités de recherche dans le code source de Firefox depuis la console des outils de développement (F12), sur un site en localhost de mon environnement de développement. Aucun proxy de cache n’est utilisé.

PARFAIT ! Ça marche comme prévu. Il a su trouver un nom d’attribut. En 2018, c’est assez impressionnant. Pendant ce temps, deux ou trois entreprises travaillent d’arrache-pied pour envoyer des engins spatiaux et des humains sur Mars.
Jusqu’où peut-il aller ?
Pas jusqu’à Mars, je vous le dis ! Mais attendez, il sait quand même trouver un bout de chaîne dans une valeur d’attribut…

Jusque-là, tout va bien.
Jusqu’à ce que ça se complique un peu…
Cette fois, je veux juste chercher une paire {nom, valeur} d’attribut donnée dans le code. Je ne veux pas déboguer à ce stade, donc je reste dans l’onglet Inspecteur.

Aucun résultat
Soit mon code ne contient pas ce que je crois… soit je me suis trompé de méthode ! Le problème, c’est qu’on perd un temps fou à déterminer laquelle des deux est la bonne… Après avoir revérifié mon code et m’être assuré qu’il devrait contenir cet attribut, j’en conclus que la recherche dans le code de Firefox ne sert à rien.
Alors réduisons la complexité.
Le moteur de recherche de Firefox ne semble pas s’en sortir avec une recherche nom-valeur complexe, alors donnons-lui seulement un nom d’attribut suivi du signe égal.

Hum, c’est encore trop complexe pour lui. Ou peut-être que la vérité est ailleurs ?
Onglet Inspecteur ou Débogueur ?

Et voilà ! Il suffisait de choisir le bon onglet pour la tâche. Même si vous ne cherchez pas à déboguer, profitez de l’extraordinaire capacité du moteur de recherche de l’onglet Débogueur !
Enfin, quel logiciel rafraîchissant !
Ressorti plus fort de cette expérience, je décide de modifier et d’enregistrer un nom de classe CSS dans le code source, pour voir si le moteur de recherche suit… L’expérience consiste à changer l’id d’un élément HTML de cboFiltReeqLabo en cboFiltreLabo, et à voir comment il apparaît dans le débogueur après un F5. Notez que j’ai coché la case Désactiver le cache HTTP dans les paramètres avancés de la console.

J’ai beau appuyer sur F5 ou Ctrl+F5, Firefox ne charge pas le dernier code de la page locale dans l’onglet Débogueur, et il est donc incapable de trouver la nouvelle chaîne, alors que le code a bien changé. C’est assez grave, et c’est la moindre des fonctionnalités qu’un développeur web peut attendre de cet onglet, s’il veut déboguer quoi que ce soit.
Il a fallu vider le cache


Il a fallu vider le cache du navigateur pour que l’onglet Débogueur charge le dernier code. Ne me dites pas que l’onglet Débogueur puise dans le cache ! Ou bien si ?
J’ai dit charger le dernier code, pas y trouver une chaîne…
Pourtant, il est toujours incapable de trouver la nouvelle chaîne « cbofiltreLabo ». J’avais laissé cette chaîne dans le champ de recherche, et il affiche toujours le visage triste, alors que la console montre clairement que la chaîne recherchée était bien là, voir l’image ci-dessus.
N’espérez pas économiser de la frappe

Laquelle est la bonne ?

Envoyer… mais quand ?

Conclusion
Mon bon vieux module FirePHP dans la console FireBug me manque vraiment.
Le moteur de recherche dans le code de Firefox 59 est médiocre, même si la version de l’onglet Débogueur est plus, euh… puissante ? que celle de l’onglet Inspecteur.
Si mon excuse pour laisser passer des bugs en production, c’est que je suis le seul développeur de mon équipe et que les utilisateurs sont les testeurs, quelle est l’excuse de Mozilla pour livrer un logiciel aussi médiocre ?


