Pourquoi je n’utilise pas Firefox

Firefox Myths

La diatribe qui suit est à présent quelque peu obsolète. Elle réfère à Firefox 2.0, Maxthon 1.5.2 (build 21, moteur d’IE 6.0.2900), et Opera 8.5 (build 7700). Je suis maintenant un heureux utilisateur de Google Chrome, et ce depuis les premières versions développées en interne à Google avant leur sortie publique.

Firefox a le vent en poupe, c’est une très bonne chose en soi par rapport au tant honni Internet Explorer : promotion du logiciel libre, sécurité renforcée, onglets… Le panda rouge semble tout avoir pour lui, au point que la fondation Mozilla n’hésite pas à le flanquer du leitmotiv « Safer, Faster, Better ».

Seulement voilà. Si Firefox s’avère convenable pour l’utilisateur lambda, qu’en est-il des autres ? J’utilise pour ma part Maxthon, une surcouche gratuite d’Internet Explorer qui lui apporte toutes les fonctionnalités des navigateurs modernes : onglets, flux RSS, pléthore d’options, etc. Après avoir essayé Firefox quelques jours, je suis bien vite revenu à Maxthon pour les raisons exposées ci-après.

Il apparaîtra que plusieurs des inconvénients de Firefox ne sont pas imputables aux développeurs mais à des acteurs extérieurs tels que Microsoft, ou bien à des contraintes comme le multiplateforme. Cependant, ces raisons auront beau être des plus valables qui soient, les inconvénients sont là. Je pars du principe que l’on choisit un navigateur pour s’en servir et être efficace avec : les utilisateurs se moquent bien d’avoir un navigateur libre s’ils peuvent en trouver un autre, gratuit, qui fasse mieux ce dont ils ont besoin.

Plusieurs des arguments exposés sont étayés par un billet du blog de Tristan Nitot, plus exactement de ses nombreux commentaires.

Dernière chose avant de commencer, vous pouvez réagir à ce texte en écrivant à l’adresse suivante : guillaume@ryder.fr

« Faster » ?

Rapidité au lancement

Constamment amené à lancer/fermer mon navigateur, je trouve ce critère très important. Malheureusement Firefox est d’une lenteur exécrable, surtout lorsque l’ordinateur est sous forte charge (nombreux programmes lancés). Sous Linux comme sous Windows, il exige parfois plus de quinze secondes pour se lancer. L’option /prefetch:1 n’y change rien.

Bien sûr, une partie des DLL d’IE est chargée en même temps que Windows. Certains y attribuent la rapidité du lancement de Maxthon. Cependant, même si cette explication était vraie, elle expliquerait la lenteur relative de Firefox mais le la corrigerait pas pour autant. Donc si vous voulez un navigateur qui se lance en une ou deux secondes, Firefox n’est pas le bon choix.

Voici maintenant plusieurs points montrant que la lenteur de chargement de Firefox n’est pas due à un prétendu préchargement d’IE par Windows, argument souvent invoqué par ses défenseurs pour expliquer son temps de lancement:

Rapidité à l’exécution

Là aussi, Firefox déçoit. Si l’affichage des pages est aussi rapide, parfois même plus, que celui de Maxthon, ce n’est pas du tout le cas de l’interface. À cause de la contrainte du multiplateforme, Firefox n’utilise pas les widgets natifs du système d’exploitation. Conséquence : l’interface est nettement moins réactive que celle de Maxthon. Par exemple, dans les options, Firefox accuse un léger temps de retard quand on change d’onglet ; dans les options des polices, on peut voir les quatre listes se remplir (ce n’est plus le cas depuis Firefox 2.0).

« Better » ?

Fonctionnalités

Firefox est un bon produit, mais très incomplet dans sa version nue. À l’exception des onglets, le navigateur de base n’est guère plus fonctionnel qu’IE, et comparable à Maxthon. On ne peut pas être à l’aise sans une foule d’extensions plus ou moins stables, qu’il faut passer un certains temps à aller chercher et bien plus à mettre à jour régulièrement.

D’autre part, l’interface de Firefox est minimaliste par rapport à Maxthon. Idem pour les options. Petite liste :

Comme indiqué, certaines de ces fonctionnalités peuvent être obtenues grâce à des extensions, mais celles-ci sont de qualité incertaine, et d’autant moins stables qu’elles sont nombreuses. On finit par se retrouver avec un navigateur plantogène rappelant tristement certaines versions de Mozilla, tandis qu’IE et Maxthon sont très stables et économes en mémoire, malgré la mauvaise réputation de Microsoft dans ce domaine.

Alors qu’avec Firefox il faut partir à la pêche aux extensions, Maxthon est prêt à l’emploi : toutes les fonctionnalités classiques sont présentes dès l’installation. Maxthon offre également un système d’extensions pour certaines fonctionnalités spécifiques, elles ont l’avantage de s’installer par simple décompression de fichier Zip, sans nécessiter de quelconque installation.

D’aucuns objecteront que Firefox a l’avantage d’être léger à la base et personnalisable/augmentable selon les besoins. Cependant, le Firefox nu, de base, est déjà plus lourd en mémoire et en temps de chargement que Maxthon et Opera, tout en n’offrant pas autant de fonctionnalités !

Pour finir, le gros inconvénient des extensions est leur sortie différée. À chaque nouvelle mise à jour du navigateur, certaines extensions deviennent incompatibles, il faut attendre leur mise à niveau. Autant je comprends que des extensions lourdes, comme un éditeur HTML intégré ou un client FTP, soient effectivement des extensions séparées, autant d’autres comme la possibilité de double-cliquer sur un onglet pour le fermer, ou quelques options de plus pour gérer les onglets ne devraient pas nécessiter d’extension.

D’aucuns de dire que les extensions permettent de ne pas inclure en standard les options non-désirées par certains utilisateurs. Qu’on m’explique alors en quoi le double-clic pour fermer un onglet est indésirable, et qui a décrété que l’option « SSL 3.0 » était utile au point de mériter une case à cocher, alors que d’autres options bien plus utiles nécessitent de fouiller dans about:config ou ne sont tout simplement pas disponibles.

Consommation mémoire

J’utilise mon navigateur en même temps que plusieurs autres gros programmes, notamment des environnements de programmation. Si l’un d’entre eux monopolise les ressources de la machine, cela ralentit passablement le passage d’un programme à l’autre. C’est malheureusement le cas de Firefox.

Comme les nombreux commentaires du billet du blog mentionné en témoignent, et malgré ce que dit l’auteur du blog, Firefox semble avoir quelques soucis avec la gestion de sa mémoire.

Peu importe l’origine de ces problèmes, même les « experts » se contredisent ; il s’agirait peut-être même d’un comportement voulu. Je doute cependant qu’il plaise à tout le monde : il n’y a qu’à voir les commentaires de certains visiteurs… Garder en mémoire les pages déjà visitées est peut-être une bonne chose, mais elle ne justifie pas qu’un navigateur accapare 750 Mo de RAM ou la totalité du swap, ralentissant par là même les autres applications : c’est au système d’exploitation de gérer la mémoire, pas au navigateur.

Un rapide test sur ma machine montre que Firefox, avec un seul onglet ouvert sur Google et aucune extension d’installée, consomme déjà 17 Mo, contre 4 Mo pour Maxthon avec 7 onglets d’ouverts. Et la différence ne fait qu’empirer au fur et à mesure de la navigation ! Maxthon en version de base, sans aucune extension, est bourré d’options et de fonctionnalités, alors que Firefox est plutôt dépouillé : comment attribuer alors la gourmandise de Firefox à sa richesse fonctionnelle ?

Un petit défaut : quand Firefox met beaucoup de temps à se charger (par exemple quand il est lancé pour la première fois), il se lance en fenêtre réduite. Cela oblige à cliquer sur son bouton dans la barre des tâches : gênant quand on lance le navigateur avec un raccourci clavier pour faire une bête recherche Google.

Antipub

Sous Firefox, on ne dispose que d’un antipopup classique – sauf à installer une énième extension. Maxthon offre en plus la suppression des publicités statiques : bandeaux, trackers, popups Javascript, etc. Les versions récentes de Maxthon offrent tout un système anti-pub configurable, à base d’expressions régulières, de filtres, et de clics à la souris pour désigner les publicités à supprimer. Là encore Firefox demande l’installation d’extensions, consommatrices de mémoire et de temps processeur.

Téléchargement

Le téléchargeur de Firefox est certes un peu moins minimaliste que celui de Maxthon et d’IE, mais très insuffisant. Il n’apporte pas grand chose. Pour être à l’aise, on est obligé d’utiliser un téléchargeur indépendant comme LeechGet, ou une extension.

Au final donc l’avantage de Firefox est sinon ineffectif du moins dérisoire.

Onglets

C’est un des points forts de Firefox sur IE, largement vanté par les utilisateurs et le site officiel. Cependant, force est de constater que Firefox ne gère pas les onglets aussi bien qu’il le pourrait. La présence de nombreuses extensions relatives aux onglets le montre bien : il manque des options, et sans installer d’extension, on est loin de ce que permet Maxthon :

Firefox a donc encore à apprendre de Maxthon et d’Opera, dont les onglets sont gérés de manière plus complète. Bien sûr, nombre d’utilisateurs ont résolu ce souci en installant une extension destinée à améliorer la gestion des onglets, voire plusieurs. Je trouve cependant étrange que le navigateur qui a démocratisé l’usage des onglets – je lui en suis redevable ! – puisse encore nécessiter de telles béquilles.

Moteur de rendu

Firefox a l’avantage, mais est incomplet

Le moteur Gecko de Firefox est très à la page, et respect bien mieux les standards HTML et CSS que le vieillissant moteur MSHTML d’IE et de Maxthon. Microsoft traîne encore et toujours les pieds quand il s’agit de respecter les standards qui ne sont pas les siens. Firefox meilleur en moyenne, mais incomplètement : il ne respecte pas pas complètement le standard HTML 4.01/CSS 1 (détails plus loin). Impossible donc de faire totalement confiance aux normes du W3C pour l’aspect de ses pages Web sous Firefox : l’usage d’un validateur HTML/CSS n’est pas suffisant, il faut vérifier visuellement pour traquer les lacunes des navigateurs, avec Firefox tout comme IE.

De plus, contrairement à d’autres navigateurs – dont IE et Maxthon ne font certes pas non plus partie –, il ne passe toujours pas le test Acid 2.

Un manque gênant : la balise <col>

Plus ennuyeux, Firefox a hérité du vieux bug de Mozilla concernant la balise <col> : il est impossible de régler les attributs d’une colonne de tableau. Pas d’attribut align, pas de gras/italique/etc. par CSS. Cela fait plusieurs années que les développeurs ont eu connaissance du problème, mais ils semblent avoir préféré supporter les technologies récentes comme CSS 2 au lieu de corriger des défauts anciens. On retrouve là le travers de Microsoft, tant décrié (à raison) par certains supporters de Firefox.

Cet inconvénient n’est pas anodin, car autant des pages simples peuvent sans trop de problèmes se passer de CSS 2 et contourner les accrocs d’IE à la norme W3C, autant il est impossible de trouver un équivalent à <col> sans utiliser de Javascript. Cela complique singulièrement le développement de pages en PHP produisant des tableaux de statistiques à nombre de colonnes non fixé d’avance. Au final, on est obligé de spécifier le formatage de chaque <td>, ce qui alourdit inutilement la page pour les tableaux de grande taille.

On objectera que ce manque est isolé, et qu’IE ne gère pas un certain nombre de balises, comme <abbr> pour ne citer qu’elle (cette balise est maintenant gérée par IE7). Cependant, d’un point de vue pragmatique, ne pas pouvoir centrer une colonne de tableau est un peu plus ennuyeux que ne pas pouvoir marquer les abréviations (et encore, on peut contourner le problème avec <acronym> ou bien en créant un <span> dans chaque <abbr>).

Un respect des standards parfois trop strict

Gecko respecte (presque) les standards mais réagit très mal à ce qui n’est pas standard : son quirks mode est allergique aux pages spécifiques Netscape ou IE. Résultat : de nombreux sites s’affichent mal voire pas du tout avec Firefox. On peut – à raison – en rejeter la faute aux développeurs Web peu soucieux des standards, mais le constat est là : je ne vais pas arrêter de visiter des sites sous prétexte qu’ils ne se conforment pas aux standards. Le navigateur est un outil censé remplir et non déterminer un besoin.

Bref, si en théorie le moteur de rendu de Firefox est meilleur pour le développeur, il s’avère en pratique, et paradoxalement, un handicap pour l’utilisateur final ! Il faudra attendre plusieurs années avant qu’il ne soit plus pénalisé par les sites non respectueux des normes.

Quelques détails

Un détail personnel : je déteste la manière dont Firefox affiche le soulignement et les pointillés. Les traits de soulignement sont épais et attirent trop l’attention, tandis que les pointillés sont trop longs et espacés.

Pour finir, le moteur d’IE semble mieux supporter l’affichage des pages lourdes. Là où Firefox dessine la page d’un seul coup, quand elle a fini de se charger, Maxthon l’affiche au fur et à mesure de son chargement. Ce n’est pas systématique, mais souvent Maxthon s’en sort mieux que Firefox avec les pages comportant de très longs tableaux.

Conclusion

Le moteur de Firefox est incontestablement plus moderne que celui de Maxthon et d’IE, mais en pratique, force est d’admettre cela ne sert à rien à l’utilisateur ! Aucun site de grande envergure ne peut se permettre d’utiliser des standards non reconnus par IE, car cela reviendrait à sacrifier 75 % de ses visiteurs. Par contre de nombreux sites sont encore spécifiques IE. Bien que déplorant cet état de fait, et pour ma part développant toujours des sites conformes aux normes, il me faut bien choisir un navigateur. Étant pragmatique, je choisis celui qui permet d’afficher le plus de sites conformément à ce que l’auteur souhaitait.

Compte tenu de la relative jeunesse de certains standards, et du fait qu’il existe d’autres navigateurs moins à la page que Firefox qu’IE (notamment ceux des téléphones portables), je préfère développer mes sites en XHTML 1.0/CSS 1 sans exploiter les raffinements des CSS 2 dont on peut aisément se passer. Il est tout à fait possible de développer 100 % standard en étant compatible avec tous les navigateurs, IE inclus.

Notez bien que je ne cautionne pas du tout les sites spécifiques IE. Par contre, comme j’ai besoin d’en lire certains, il me faut bien utiliser un navigateur qui sache le faire. Il est bien évident que si dans deux ou trois ans les sites en question disparaissent, l’avantage de facto d’IE n’en sera plus un. Par contre, cela ne m’incitera pas plus à développer des sites en utilisant des standards dernier cri, car très peu de navigateurs les supporteront, et des standards éprouvés comme le couple XHTML 1.0/CSS 1 sans Javascript suffisent amplement.

Sécurité

Danger réel

Le sujet qui donne indubitablement l’avantage à Firefox, dont les failles découvertes sont à la fois moins nombreuses et corrigées rapidement. Cependant, ce critère n’est pas aussi décisif qu’il y paraît. La majorité des failles d’IE (et donc de Maxthon) concernent le phishing, ou requièrent une participation active de l’utilisateur (glisser-déplacer un lien, exécuter un programme malgré les avertissements, etc.). Pour se faire piéger, il faut le faire exprès si l’on est un semblant attentif.

D’autres failles sont bloquées à la source par les filtres antipub et anti-ActiveX de Maxthon ou du Proxomitron.

Enfin, la probabilité de se faire infecter avec un antivirus et un firewall lancés est infime. On reproche – à raison – à Microsoft de ne toujours pas avoir bouché des failles vieilles de plusieurs années, mais depuis ces mêmes plusieurs années il ne m’est jamais rien arrivé. Je ne prends pas mon cas pour une généralité, cependant je maintiens que pour un utilisateur avancé, dont l’ordinateur n’est pas un serveur et n’héberge pas de documents confidentiels, l’aspect sécuritaire avancé par Firefox n’est pas d’un intérêt percutant. Je préfère sacrifier un peu à la sécurité pour avoir un navigateur agréable à utiliser et moins rustique que Firefox.

Attention, failles !

La fondation Mozilla commence elle aussi à découvrir un tas de failles dans son navigateur. Par exemple, une faille très critique, sous Linux uniquement, permettait d’exécuter n’importe quelle ligne de commande à l’aide d’un simple lien hypertexte ! On se demande comment une faille aussi grosse et dangereuse a pu résister au système Open Source pendant plusieurs versions.

Certains prétendent que le système de cloisonnement des utilisateurs suffit à écarter le danger des virus, puisqu’un programme bogué (ici le navigateur) ne peut pas mettre en danger le système tout entier, mais seulement le compte de l’utilisateur qui l’a lancé. Le cloisonnement des droits à la Unix mettrait alors fin à tous leurs soucis de sécurité. Or même s’il est vrai que ce système est plutôt sûr, il est exagéré de le tenir pour plus sécurisé qu’il n’est. En effet :

Windows XP dispose lui aussi d’une telle architecture, mais elle est très peu utilisée en pratique, car mal conçue et trop contraignante. Presque tout le monde utilise quotidiennement un compte administrateur, ce qui permet aux virus et autres spywares de proliférer à loisir, aboutissant à des situations pires que celles décrites ci-dessus.

Mon objectif ici n’est pas de blanchir Windows, qui a de gros défauts, mais de relativiser la sécurité de Linux. Si un jour Linux devient populaire auprès du grand public, il y a fort à parier pour que les créateurs de virus s’en donnent à cœur joie. Rien ne les empêchera de créer des virus gênants, avec ou sans cloisonnement des utilisateurs. Donc oui, en théorie, la popularité d’un système n’a aucun rapport avec sa sûreté. Mais il n’en reste pas moins que plus un système est populaire auprès des utilisateurs néophytes, plus ceux-ci seront visés, et Linux n’échappe pas à la règle. Si certaines personnes sont capables de fournir leurs codes bancaires à de parfaits inconnus (phishing), pourquoi n’entreraient-elles pas leur mot de passe root si un malware le leur demande ?

Firefox a pour l’instant l’avantage de sa popularité assez moyenne en termes de parts de marché globales et marque donc un point. Cependant si son succès s’affirme, une partie (une partie seulement) de cette sécurité risque d’être balayée par les extensions-spyware que des logiciels douteux ne manqueront pas d’installer. Que penser du spyware qui utilisait une faille de la JVM pour infecter IE, faille qui fonctionnait même sous Firefox : le spyware aurait très bien pu infecter Firefox.

Bref, on fait grand bruit autour de toutes ces failles et ces problèmes de sécurité, mais je n’en ai jamais subi les conséquences…

Garder son navigateur à jour

Les versions récentes de Firefox se patchent automatiquement : le navigateur surveille la présence de mises à jour, qui s’installent alors un clic, et sont opérationnelles après relancement. On a donc un équivalent du système Windows Update qui garantit un navigateur patché au bout d’un mois maximum, même si l’utilisateur n’y connaît absolument rien en informatique.

Cependant les utilisateurs novices à être passés à Firefox sur le conseil d’un ami n’ont pas forcément un navigateur qui intègre ce système de mise à jour automatique. Il est très probable que de nombreuses personnes en soient restées à Firefox version 1.0.6 ou antérieure, dans lequel on a trouvé un paquet de failles. Ces utilisateurs néophytes ne penseront jamais à mettre à jour si la personne qui leur Firefox ne leur a pas dit de le faire. Par contre, une écrasante majorité d’utilisateurs de Windows XP ont un navigateur raisonnablement à jour grâce à Windows Update, même s’ils sont partis d’une version très ancienne.

Intégration du navigateur à Windows

Beaucoup de gens imputent les failles d’IE à son intégration à Windows, alors qu’en réalité cela n’a aucun rapport. Les failles viennent du fait que le navigateur donne accès à certaines fonctions de l’OS qui sont potentiellement dangereuses. Or, n’importe quel navigateur évolué, intégré ou pas, donne accès à des fonctions de l’OS, ne serait-ce qu’à cause du système d’extensions, de plugins (Java, flash), de téléchargement, de suivi des liens mailto, etc. De ce point de vue, Firefox est tout aussi intégré à Windows qu’IE, car il appelle une foule de fonctions Windows.

Il n’y a pas besoin d’être intégré à un OS pour avoir des failles : étant multiplateforme, Firefox n’est pas du tout intégré à quelconque OS, ce qui ne l’a pas empêché d’avoir des floppées de failles critiques. Si demain on trouve une faille dans Firefox qui permette d’installer des XPI sans l’accord de l’utilisateur, ou bien de lancer des applets Java avec des autorisations spéciales, le danger sera le même qu’avec les ActiveX. Pourtant, les XPI et les applets Java ne sont pas vraiment intégrés à Windows.

Le réel danger des ActiveX vient du contrôle effectué par le navigateur sur leur utilisation, et non du fait qu’on les utilise. Or les versions récentes d’IE ont notablement renforcé la sécurité autour des ActiveX, en imposant à l’utilisateur d’autoriser explicitement leur usage, au cas par cas, ce qui limite sérieusement les risques.

Conclusion

Firefox fait bien ce qu’il fait, mais il fait bien trop peu. Avec le navigateur nu, on ne peut quasiment rien personnaliser par rapport à Maxthon. Si on commence à installer des extensions pour rattraper le retard en terme de fonctionnalités, la stabilité et la rapidité en souffrent. Dans tous les cas le temps de lancement est médiocre, et une foule de fonctionnalités pratiques manquent à l’appel ou nécessitent de nombreuses extensions. Ces inconvénients pèsent bien plus pour moi qu’une sécurité béton ou un respect à la lettre des normes. J’utilise bien sûr Firefox pour tester mes sites Web, mais c’est tout. Maxthon est bien plus agréable et efficace à utiliser au quotidien.

Malheureusement, cette opinion pragmatique est superbement ignorée par les fans inconditionnels du logiciel libre en général et de Firefox en particulier, pour qui, trop souvent, un utilisateur d’IE ou de Maxthon est un ignare lobotomisé et exploité par Microsoft, participant à l’expansion de son infâme monopole. Que ces personnes me trouvent un navigateur libre qui sache faire tout ce que fait Maxthon, aussi rapidement et sans 36 extensions, et je l’utiliserai. Mais pour l’instant, je n’emploie Firefox que par obligation, c’est-à-dire uniquement sous Linux.

Le « safer » annoncé par la fondation Mozilla est donc vrai, mais à un trop grand prix pour moi. Le « faster » me semble usurpé et mensonger. Le « better » est très subjectif et pour moi mensonger également, car à part ses onglets, Firefox n’offre guère plus qu’IE, et en tout cas bien moins que Maxthon.

Les curieux trouveront des chiffres et des citations sur ce site : www.FirefoxMyths.com.

Firefox Myths