Chrome 100 et Firefox 100 : attention aux changements du user-agent
Avant que Chrome 100 et Firefox 100 arrivent sur nos machines, ce n'est qu'une question de mois au rythme où sont publiées les nouvelles versions de ces deux navigateurs. Cette version "100" pourrait poser des problèmes au niveau du user-agent, une sorte de bug de l'an 2000 revisité. Que se passe-t-il ?
C'est assez rare de parler de Google Chrome et Mozilla Firefox dans le même article, et pourtant cette fois-ci, ils sont concernés par un problème plus ou moins similaire : la gestion du numéro de version "100" au sein du user-agent. Parce que, oui, le numéro de version d'un navigateur ne sert pas seulement à savoir si l'on utilise un logiciel à jour ou non. Ce numéro de version est également utilisé au sein d'une chaîne nommée "user-agent" (agent de l'utilisateur) qui permet d'indiquer aux sites Web différentes informations, comme le navigateur utilisé et sa version.
Pour une machine Windows équipée de Firefox 97, le user-agent ressemblera à ça :
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
Sur Chrome, ce sera plutôt ça :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36
La valeur "Mozilla/5.0" au sein du user-agent de Chrome peut vous surprendre ! D'après ce que j'ai compris, cette valeur correspond à la présence du moteur de rendu Gecko et aujourd'hui elle est conservée par tous les navigateurs pour des raisons historiques.
Bref, revenons à notre histoire de version 100. Le user-agent contient un numéro de version, tel que "97.0" ou "98.0.4758.82". La première partie de ce bloc contient le numéro de version majeure, sur deux chiffres. Cependant, avec la sortie de la version 100, ce numéro de version va passer sur 3 chiffres.
Comme certains sites s'appuient sur l'identification du navigateur (par exemple pour bloquer des versions trop anciennes), notamment en analysant la chaîne "user-agent", le passage à la version 100 pourrait créer des blocages. Les développeurs sont sur le coup, et plusieurs solutions sont à l'étude (quitte à figer le numéro de version 99 et utiliser les autres numéros), mais cette problématique n'est pas nouvelle. Il y a un peu plus de 12 ans, lors de la sortie de Firefox 10, il y avait eu un problème similaire avec certaines bibliothèques d'analyses du user-agent, car, à l'époque, on passait d'un chiffre à deux chiffres pour la version majeure.
Côté Chrome, l'affaire porte sur Duda, un kit de développement de sites Web qui n'est pas capable d'interpréter une valeur à trois chiffres. Au lieu de voir Chrome 100, Duda voit Chrome 10. Mais, c'est de l'histoire ancienne, car en quelques heures à peine, les développeurs ont remédié à ce problème. Maintenant, il faut que les sites qui s'appuient sur l'identification du user-agent soient en mesure de négocier ce virage, tout comme les équipes de développement de Chrome et Firefox.
Sachez que Chrome 100 est prévu pour le 29 mars tandis qu'il faudra attendre le 3 mai prochain pour Firefox 100. Cela laisse encore du temps à tout le monde ! Bon, et puis, c'est tout de même une version 100 alors j'espère que les développeurs vont marquer le coup avec des nouveautés importantes. 🙂