Chrome, je veux parler du navigateur Web. Et il m'inquiète non pas parce qu'il a une apparence beaucoup moins sympathique que ma peluche Mozilla. Pas non plus parce que l'omniprésence Google est un peu lassante. Mais simplement parce que je pense qu'il est mauvais pour l'écosystème Web qu'un seul navigateur se mette à dominer complètement le marché. Et malheureusement, c'est visiblement ce que le Web a beaucoup de mal à faire : admettre qu'il existe plusieurs navigateurs différents sans que l'un domine complètement les autres. Ça a longtemps été IE, avec des résultats catastrophiques ; puis ça a failli être Firefox ; et maintenant, c'est Chrome qui est parti pour rafler tout le marché : youhou, ce n'est pas possible d'avoir un peu de variété ?
(Oui, je sais, c'est bizarre : la part de marché de Firefox est encore tout à fait comparable à celle de Chrome, et celle d'IE est encore supérieure, mais la dynamique de ces parts de marché, ainsi que la domination de Webkit sur le web mobile, fait que Chrome, ou du moins Webkit, a déjà acquis une hégémonie écrasante et que ça ne va pas s'arranger.)
Évidemment, je suis concerné : parce que Chrome ne convient pas du
tout à mes attentes. Il y a deux principales raisons pour lesquelles
je ne l'aime pas : d'abord parce qu'il lui manque des standards du Web
que je trouve très importants et que j'ai envie d'utiliser, notamment
MathML et des gros bouts de SVG (le clipping
et masking ont l'air d'être complètement cassés) ; mais surtout, parce
qu'il n'est quasiment pas configurable, même un truc aussi simple que
d'afficher le http://
au début des URL (ils
ont décidé de l'omettre, ce qui se défend si c'est une option ou même
le comportement par défaut, mais ce qui est assez fasciste si c'est
imposé aux utilisateurs) n'est pas réglable sans recompiler le machin.
Au contraire, Firefox, et c'est sa qualité principale à mes yeux, a un
milliard d'options de configuration (tapez about:config
dans la barre d'adresse si vous ne connaissez pas) qui permettent de
régler très finement les préférences de chaque utilisateur : je prends
ça comme l'exemple canonique pour prouver qu'un programme peut très
bien être utilisable par n'importe quel neuneu et pourtant très
finement réglable par les power-users (parce que beaucoup de
gens prétendent que c'est impossible).
Mais bon, peu importent les raisons pour lesquelles moi personnellement je n'aime pas Chrome. Je conçois très bien qu'on le préfère parce qu'il est plus rapide que Firefox. Je n'ai aucune envie de faire de l'évangélisme de Firefox (sauf peut-être en montrant la peluche). Je n'ai rien contre le fait que Chrome invente plein de technologies dont l'intérêt me semble souvent assez douteux (SPDY, Dart, nativeclient, Pepper…) : en fait, quand je dis Chrome, généralement je veux dire Webkit, qui est le moteur partagé par Chrome et Safari (et plusieurs autres moins connus).
Ce qui me gêne, c'est la façon dont les gens développent ou testent
des sites Web : si on passe d'un monde où on fait tout
pour IE (et où les fonctionnalités des autres navigateurs
ne servent pas à grand-chose, parce que personne n'ose s'en servir) à
un monde où on prétend faire du HTML5 mais en fait
le HTML5 en question ne marche correctement que sur
Webkit, on n'a pas vraiment progressé.
Voici le
genre d'annonce qui me fait peur (le plugin Flash sous Linux ne
sera à l'avenir disponible que pour Chrome, ben voyons),
et voici
un appel de Daniel Glazman (un des chefs du
groupe CSS du W3C) dans le sens n'oubliez
pas qu'il existe autre chose que Webkit
.
D'un autre côté, je considère les différents groupes de
standardisation comme partiellement responsables du problème.
Le HTML5 est en travail depuis je ne sais pas combien
d'années, et ils en sont encore à changer d'avis tous les trois jours
sur des choses vraiment basiques dans leur standard (je vous ai parlé
de <time>
? ah oui,
je radote). Ça ne donne pas trop envie de s'appuyer sur le
standard, ce genre de choses.
Et un autre truc que je ne comprends pas, c'est la manie qui a pris
tout le monde
de mettre
des préfixes devant toutes les fonctionnalités un peu récentes :
maintenant, pour utiliser une
propriété CSS foobar
un peu récente, il faut
écrire non seulement foobar: blah
, mais
aussi -moz-foobar: blah
pour que ça marche sous
Mozilla/Firefox, -webkit-foobar: blah
pour que ça marche
sous Webkit/Chrome/Safari, -ms-foobar: blah
pour que ça
marche (peut-être) sous IE, et je ne sais pas quoi pour
Opera. Et tout ça ne sert rigoureusement à rien à part faire des
lignes de code en plus : le problème est (je crois !) que des gens ont
peur qu'il y ait un changement epsilonesque entre la spécification et
l'implémentation temporaire, mais si de toute façon toutes les pages
Web utilisant cette fonctionnalité vont écrire toutes les
variantes -préfixe-foobar: blah
plus la
variante sans préfixe (et on est bien obligé de faire ça pour que ça
marche partout), ben je ne vois absolument pas quel problème on aura
réglé. Or c'est le genre de manie qui fait que les gens vont juste
écrire -webkit-foobar: blah
et tant pis pour les autres
navigateurs. Ben la faute en est à l'idée stupide de mettre des
préfixes partout, alors faut pas s'étonner après.