Un m�canisme permettant � Chrome de tester de nouvelles fonctionnalit�s du navigateur
Vous avez peut-�tre d�j� entendu parler des variantes Chrome, des Chrome Field Trials, ou m�me du nom�de�code interne, Chrome Finch.
Tous ces noms d�signent la m�me chose: un m�canisme permettant de tester de nouvelles fonctionnalit�s ou des modifications du navigateur�Chrome, ou de ChromeOS, le syst�me d'exploitation Chrome ex�cut� sur les Chromebooks.
� quoi servent les variantes Chrome ?
Les variantes Chrome permettent � Chrome d'activer une nouvelle fonctionnalit�, de d�sactiver une fonctionnalit� ou de tester une modification pour un sous-ensemble d'utilisateurs.
Toutes les fonctionnalit�s de Chrome ne sont pas introduites � l'aide du m�canisme des variantes Chrome. Toutefois, l'�quipe Chrome peut les utiliser chaque fois qu'une modification est n�cessaire ou qu'elle risque d'affecter les performances de mani�re inattendue. Une "modification" peut signifier une am�lioration des performances du code de Chrome, une mise � jour de l'apparence ou du fonctionnement du navigateur, voire, parfois, une modification d'une API JavaScript.
Les variantes Chrome peuvent �galement servir � valider une hypoth�se sur une modification ou une mise � jour. Par exemple, pour un pourcentage d'utilisateurs d'un groupe de variantes Chrome, nous avons essay� d'ajuster les param�tres du protocole�r�seau QUIC pour rendre Chrome plus rapide dans les conditions r�elles du r�seau.
Les variantes Chrome peuvent �galement s'afficher dans les phases d'�valuation de Chrome. Par d�faut, une fonctionnalit� d'�valuation est activ�e sur toutes les pages qui fournissent un jeton d'essai valide, mais dans certains cas, les variantes Chrome sont utilis�es pour contr�ler l'activation d'une fonctionnalit�. Cela signifie qu'une fonctionnalit� d'essai�Origin�Trial peut ne pas �tre disponible pour certains utilisateurs, m�me lorsqu'ils consultent une page qui fournit un jeton d'essai valide. Des informations sur la proportion d'utilisateurs pouvant b�n�ficier d'une phase d'�valuation sont fournies avec la documentation et les mises � jour de chaque phase d'�valuation.
Comment fonctionnent les variantes Chrome ?
Toutes les 30 minutes sur ordinateur ou sur 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� graine des variantes. En d'autres termes, il existe un serveur d�di� pour fournir les sources des variantes Chrome. Chrome envoie une requ�te HTTPS au serveur, qui r�pond par une graine delta-compressed.
Lorsque Chrome sur votre appareil contacte le backend des variantes Chrome pour obtenir le fichier source, celui-ci fournit �galement des informations sur la version de Chrome et le syst�me d'exploitation sur lequel il est ex�cut�. 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 d'une fonctionnalit�.
Chrome utilise les donn�es du fichier source et une graine de randomisation stock�e localement pour attribuer le navigateur de mani�re al�atoire � un groupe de variantes. En d'autres termes, la graine de randomisation, combin�e au fichier source du backend des variantes Chrome, peut �tre utilis�e pour activer ou d�sactiver des fonctionnalit�s dans le navigateur pour un sous-ensemble d'utilisateurs. Le navigateur install� sur votre appareil garde une trace du groupe de variantes auquel il appartient.
D�ploiement des fonctionnalit�s et versions de Chrome
L'une des utilisations les plus importantes des variantes Chrome consiste � apporter progressivement des modifications ou de nouvelles fonctionnalit�s � un certain pourcentage de clients Chrome. C'est essentiel pour une application complexe telle que Chrome qui compte des milliards d'utilisateurs, avec des milliers d'appareils sur plusieurs plates-formes et qui utilisent des dizaines de langues diff�rentes pour des millions d'applications et de sites Web.
Chrome re�oit de pr�cieux commentaires de son utilisation et de ses tests dans Chrome�Canary, en d�veloppement et en version�b�ta. Nous pouvons utiliser les variantes Chrome pour activer ou d�sactiver des fonctionnalit�s dans n'importe laquelle de ces versions disponibles. Cependant, ces canaux sont principalement utilis�s par les d�veloppeurs et d'autres sp�cialistes. Les utilisateurs de la version�stable de Chrome interagissent diff�remment avec Chrome, et sont beaucoup plus nombreux. Nous devons donc toujours valider la version�stable. Cela nous permet de r�soudre les probl�mes rencontr�s lors d'une utilisation normale du navigateur. Les ing�nieurs Chrome ne sont pas toujours en mesure de pr�dire � grande �chelle la r�action des utilisateurs r�els aux changements et aux nouvelles fonctionnalit�s.
Les variantes Chrome sont un m�canisme essentiel pour vous aider. Elles permettent de v�rifier l'utilisation et les m�triques de la version�stable de Chrome avec une fonctionnalit� activ�e ou d�sactiv�e. 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 meilleur navigateur, 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 en cas de risque plus risqu� ou d'affecter les performances.
Les variantes Chrome nous permettent de proposer une nouvelle fonctionnalit� � un sous-ensemble d'utilisateurs. Les ing�nieurs Chrome peuvent ensuite rechercher les diff�rences de performances ou examiner d'autres types de commentaires du groupe de variantes.
D�sactiver une fonctionnalit�
Les variantes Chrome peuvent servir de m�canisme de s�curit� pour d�sactiver une fonctionnalit�, bien que cela se produise rarement.
Par exemple, une nouvelle fonctionnalit� de mise en r�seau peut �tre sujette � une attaque�par�d�ni�de�service. Les variantes Chrome permettent de d�sactiver rapidement une fonctionnalit� de ce type, car la configuration des variantes Chrome est t�l�charg�e toutes les 30 minutes et les param�tres sont activ�s � chaque red�marrage de Chrome. En revanche, mettre � jour Chrome et attendre que la nouvelle version soit propag�e � des milliards d'utilisateurs serait beaucoup plus lente.
Essayer de modifier un �l�ment�g�ographique
Enfin, les variantes Chrome peuvent �tre utilis�es pour valider les modifications et les mises � jour. Par exemple, nous pourrions ajuster la difficult� du jeu Chrome�Dino hors connexion pour rendre l'interaction plus amusante.
Les variantes Chrome permettent �galement d'�tudier les effets � long terme de nouvelles fonctionnalit�s. Pour ce faire, le m�canisme des variantes Chrome limite les fonctionnalit�s � une petite proportion d'utilisateurs (1% ou moins). Un groupe�de�contr�le peut �tre utile pour v�rifier les modifications et les effets secondaires qui ne deviennent visibles qu'au fil du temps.
Un groupe non expos� � l'annonce peut �tre particuli�rement important pour les modifications de l'interface�utilisateur, car 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 cette fonctionnalit� a �t� temporairement mise � l'�cart d'un petit pourcentage d'utilisateurs afin de comparer les r�sultats. Nous avons lanc� le nouveau s�lecteur�de�photos Android aupr�s d'une grande partie de nos utilisateurs. Au d�but, nous avons constat� une augmentation significative du nombre d'images partag�es par le groupe sur le Web. Toutefois, au cours des six mois o� nous avons observ� la variation de type "holdback", nous avons constat� une baisse significative de l'augmentation de l'utilisation. En effet, la disponibilit� du nouveau s�lecteur�de�photos encourag� les sites � ajouter l'attribut d'acceptation 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 visant � am�liorer les fonctionnalit�s et les performances de Chrome est activ� (chrome://settings/syncSetup?search=improve
), Chrome peut surveiller et envoyer automatiquement des m�triques au backend Chrome, � l'aide d'un m�canisme appel� analyse des m�triques utilisateur (UMA, User Metrics Analysis). Vous trouverez des exemples de statistiques d'utilisation anonymes de Chrome sur chromestatus.com/metrics, comme 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, et Chrome peut comparer les m�triques de 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 pour lesquels une fonctionnalit� est activ�e, ceux pour lesquels la fonctionnalit� est d�sactiv�e ou ceux ayant des variantes de fonctionnalit�s diff�rentes.
Essais sur le terrain des variantes Chrome
Chaque ensemble de variantes d'une caract�ristique est appel� "�tude" ou test en conditions r�elles, et chacun d'eux a une dur�e fixe. Lorsqu'une �tude est termin�e pour une fonctionnalit�, tous les utilisateurs inclus dans un groupe de comportements autre que celui par d�faut re�oivent le param�tre Chrome par d�faut de la fonctionnalit�: activ� ou d�sactiv�.
La plupart des fonctionnalit�s pouvant �tre contr�l�es par les variantes Chrome correspondent � un indicateur pouvant �tre d�fini � partir de la page chrome://flags
. Si vous ex�cutez Chrome � partir de la ligne�de�commande, vous pouvez �galement 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 passer � diff�rents groupes de variantes Chrome.
Variantes Chrome pour les entreprises
Pour les entreprises, Chrome propose �galement la r�gle ChromeVariations pour g�rer les variantes Chrome. Bien entendu, nous vous recommandons de laisser les variantes Chrome activ�es, afin que Chrome puisse rapidement fournir les correctifs de s�curit� essentiels.