Depuis 1998

Les bugs de Mozilla Firefox me donnent la migraine

En tant que développeur PHP, entre autres casquettes, je cherchais un remplaçant au regretté module FirePHP pour Mozilla Firefox. Après un rapide essai de Firefox Developer Edition, qui m’a laissé plus de doutes que de réponses, j’ai décidé de garder Firefox et d’utiliser la console développeur. Voici quelques-uns des bugs qui me donnent la migraine au quotidien…
Comme j'aimerais que le débogueur puisse s'appliquer à lui-même.

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é.

Une banale recherche de nom d'attribut, ça passe.

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…

Une simple recherche de valeur d'attribut fait mouche.

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.

Dans l'onglet Inspecteur, FF est incapable de trouver une simple recherche nom-valeur d'attribut.

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.

Mais un signe égal, c'est bien trop compliqué.

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

Onglet Inspecteur ou Débogueur ?

Le moteur de recherche de l'onglet Débogueur semble plus puissant que celui de l'onglet Inspecteur.

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.

L'onglet Débogueur ne charge pas la dernière version de la page locale.

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 faut vider le cache pour que l'onglet Débogueur charge le dernier code.

J'ai dit charger, pas trouver...

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

Impossible de sélectionner une valeur pour la copier dans le presse-papiers.
Oubliez le copier-coller d’une URL ou d’une autre valeur de paramètre que vous verriez dans le panneau de détail d’un XHR. Impossible de sélectionner la valeur !

Laquelle est la bonne ?

Survoler une valeur et l'entendre jouer deux musiques différentes.
Survoler une valeur et l’entendre jouer deux musiques différentes. L’une d’elles était la bonne. Mais… laquelle ? À vous de deviner ! Après tout, c’est vous le développeur…

Envoyer… mais quand ?

Envoyer n'envoie rien du tout.
Le renvoi d’un XHR ne fonctionne pas souvent. En fait, ça ne marche plus depuis un moment. Je ne l’ai vu fonctionner que deux ou trois fois après avoir installé la dernière version de Firefox. Plus depuis. Je vois bien qu’il n’envoie rien, car aucune nouvelle ligne ne s’ajoute dans le panneau de suivi des XHR.

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 ?

(7416 vues)
créé le mercredi 04 avril 2018
révisé le mardi 27 octobre 2026 par
Accepteriez-vous notre politique de confidentialité ? Elle parle de cookies et de données personnelles...