Vous avez peut-être entendu parler des variantes Chrome, parfois appelées "tests sur le terrain Chrome" ou même "Chrome Finch", le nom de code interne.
Il s'agit de différents noms pour désigner la même chose : un mécanisme permettant de tester de nouvelles fonctionnalités ou des modifications apportées au navigateur Chrome ou à ChromeOS, le système d'exploitation Chrome qui s'exécute sur les Chromebooks.
Que sont les variantes Chrome ?
Les variantes Chrome permettent à Chrome d'activer ou de désactiver une fonctionnalité, ou de tester une modification de fonctionnalité pour un sous-ensemble d'utilisateurs.
Toutes les fonctionnalités de Chrome ne sont pas introduites à l'aide des variantes Chrome. Toutefois, l'équipe Chrome peut utiliser les variantes Chrome chaque fois que nécessaire. Les variantes Chrome peuvent être utilisées pour :
- Autoriser les ingénieurs Chrome à faire particulièrement attention à une modification spécifique. Ils peuvent constater un risque pour les performances du navigateur ou avoir d'autres préoccupations.
- Valider une hypothèse concernant une modification ou une mise à jour. Par exemple, pour un pourcentage d'utilisateurs d'un groupe de variantes Chrome, nous avons modifié les paramètres du protocole réseau QUIC afin de rendre Chrome plus rapide en fonction des conditions réseau réelles des utilisateurs.
- Contrôlez l'activation d'une fonctionnalité d'évaluation de l'origine. Par défaut, les versions d'essai des origines sont activées sur toutes les pages qui fournissent un jeton d'essai valide. Toutefois, il peut arriver qu'une fonctionnalité ne soit pas disponible pour certains utilisateurs, même s'ils accèdent à une page qui fournit un jeton d'essai valide.
Comment fonctionnent les variantes Chrome ?
Toutes les 30 minutes sur ordinateur ou mobile, ou chaque fois que vous démarrez Chrome, le navigateur envoie une requête au backend Chrome pour obtenir le fichier de configuration des variantes Chrome, appelé seed des variantes. Un serveur dédié fournit les seeds des variantes Chrome. Chrome envoie une requête HTTPS au serveur, qui répond avec une seed delta-compressée.
Lorsque Chrome sur votre appareil demande le fichier seed, il fournit le numéro de version et le système d'exploitation sur lequel il s'exécute. Le fichier renvoyé par le backend des variantes Chrome permet d'activer ou de désactiver des fonctionnalités, ou de spécifier des variantes dans une fonctionnalité.
Chrome utilise les données du fichier de seed et un seed de randomisation stocké localement pour attribuer aléatoirement le navigateur à un groupe de variantes. Votre navigateur, sur votre appareil, garde une trace du groupe de variantes auquel il appartient.
Déploiement des fonctionnalités et canaux Chrome
L'une des utilisations les plus importantes des variantes Chrome consiste à déployer progressivement des modifications ou de nouvelles fonctionnalités sur un pourcentage de clients Chrome. C'est essentiel pour une application complexe comme Chrome, qui compte des milliards d'utilisateurs, avec des milliers de types d'appareils sur plusieurs plates-formes, utilisant des dizaines de langues différentes pour des millions d'applications et de sites Web différents.
Chrome reçoit de précieux commentaires sur l'utilisation et les tests dans Chrome Canary, Dev et bêta. Nous pouvons utiliser les variantes Chrome pour activer ou désactiver des fonctionnalités dans l'un de ces canaux de publication. Toutefois, ces canaux sont principalement utilisés par les développeurs et d'autres spécialistes.
Les utilisateurs de la version stable de Chrome interagissent avec Chrome différemment et en beaucoup plus grand nombre. Nous devons donc toujours effectuer des tests sur la version stable. Cela nous permet de résoudre les problèmes rencontrés lors de l'utilisation normale du navigateur. Les ingénieurs Chrome ne peuvent pas toujours prédire à grande échelle comment les utilisateurs réels réagiront aux modifications et aux nouvelles fonctionnalités.
Les variantes Chrome permettent de vérifier l'utilisation et les métriques de Chrome Stable. En mesurant l'impact des modifications apportées à la version stable de Chrome, nous pouvons proposer les meilleures fonctionnalités possibles et créer un navigateur de meilleure qualité, même lorsque les compromis sont complexes.
Quand les ingénieurs Chrome utilisent-ils les variantes Chrome ?
Chrome a besoin des variantes Chrome pour trois raisons principales.
Activer une nouvelle fonctionnalité
L'utilisation des variantes Chrome pour contrôler l'activation d'une nouvelle fonctionnalité est particulièrement utile pour tout ce qui peut être plus risqué d'une manière ou d'une autre, ou qui peut affecter les performances.
Les variantes Chrome nous permettent de proposer une nouvelle fonctionnalité à un sous-ensemble d'utilisateurs. Les ingénieurs Chrome peuvent ensuite vérifier les différences de performances ou examiner d'autres types de commentaires du groupe de variantes.
Désactiver une fonctionnalité
Les variantes Chrome peuvent être utilisées comme mécanisme de sécurité pour désactiver une fonctionnalité, mais cela arrive rarement.
Par exemple, une nouvelle fonctionnalité réseau peut être la cible d'une attaque par déni de service. Les variantes Chrome peuvent être utilisées pour désactiver rapidement cette fonctionnalité, car la configuration des variantes Chrome est téléchargée toutes les 30 minutes et les paramètres sont activés chaque fois que vous redémarrez Chrome.
En revanche, la mise à jour de Chrome et l'attente de la propagation de la nouvelle version à des milliards d'utilisateurs seraient beaucoup plus lentes.
Essayer les modifications apportées à une fonctionnalité
Les variantes Chrome peuvent être utilisées pour valider les modifications et les mises à jour. Par exemple, nous pourrions affiner la difficulté du jeu Chrome Dino hors connexion pour rendre l'interaction plus amusante.
Les variantes Chrome peuvent également être utilisées pour étudier les effets à long terme des nouvelles fonctionnalités. Pour ce faire, nous utilisons le mécanisme de variantes Chrome pour retenir les fonctionnalités pour une petite proportion d'utilisateurs, peut-être 1 % ou moins. Un groupe de validation peut être utile pour vérifier les changements et les effets secondaires qui ne deviennent visibles qu'au fil du temps.
Un groupe de validation peut être particulièrement important pour les modifications de l'interface utilisateur, où les utilisateurs sont susceptibles d'interagir avec une fonctionnalité lorsqu'elle est nouvelle, mais peuvent se comporter différemment à long terme.
Par exemple, nous avons lancé un sélecteur de photos dans Chrome, mais la fonctionnalité a été temporairement désactivée pour un petit pourcentage d'utilisateurs afin de comparer les résultats. Nous avons déployé le nouveau sélecteur de photos Android auprès d'une grande partie de nos utilisateurs et avons initialement constaté une augmentation significative du nombre d'images que ce groupe partageait sur le Web. Toutefois, au cours des six mois où nous avons utilisé la variante de retenue, nous avons constaté une diminution significative de l'augmentation de l'utilisation. En effet, la disponibilité du nouveau sélecteur de photos a encouragé les sites à ajouter l'attribut "accept" aux éléments d'entrée de fichier, ce qui a amélioré l'expérience de tous les utilisateurs.
Comment les variantes Chrome sont-elles utilisées pour la validation ?
Si le paramètre permettant de contribuer à l'amélioration des fonctionnalités et des performances de Chrome est activé (chrome://settings/syncSetup?search=improve
), Chrome peut surveiller et envoyer automatiquement des métriques au backend Chrome avec User Metrics Analysis (UMA).
Vous trouverez des exemples de statistiques d'utilisation anonymes de Chrome sur chromestatus.com/metrics. Par exemple, vous y verrez le pourcentage de chargements de pages qui utilisent une propriété CSS ou une fonctionnalité HTML ou JavaScript.
Les variantes Chrome sont particulièrement utiles pour comparer les statistiques d'un groupe d'utilisateurs à celles d'un autre. Par exemple, une fonctionnalité peut être activée pour certains utilisateurs et pas pour d'autres, puis Chrome peut comparer les métriques pour chaque groupe. Ces métriques peuvent inclure l'utilisation de la mémoire, les temps de chargement des pages ou l'utilisation d'une fonctionnalité du navigateur. Cela permet aux ingénieurs Chrome de comparer les performances ou d'autres métriques entre les utilisateurs qui ont activé une fonctionnalité, ceux qui l'ont désactivée ou ceux qui utilisent différentes variantes de la fonctionnalité.
Essais sur le terrain
Chaque ensemble de variantes pour une fonctionnalité est appelé étude ou test sur le terrain, et chacun a une durée fixe. Une fois l'étude terminée, les utilisateurs inclus dans un groupe de comportement non défini par défaut retrouvent le paramètre Chrome par défaut pour la fonctionnalité (activé ou désactivé).
La plupart des fonctionnalités qui peuvent être contrôlées par les variantes Chrome correspondent à un indicateur qui peut être défini sur la page chrome://flags
. Vous pouvez également exécuter Chrome à partir de la ligne de commande et utiliser les indicateurs --enable-features
et --disable-features
pour configurer les variantes Chrome.
L'indicateur --reset-variation-state
force la réinitialisation de l'état des variantes Chrome pour le client actuel. Cela signifie que le client peut être déplacé vers différents groupes de variantes Chrome.
Variantes Chrome pour les entreprises
Pour les clients Enterprise, Chrome fournit également la règle "Variantes Chrome" pour gérer les variantes Chrome. Nous vous recommandons de laisser les variantes Chrome activées afin que Chrome puisse fournir rapidement des correctifs de sécurité essentiels.