IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les versions 100 de Chrome, Edge et Firefox pourraient casser de nombreux sites web,
Le plan de Microsoft consiste à envoyer un numéro de version à trois chiffres dans l'en-tête User-Agent

Le , par Bruno

55PARTAGES

10  0 
Chrome et Firefox atteindront la version 100 dans quelques mois. Cela risque de provoquer des pannes sur les sites qui s'appuient sur l'identification de la version du navigateur pour exécuter une logique commerciale. Mozilla, Google et Microsoft ont lancé des avertissements depuis des mois au sujet de cette prochaine version, qui sera disponible en mars pour Chrome et Edge, puis pour Firefox en mai. Mozilla et Google ont tous deux mené des expériences pour tester les sites Web et signaler les pannes.


« Lorsque 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'User-Agent lorsque le numéro de version majeure est passé d'un chiffre à deux », explique une équipe de développeurs web dans un blog de Mozilla. À l'instar du fameux bogue de l'an 2000 qui a rendu l'année 2000 impossible à distinguer de l'année 1900 pour certains ordinateurs, les navigateurs ont des formats différents pour les chaînes User-Agent et il est possible que certaines bibliothèques d'analyse aient des hypothèses codées en dur ou des bogues qui ne prennent pas en compte les numéros de version majeurs à trois chiffres.

Chaîne User-Agent

User-Agent (UA) est une chaîne que les navigateurs envoient dans les en-têtes HTTP, afin que les serveurs puissent identifier le navigateur. Cette chaîne est également accessible par JavaScript avec navigator.userAgent. Elle est généralement formatée comme suit :

  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36 ;
  • Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0 ;
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15.

Bien que la rupture de certains sites Web suscite des inquiétudes, afin que la transition vers la version 100 se déroule sans heurts, un travail considérable aurait été réalisé en coulisses, à l'instar de ce qui s'est passé pour éviter les problèmes majeurs liés au bogue de l'an 2000 il y a 22 ans. Les développeurs peuvent activer un indicateur spécial dans les versions actuelles de Chrome, Edge et Firefox pour que les navigateurs signalent la version 100 et aident à tester les sites.

Des plans sont également prévus en cas de problèmes généralisés. Mozilla indique qu'elle corrigera à chaud les sites Web qui ne fonctionnent pas ou qu'elle bloquera temporairement la version principale de Firefox à 99 si les pannes sont généralisées et impossibles à gérer. Le plan de secours de Google consiste à utiliser un tag pour geler la version majeure à 99, et Microsoft n'a pas détaillé de plan de secours pour autant que nous puissions le dire.

Calendrier de la version 100

Les navigateurs de la version 100 seront d'abord publiés dans des versions expérimentales (Chrome Canary, Firefox Nightly), puis dans des versions bêta, et enfin sur le canal stable. 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. Il est possible que certaines bibliothèques d'analyse aient des hypothèses ou des bogues codés en dur qui ne prennent pas en compte les numéros de version majeurs à trois chiffres.

De nombreuses bibliothèques ont amélioré la logique d'analyse lorsque les navigateurs sont passés à des numéros de version à deux chiffres, de sorte que le passage à la version à trois chiffres devrait entraîner moins de problèmes. Mike Taylor, un ingénieur de l'équipe Chrome, a réalisé une enquête sur les bibliothèques d'analyse de l'UA les plus courantes, qui n'a révélé aucun problème. L'exécution des expériences de Chrome sur le terrain a mis en évidence certains problèmes, qui sont en cours de résolution.

Que font les navigateurs à ce sujet ?

Firefox et Chrome ont tous deux mené des expériences au cours desquelles les versions actuelles du navigateur signalent qu'elles sont à la version majeure 100 afin de détecter d'éventuelles ruptures de sites Web. Cela a donné lieu à quelques problèmes signalés, dont certains ont déjà été corrigés. Ces expériences se poursuivront jusqu'à la sortie de la version 100. Des stratégies d'atténuation sont également en place, au cas où la publication de la version 100 sur les canaux stables causerait plus de dommages aux sites Web que prévu.

Atténuation pour Firefox

Dans Firefox, la stratégie dépendra de l'importance de la rupture. Firefox dispose d'un mécanisme d'intervention sur les sites. L'équipe Mozilla webcompat 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. Si la panne est généralisée et que les interventions sur les sites individuels deviennent ingérables, Mozilla peut temporairement geler la version majeure de Firefox à 99, puis tester d'autres options.

Atténuation dans Chrome

Dans Chrome, le plan de secours consiste à utiliser un tag pour geler la version majeure à 99 et à indiquer le numéro réel de la version majeure dans la partie "version mineure" de la chaîne User-Agent. La version de Chrome telle que rapportée dans la chaîne User-Agent suit le modèle.

<major_version>.<minor_version>.<build_number>.<patch_number>.

Si le plan de sauvegarde est employé, alors la chaîne User-Agent ressemblerait à ceci :

99.101.4988.0

Chrome mène également des expériences pour s'assurer que la déclaration d'une valeur à trois chiffres dans la partie version mineure de la chaîne n'entraîne pas de rupture, puisque la version mineure dans la chaîne User-Agent de Chrome indique 0 depuis très longtemps. L'équipe Chrome décidera de l'opportunité de recourir à l'option de sauvegarde en fonction du nombre et de la gravité des problèmes signalés.

Selon Mozilla, toute stratégie qui ajoute de la complexité à la chaîne User-Agent a un fort impact sur l'écosystème. Dans Chrome et Firefox Nightly, il est possible de configurer le navigateur pour qu'il signale la version 100 actuelle et de signaler tous les problèmes rencontrés. Voici, ci-dessous, la configuration a effectué sur Firefox Nightly pour qu'il signale la version majeure comme étant 100.

  • ouvrez le menu Paramètres de Firefox Nightly ;
  • recherchez "Firefox 100", puis cochez l'option "Firefox 100 User-Agent String".

Voici, ci-dessous, la configuration a effectué sur Chrome pour qu'il signale que la version majeure est 100 :

  • allez sur chrome://flags/#force-major-version-to-100 ;
  • réglez l'option sur "Activé".

Si vous êtes un responsable de site Web, il est recommandé de tester votre site avec Chrome et Firefox 100. Vérifiez votre code d'analyse de l'User-Agent et vos bibliothèques, et assurez-vous qu'ils sont capables de gérer des numéros de version à trois chiffres.

Atténuation dans Microsoft Edge

Chez Microsoft, le plan de secours consiste à envoyer un numéro de version à trois chiffres dans l'en-tête User-Agent, par exemple "Edg/100". À partir de Microsoft Edge 97, les propriétaires de sites peuvent tester cette nouvelle chaîne d'agent en activant l'indicateur expérimental #force-major-version-to-100 dans edge://flags pour s'assurer que leur logique d'analyse de l'agent utilisateur est robuste et fonctionne comme prévu.

Source : Mozilla

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi :

Microsoft aurait bloqué toutes les solutions de contournement du navigateur par défaut dans Windows 10 et Windows 11

Windows 11 : Mozilla réussit à contourner les paramètres de navigateur par défaut à la peau dure de Microsoft, et rend plus facile de choisir Firefox

Après Chrome, Firefox va bloquer les téléchargements « non sécurisés » lancés depuis les pages en HTTPS à partir de Firefox 92, dont la sortie est prévue pour septembre 2021

Google Chrome supprime les contrôles détaillés des cookies et des données de site, une autre initiative de l'entreprise qui pourrait susciter la controverse

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kain_tn
Expert confirmé https://www.developpez.com
Le 18/02/2022 à 14:01
Citation Envoyé par Bruno Voir le message

Quel est votre avis sur le sujet ?
En gros, les navigateurs doivent trouver des solutions au fait que les gens codent comme des cochons?
10  2 
Avatar de TotoParis
Membre éprouvé https://www.developpez.com
Le 19/02/2022 à 21:08
C'est comparable au bug de l'an 2000 : on voit venir. Puis on est devant le problème.
2  0 
Avatar de Le_Duc
Nouveau membre du Club https://www.developpez.com
Le 25/02/2022 à 23:36
Bon sang, mais quand est-ce que vous allez arrêter de créer vos articles en passant le contenu des sites sources dans Google Traduction ? C'est juste n'importe quoi...

Dans Chrome, le plan de secours (...) Si le plan de sauvegarde est employé (...) décidera de l'opportunité de recourir à l'option de sauvegarde (...)
Tout ça pour faire référence à "backup plan" du site cité dans les sources : https://hacks.mozilla.org/2022/02/ve...me-and-firefox

Je ne compte plus mes messages où je me plains toujours de la même chose. À moins que developpez.net soit devenu une simple machine copier/traduction automatique/coller opérée par des robots, dans ce cas j'ai raté l'information.
0  0