Retour au Blog
Plateforme

Origin Trials et fonctions expérimentales du Web

Évaluez les Origin Trials avec inscription, détection, repli et rollback explicites.

BotBrowser Team

Documentation

Vous voulez la documentation structurée pour Plateforme ?

Cet article fait partie de la bibliothèque éditoriale. Pour les étapes de configuration, la référence et les mises à jour continues, passez directement à la section docs.

Une inscription d’origine mène à la détection et à un repli

Un Origin Trial est une inscription limitée, pas une prise en charge universelle. Notez origine, token, canal, expiration, tâche, repli et rollback. Une API expérimentale ne révèle ni identité ni appareil.

Portée de l’inscription

Consultez le guide Chrome et MDN. Un token d’une origine ne prouve pas un sous-domaine, une iframe ou une autre famille de navigateur; une page https://app.example n’inscrit pas automatiquement un autre embed.

Détection à l’exécution

Vérifiez la méthode avant l’appel. Séparez token absent, permission refusée, politique bloquée, rejet et confirmation visible. Gardez un repli accessible et ne parsez pas le user-agent.

Tableau de décision

ObservationDécisionRésultat
Token et méthode validesessayer une foisannoncer le progrès
Token absent ou expirérepligarder la tâche
Permission refuséeexpliquer et repliergarder le contrôle
Appel rejetéclasser et arrêtermontrer la récupération
Promesse résoluevérifier l’applicationconfirmer visuellement

Fixture d’échec

async function fixture() {
  const host = document.createElement('div');
  host.innerHTML = '<p id="status"></p><button id="fallback" hidden>Utiliser le repli</button>';
  document.body.append(host);
  try {
    const ok = typeof navigator.share === 'function';
    const state = ok
      ? await navigator
          .share({ title: 'Essai synthétique', url: '/fixture' })
          .then(() => 'completed')
          .catch(() => 'failed')
      : 'missing';
    host.querySelector('#status').textContent = state === 'completed' ? 'Terminé' : 'Utiliser le repli';
    host.querySelector('#fallback').hidden = state === 'completed';
    return state;
  } finally {
    host.remove();
  }
}

États de l’inscription Conservez les états « non inscrit », « disponible », « refusé », « échoué » et « terminé ». Un token absent ou expiré doit choisir la voie stable sans nouvelle tentative cachée.

Contexte et geste utilisateur Si la fonction exige un geste, incluez ce geste dans le fixture. Pour une iframe, consignez l’origine parente, la liste autorisée et la politique de permissions.

Déploiement et maintenance

Comparez le parcours stable et expérimental avec la même tâche synthétique. Revoyez expiration, permissions, iframe, accessibilité, focus et texte de repli. Retirez le token à la fin et gardez un reçu bref.

BotBrowser

BotBrowser peut fournir des contextes contrôlés pour des parcours autorisés et des vérifications répétables du repli. Il n’émet pas de tokens, n’accorde pas de permissions, ne certifie pas l’expérience et ne prouve pas l’achèvement du service. Voir sa documentation d’isolement.

BotBrowser prend en charge une configuration d’origine contrôlée pour ces tests, mais ne garantit ni l’activation du token, ni la permission, ni l’achèvement applicatif.

Pour un Origin Trial, BotBrowser fournit un contexte d’origine contrôlé afin de vérifier une inscription autorisée; il ne garantit pas que le token expose la fonction ni que l’application termine l’action.

Revoir l’expérience comme changement produit

Revue de l’expérience

La revue doit montrer la tâche, la voie stable, la voie expérimentale, le responsable du token et la date de retrait sans ouvrir un tableau de bord privé.

Preuves séparées

Une méthode disponible ou une promesse résolue décrit seulement le navigateur. Notez séparément la confirmation visible de l’application ou le reçu d’un service synthétique.

Permissions et accessibilité

Testez le refus et l’annulation comme des chemins normaux. Le repli doit avoir un nom accessible, un focus clavier, une annonce d’état et conserver les données saisies.

Changements réversibles

Préservez la voie stable avant de changer le token ou le canal. Le rollback doit désactiver l’inscription sans supprimer le repli ni les données de la tâche.

Fiche de support

Conservez la fonction, la catégorie d’origine, l’étiquette du responsable, l’expiration, le canal, l’état de détection, le résultat visible, le repli et le nettoyage. Ne conservez jamais le token.

Inscription observable Une étiquette de configuration ou de manifeste peut identifier l’expérience sans révéler la valeur du token.

L’absence de cette étiquette signifie que la page n’est pas inscrite; ne déduisez pas l’inscription d’un constructeur présent.

Limites d’origine Testez séparément la page supérieure, l’iframe et l’hôte local réellement pris en charge.

Un token pour app.example ne prouve pas que admin.example ou un embed client est autorisé.

Résultat applicatif Le navigateur peut résoudre une promesse alors que le service destinataire est indisponible.

Attendez une confirmation visible, un état idempotent ou un reçu de service avant de déclarer la tâche terminée.

Comparaison des canaux

Gardez la compilation de l’application et la portée du token constantes en comparant les canaux du navigateur.

Comparez la même tâche, le même repli, l’ordre de focus et le nettoyage; une différence de version n’est qu’un indice.

Fixture compacte

Un cas sans token, un cas expiré, un refus de permission et un appel rejeté couvrent les limites principales.

Ajoutez un cas seulement s’il représente un parcours pris en charge et possède un résultat observable.

Retrait

Avant le retrait, supprimez le token de la configuration et confirmez que la voie stable reste accessible.

Gardez un reçu synthétique bref pendant la période de support, puis expirez les artefacts selon la politique habituelle.

Lisez aussi le guide des replis API et le guide WPT.

Sources

#Origin Trials#Fonctions Expérimentales#Web#Détection#Rollback

Faites passer BotBrowser de la recherche à la production

Utilisez ces guides pour comprendre le modèle, puis passez à la validation multi-plateforme, aux contextes isolés et au déploiement navigateur prêt pour l'échelle.