Qu’il semble loin le temps où les navigateurs web annonçaient la sortie de Google Chrome 3 et de Firefox 4. Aujourd’hui, on parle plutôt de Google Chrome 98 et de Firefox 97. Dans quelques mois, en ce début 2022, les deux logiciels atteindront la barre symbolique de la version 100. Une étape symbolique, mais peut-être pas sans conséquence pour les sites web qui s’appuient dessus.
En effet, le numéro de version d’un navigateur n’est pas juste un indicateur qui permet à l’internaute de savoir quelle génération du logiciel il utilise. C’est aussi un signal envoyé aux sites, via une chaîne d’information qui est appelée « User Agent » (agent de l’utilisateur), pour identifier certains éléments de la configuration informatique de chaque internaute.
Ainsi, pour Firefox, l’User Agent peut ressembler à ça :
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
Et pour Google Chrome :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Le numéro de version est affiché en gras ici. C’est surtout le premier bloc de chiffres qui est utile (la chaîne se décline en : nom du navigateur / version majeure . version mineure). Or, il apparaît que la gestion de l’User Agent risque d’avoir des soucis au moment de passer de deux chiffres dans le premier bloc (Firefox/15.x, Firefox/32.x, Firefox/97.x, par exemple), à trois.
Un chiffre de plus cause tant de tracas
Il s’avère que ce problème s’est manifesté il y a douze ans, quand il y a déjà eu une évolution de la valeur du premier bloc, passant d’un seul chiffre à deux. C’est ce que soulignent trois responsables du développement de Mozilla, Karl Dubost, Chris Peterson, Ali Beyad, dans un article du 15 février 2022 qui anticipe justement le passage à la version 100, dans quelques semaines.
« Quand les navigateurs ont atteint la version 10, il y a un peu plus de 12 ans, de nombreux problèmes ont été découverts avec les bibliothèques d’analyse de l’agent utilisateur, car le numéro de version majeure est passé d’un chiffre à deux », est-il expliqué. Or, ce problème pourrait de nouveau se manifester : Firefox 100 est prévu pour le 3 mai et Chrome 100 pour le 29 mars.
« En l’absence d’une spécification unique à suivre, les différents navigateurs ont des formats différents pour la chaîne User Agent, et une analyse syntaxique User Agent spécifique au site », continuent les trois auteurs. Or, cela pourrait occasionner des problèmes sur les sites qui dépendent de l’identification de la version du navigateur.
Ce souci vous est familier ? C’est peut-être parce que vous avez eu vent d’un bug potentiel concernant Chrome, en décembre. Celui-ci porte justement sur la gestion de l’User Agent. Ici, l’affaire portait sur Duda, un kit de développement de sites web. Il était à craindre que Duda, ne sachant pas interpréter une version à trois chiffres, voit Chrome 100 comme étant Chrome 10.
Pour Duda, les choses sont vite rentrées dans l’ordre. « L’équipe DevOps de Duda a pris des mesures immédiates et a corrigé le problème en quelques heures », a-t-il été expliqué dans un article publié le 25 décembre. Mais si tout est bien qui finit bien ici, il peut y avoir ailleurs sur le web des sites qui n’ont pris aucune mesure ou ne sont pas au courant.
Que faut-il alors faire ? Faut-il repousser la sortie de Chrome 100 et de Firefox 100 de plusieurs mois, au cas où ? Faut-il « geler » le premier bloc de l’User Agent à 99 et utiliser le bloc suivant (utilisé pour indiquer la version mineure) pour renseigner les futures mises à jour ? Par exemple, la version 100 de Firefox ne serait pas Firefox/100.0 mais Firefox/99.1 ou Firefox/99.100 )
Il y a justement des plans qui sont en train d’être mis en place, à la fois du côté de Chrome et de Firefox, pour négocier ce virage. Les deux navigateurs prévoient entre autres une stratégie de secours consistant à figer leur version à 99, en déportant le numéro suivant sur le bloc d’après. Cela pourrait notamment dépendre de l’étendue du bug.
« La stratégie dépendra de l’importance de la casse. Firefox dispose d’un mécanisme d’intervention sur les sites. L’équipe peut réparer à chaud les sites web cassés dans Firefox en utilisant ce mécanisme. […] Si un site tombe en panne alors que la version majeure est 100 sur un domaine spécifique, il est possible de le réparer en envoyant la version 99 à la place », détaille Mozilla.
« Si la panne est généralisée et que les interventions sur les sites individuels deviennent ingérables, Mozilla peut geler temporairement la version majeure de Firefox à 99, puis tester d’autres options », ajoute l’éditeur de Firefox. Un plan similaire est prévu pour Chrome, en déplaçant la valeur sur le bloc d’après (ce qui donnerait Chrome/99.100.04758.102, par exemple).
D’ici la sortie de Chrome 100 et Firefox 100, les tests continuent chez Google et Mozilla pour évaluer l’impact de chaque solution. Car il ne s’agirait pas que le remède soit pire que le mal. « Chaque stratégie qui ajoute de la complexité à la chaîne User-Agent a un fort impact sur l’écosystème ». Mozilla ne tient pas à avoir à gérer un autre « comportement excentrique » plus tard.
+ rapide, + pratique, + exclusif
Zéro publicité, fonctions avancées de lecture, articles résumés par l'I.A, contenus exclusifs et plus encore.
Découvrez les nombreux avantages de Numerama+.
Vous avez lu 0 articles sur Numerama ce mois-ci
Tout le monde n'a pas les moyens de payer pour l'information.
C'est pourquoi nous maintenons notre journalisme ouvert à tous.
Mais si vous le pouvez,
voici trois bonnes raisons de soutenir notre travail :
- 1 Numerama+ contribue à offrir une expérience gratuite à tous les lecteurs de Numerama.
- 2 Vous profiterez d'une lecture sans publicité, de nombreuses fonctions avancées de lecture et des contenus exclusifs.
- 3 Aider Numerama dans sa mission : comprendre le présent pour anticiper l'avenir.
Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.
Si vous avez aimé cet article, vous aimerez les suivants : ne les manquez pas en vous abonnant à Numerama sur Google News.