Résoudre les problèmes liés aux phases d'évaluation de Chrome

Résolvez les problèmes courants liés aux jetons d'essai dans les balises Meta, les en-têtes et les scripts.

Checklist

Pour résoudre un problème lié à une phase d'évaluation, résolvez chacun des problèmes ci-dessous à l'aide des liens fournis.

{4t exécutant le jeton d'accès de Chrome, n'est compatible qu'à partir de la version d'essai/de jeton d'origine {8-8 de Chrome est le jeton d'origine est utilisé
/d'{3{8-8 du jeton d'origine est le jeton d'origine

















Essayez !

Les démonstrations ci-dessous présentent chacune des façons de fournir un jeton pour la phase d'évaluation et d'accéder à une fonctionnalité d'essai:

Vérifier les jetons à l'aide des outils pour les développeurs Chrome

Dans les outils pour les développeurs Chrome 93, les informations sur la phase d'évaluation s'affichent dans le panneau "Application" pour le frame sélectionné.

Informations sur les phases d'évaluation des outils pour les développeurs Chrome dans le panneau "Application".

Développez le frame supérieur pour inspecter les jetons d'évaluation disponibles pour un sous-frame. Par exemple, pour la page de démonstration accessible à l'adresse ot-iframe.glitch.me, vous pouvez voir que la page de l'iFrame fournit un jeton.


  Panneau "Application" des outils pour les développeurs Chrome, affichant les jetons d'évaluation pour la page d'un iFrame.

  • État du jeton: indique si la page comporte un jeton valide. Notez que, pour certaines phases d'évaluation, il est possible que d'autres facteurs, tels que des restrictions géographiques, ne soient pas disponibles, malgré la présence d'un jeton valide. Les codes d'état des outils pour les développeurs Chrome expliquent la signification de chacun des codes pour les phases d'évaluation.
  • Origine: origine Web enregistrée pour le jeton.
  • Expiry Time (Heure d'expiration) : date/heure d'expiration maximale (la plus récente) possible du jeton, qui correspond normalement à la fin de l'essai. Il ne s'agit pas de la date limite de validité du jeton affichée dans Mes enregistrements, qui indique la durée de validité actuelle du jeton et peut être étendue.
  • Restriction d'utilisation: limites d'utilisation qui peuvent être définies pour certains essais.
  • Tiers: indique si la correspondance tierce est activée pour le jeton. Cette option est disponible pour certaines phases d'évaluation pour lesquelles une fonctionnalité d'essai doit être accessible sur plusieurs sites à partir de scripts tiers.
  • Match Sub-Domains (Correspondance avec les sous-domaines) : indique si la correspondance des sous-domaines est activée pour le jeton. Cela permet de tester une fonctionnalité d'évaluation sur plusieurs sous-domaines d'une origine, sans avoir besoin d'un jeton différent pour chaque sous-domaine.

Les outils pour les développeurs Chrome affichent un avertissement à côté du nom de l'essai si celui-ci n'est pas disponible pour l'utilisateur actuel, si le jeton a expiré ou s'il existe d'autres restrictions.

Informations sur les phases d'évaluation des outils pour les développeurs Chrome dans le panneau "Application" affichant le jeton arrivé à expiration

Codes d'état des outils pour les développeurs Chrome

  • Expiré: la date d'expiration du jeton est dépassée. Vous devez renouveler le jeton pour en générer un nouveau avec une nouvelle date d'expiration.
    Code source

  • FeatureDisabled: l'essai est actuellement désactivé.
    Code source

  • FeatureDisabledForUser: ce jeton a été désigné comme désactivé pour l'utilisateur actuel via une autre restriction d'utilisation. Consultez la section "Exclusions de sous-ensembles d'utilisateurs" du document de conception.
    Code source 1
    Code source 2

  • Non sécurisée: l'origine de la requête n'est pas sécurisée, et l'essai n'est pas activé pour les origines non sécurisées. Comme expliqué dans le code de l'outil de validation des jetons d'évaluation d'origine : "Pour les jetons tiers, l'origine actuelle et l'origine du script doivent être sécurisées. En raison de la correspondance de sous-domaines, l'origine du jeton peut ne pas être une correspondance exacte pour l'une des origines de script fournies. Le résultat n'indique donc pas quelle origine spécifique a été mise en correspondance. Il ne s'agit donc pas d'une recherche directe pour trouver l'origine de script appropriée. Pour éviter de répéter toutes les comparaisons d'origines, il existe des raccourcis qui dépendent du nombre d'origines de script fournies. Il doit y en avoir au moins un, sans quoi le jeton tiers ne sera pas validé."
    Code source

  • InvalidSignature: la signature du jeton n'est pas valide ou son format est incorrect.
    Code source

  • Format incorrect: le format du jeton est incorrect et il n'a pas pu être analysé.
    Code source

  • NotSupported : la phase d'évaluation définie par le jeton n'est pas prise en charge dans l'intégrateur Chromium, c'est-à-dire un navigateur tel que Chrome ou Edge, une WebView ou un autre user-agent.
    Code source

  • Opération effectuée: le jeton est correctement formaté, n'a pas expiré, correspond à une fonctionnalité en phase d'évaluation et a été demandé depuis une origine prévue.
    Code source

  • TokenDisabled: le jeton a été marqué comme désactivé et ne peut pas être utilisé.
    Code source

  • TrialNotAllowed: la phase d'évaluation n'est pas disponible pour l'utilisateur actuel.
    Code source

  • UnknownTrial: le jeton spécifie un nom de fonctionnalité qui ne correspond à aucun essai connu.
    Code source

  • WrongOrigin: l'origine de la requête ne correspond pas à l'origine spécifiée dans le jeton. Il peut s'agir du schéma, du nom d'hôte ou du port. Cet état s'affiche également si un jeton tiers est fourni dans un en-tête HTTP, une balise Meta ou un script intégré, plutôt que dans un fichier JavaScript externe.
    Code source

  • WrongVersion: version du jeton incorrecte: seules les versions 2 et 3 des jetons sont actuellement compatibles.
    Code source


Ça ne fonctionne pas. 🤔

Si votre phase d'évaluation ne fonctionne pas comme prévu, assurez-vous de remplir les conditions suivantes.

Vous effectuez le test dans Chrome, et non dans Chromium ou dans un autre navigateur

Les phases d'évaluation de Chrome sont conçues pour les utilisateurs de Chrome. N'utilisez pas les jetons d'évaluation de Chrome pour activer les fonctionnalités d'essai dans d'autres navigateurs, y compris Chromium et d'autres navigateurs basés sur Chromium. En effet, les phases d'évaluation de Chrome sont spécifiques aux fonctionnalités mises à disposition dans Chrome pour les tests.

Les phases d'évaluation sont également disponibles pour Firefox et Microsoft Edge. Une inscription à la phase d'évaluation de Firefox ou d'Edge n'entraîne pas l'activation d'une fonctionnalité dans Chrome.

La phase d'évaluation est activée pour les versions de Chrome qui accèdent à votre site.

L'accès aux essais est limité à certaines versions de Chrome. Dans certains cas, cela peut signifier qu'une fonctionnalité d'essai n'est disponible que pour les versions préstables de Chrome: Canary, en développement et bêta.

Vous pouvez vérifier la disponibilité des versions sur la page d'inscription à l'essai:

Page sur les phases d'évaluation de Chrome pour les ensembles internes et SameParty, avec la disponibilité de Chrome mise en évidence

Pour connaître la version de Chrome que vous utilisez, accédez à chrome://version.

La phase d'évaluation n'est pas désactivée par les paramètres Chrome.

Si un utilisateur signale qu'une fonctionnalité ne fonctionne pas pour lui, vérifiez qu'elle n'est pas désactivée dans ses paramètres Chrome. Par exemple, les fonctionnalités de la Privacy Sandbox peuvent être désactivées à partir de la page chrome://settings/privacySandbox.

Les mots clés et la syntaxe sont corrects

Veillez à utiliser des mots clés et une syntaxe appropriés pour les jetons d'évaluation.

Pour une utilisation propriétaire, un jeton peut être fourni dans une balise Meta origin-trial:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Un jeton peut également être fourni dans un en-tête de réponse Origin-Trial. Voici un exemple utilisant Express dans Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Vous pouvez également fournir les jetons à l'aide de JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

L'origine du jeton propriétaire correspond à celle de la page

Assurez-vous que la valeur Web Origin (Origine Web) sélectionnée lors de votre inscription à un essai correspond à l'origine de la page contenant la balise Meta ou l'en-tête fournissant le jeton.

Par exemple, si vous avez sélectionné https://example.com comme origine Web:

Page des phases d&#39;évaluation de Chrome affichant https://example.com comme origine Web

La valeur du jeton peut se présenter comme suit:

Page des phases d&#39;évaluation de Chrome affichant la valeur du jeton

Vérifiez que cette valeur correspond au jeton utilisé sur la page que vous essayez de résoudre.

Pour un jeton fourni dans une balise Meta, consultez le code HTML:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

S'il s'agit d'un jeton fourni dans un en-tête, vous pouvez vérifier sa valeur dans le panneau Chrome DevTools Network sous Response Headers:

Outils pour les développeurs Chrome 
Panneau &quot;Réseau&quot; affichant l&#39;en-tête de réponse concernant la phase d&#39;évaluation

Le jeton propriétaire est diffusé à partir de l'origine qui l'utilise.

Pour permettre l'accès à une fonctionnalité d'évaluation pour le code inclus dans une page diffusée à partir de votre origine, fournissez un jeton d'essai dans une balise Meta, un en-tête ou via JavaScript de la même origine.

L'origine enregistrée pour un jeton doit correspondre à celle qui le dessert.

L'origine du jeton tiers correspond à l'origine du script

Vous pouvez vous inscrire pour participer à une phase d'évaluation pour des scripts injectés sur d'autres origines.

Par exemple, si vous souhaitez que les scripts diffusés à partir de javascript-library.example participent à une phase d'évaluation, vous devez enregistrer un jeton avec une correspondance tierce pour javascript-library.example.

Page d&#39;inscription aux phases d&#39;évaluation de Chrome affichant une correspondance tierce sélectionnée.

La valeur d'origine d'un jeton tiers doit correspondre à l'origine du script qui l'injecte.

Le script tiers utilise un jeton tiers

Vous ne pouvez pas autoriser un script tiers à participer à une phase d'évaluation sur votre site simplement en enregistrant un jeton pour votre origine, et non pour le script.

Les scripts tiers doivent utiliser des jetons pour lesquels la correspondance tierce est activée et injectés via le script lui-même (non inclus dans une balise Meta ni dans un en-tête de votre site) avec un code semblable à celui-ci:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Le jeton tiers est fourni via un script externe, et non une balise Meta, un en-tête HTTP ou un script intégré.

Les jetons tiers sont validés par rapport à l'origine du script qui les a injectés, mais les scripts intégrés et les balises <meta> dans le balisage statique n'ont pas d'origine (c'est-à-dire une URL source).

Cela signifie qu'un jeton tiers doit être fourni via un script externe, et non dans une balise <meta> ou un script intégré. Peu importe si le script externe qui injecte le jeton provient de la même origine que la page parent ou d'une origine différente, à condition que l'origine du script corresponde à une origine enregistrée pour l'essai.

Une démonstration de ce format est disponible sur ot-iframe-3p.glitch.me.

L'accès aux fonctionnalités de la phase d'évaluation est compatible avec la méthode utilisée pour fournir un jeton d'essai

Pour certains types d'accès aux fonctionnalités de la phase d'évaluation, vous devez fournir un jeton d'essai d'une manière spécifique. Par exemple, le seul moyen d'activer l'accès en phase d'évaluation pour les service workers et les workers partagés est de fournir un jeton dans un en-tête Origin-Trial.

La correspondance de sous-domaines est activée pour un jeton utilisé sur un sous-domaine

Si une fonctionnalité de la phase d'évaluation ne semble pas fonctionner pour certaines pages de votre site, vérifiez que les jetons sont correctement configurés pour les sous-domaines qui les diffusent.

Lorsque vous vous inscrivez à une phase d'évaluation, vous pouvez éventuellement choisir de faire correspondre tous les sous-domaines de l'origine:

Page d&#39;inscription aux phases d&#39;évaluation de Chrome
avec la correspondance de sous-domaine sélectionnée

Vous pouvez également établir une correspondance entre des sous-domaines et des jetons tiers:

Page d&#39;inscription aux phases d&#39;évaluation de Chrome
avec les options de mise en correspondance tierce et de sous-domaine sélectionnées

Les jetons de sous-domaines ne seront pas émis pour les origines figurant dans la liste des suffixes publics. Par exemple, vous ne pouvez pas enregistrer une origine telle que https://appspot.com ou https://github.io, mais vous pouvez enregistrer des domaines au sein de cette origine, tels que https://example.appspot.com ou https://example.github.io.

Le jeton est toujours valide

Les jetons sont valides pendant six semaines après leur création. Vous devez nous envoyer vos commentaires pour prolonger la date limite de validité. Le guide des phases d'évaluation pour les développeurs Web explique comment s'assurer que votre jeton est valide pendant toute la durée de la phase d'évaluation.

Vous pouvez vérifier si des jetons sont actifs sur la page Mes inscriptions de vos phases d'évaluation de Chrome:

Phases d&#39;évaluation de Chrome 
Page &quot;Mes inscriptions&quot; affichant &quot;Valable jusqu&#39;au&quot;

Les outils pour les développeurs Chrome affichent l'état Success si le jeton est toujours valide:

Informations sur les phases d&#39;évaluation des outils pour les développeurs Chrome dans le panneau &quot;Application&quot;, avec &quot;État: Opération réussie&quot;.

Si votre jeton a expiré, les outils de développement affichent l'état Expired, et votre page Mes enregistrements affiche une section Jetons expirés.

Phases d&#39;évaluation de Chrome 
Page &quot;Mes inscriptions&quot; affichant les jetons arrivés à expiration

La phase d'évaluation n'est pas terminée

Vous pouvez vérifier la date de fin d'une phase d'évaluation sur la page d'inscription:

Page sur les phases d&#39;évaluation de Chrome pour les ensembles propriétaires et SameParty, avec les détails &quot;Essai disponible&quot; encadrés

Pour les essais qui sont terminés, les outils de développement afficheront un résultat semblable à celui-ci:

Informations sur les phases d&#39;évaluation des outils pour les développeurs Chrome dans le panneau &quot;Application&quot;, avec les informations &quot;ValidTokenNotProvided&quot; et &quot;État expiré&quot;

Vous recevrez des e-mails automatiques lorsque des commentaires sont requis ou qu'un jeton est sur le point d'expirer, mais pas à la fin de l'essai.

La phase d'évaluation est disponible pour l'utilisateur actuel

Certaines phases d'évaluation ne sont pas disponibles pour certains utilisateurs, même si un jeton valide est fourni.

Si aucun essai n'est disponible pour l'utilisateur actuel, les outils pour les développeurs Chrome afficheront l'avertissement TrialNotAllowed:

Informations sur les phases d&#39;évaluation des outils pour les développeurs Chrome dans le panneau &quot;Application&quot; affichant l&#39;avertissement &quot;TrialNotAllowed&quot;.

Les informations sur les restrictions d'utilisation et la disponibilité seront fournies pour chaque phase d'évaluation.

Comme pour toute fonctionnalité de la plate-forme Web, vous devez utiliser la détection de fonctionnalités pour vérifier qu'une fonctionnalité en phase d'évaluation est compatible avant de l'utiliser.

Les restrictions d'utilisation de la phase d'évaluation n'ont pas été dépassées

Par défaut, une phase d'évaluation est activée sur toutes les pages disposant d'un jeton valide pour cette période d'essai.

Toutefois, sauf dans de rares cas, l'utilisation de la phase d'évaluation est limitée à 0,5% au maximum de tous les chargements de pages Chrome. La phase d'évaluation sera désactivée si l'utilisation totale par tous les utilisateurs de Chrome dépasse cette limite. Dans les outils de développement, l'état du jeton est désactivé.

Il n'y a pas de limite d'utilisation pour les essais d'abandon, car ils n'introduisent pas de nouvelles fonctionnalités et ne présentent donc pas de risque de faire dépendre une part significative du Web d'une fonctionnalité d'essai.

Certains essais offrent également une option pour limiter l'utilisation, ce qui signifie que les fonctionnalités de la phase d'évaluation seront désactivées pour certains utilisateurs. Cette option est disponible sur la page d'inscription à une phase d'évaluation qui la propose:

Page d&#39;inscription aux phases d&#39;évaluation de Chrome
avec les restrictions d&#39;utilisation

Si vous remarquez que l'accès de vos utilisateurs à une phase d'évaluation est plus faible que prévu, assurez-vous que l'option "Limite standard" est sélectionnée.

Les iFrames fournissent leurs propres jetons

Pour autoriser l'accès à une fonctionnalité d'évaluation, un iFrame doit fournir un jeton dans une balise Meta, un en-tête HTTP ou de façon programmatique. Les iFrames n'héritent pas de l'accès aux fonctionnalités activées pour les pages qui les contiennent.

ot-iframe.glitch.me illustre l'accès à une fonctionnalité d'évaluation à partir d'un iFrame. ot-iframe-3p.glitch.me fournit plusieurs exemples d'iFrame d'origines différentes.

Les règles d'autorisation sont correctement configurées

Certaines fonctionnalités de la phase d'évaluation peuvent être affectées par un en-tête Permissions-Policy (anciennement Feature-Policy). Vous pouvez vérifier cela dans l'Intent à tester pour la fonctionnalité d'essai, ou dans la documentation pour les développeurs concernant la fonctionnalité sur web.dev ou developer.chrome.com/blog.

Assurez-vous que la fonctionnalité à laquelle vous tentez d'accéder n'est pas bloquée par une directive Permissions-Policy. Vous pouvez vérifier les en-têtes de réponse dans le panneau Chrome DevTools Network et afficher la liste complète des fonctionnalités autorisées dans le panneau "Application".

Panneau &quot;Application&quot; des outils pour les développeurs Chrome affichant la fonctionnalité autorisée par la règle d&#39;autorisation.

Et les travailleurs ?

Les fonctionnalités des phases d'évaluation peuvent être mises à la disposition des service workers, des workers partagés et des nœuds de calcul dédiés. Toutefois, le seul moyen d'autoriser l'accès pour les service workers et les workers partagés est de fournir un jeton dans un en-tête Origin-Trial.

Les nœuds de calcul dédiés héritent de l'accès aux fonctionnalités activées par leur document parent.

Le jeton est fourni avant l'accès à la fonctionnalité

Assurez-vous qu'un jeton d'évaluation est fourni avant d'accéder à la fonctionnalité d'essai. Par exemple, si une page fournit un jeton via JavaScript, assurez-vous que le code permettant de fournir le jeton est exécuté avant le code qui tente d'accéder à la fonctionnalité d'essai.

Démonstrations des phases d'évaluation

En savoir plus