Google présente l'entête HTTP (header) Feature-Policy
Google a émis un nouveau brouillon (draft) auWeb Platform Incubator Community Group (WICG) afin d’envisager l’usage d’un nouvel entête HTTP appelé Feature Policy. L’objectif est de pouvoir activer ou désactiver volontairement des fonctionnalités ou API du navigateur web. Ainsi, il sera plus simple d’éviter certains bugs ou de mieux protéger les sites web contre certains risques de sécurité…
Le WICG est un collectif créé en juillet 2015 qui vise à proposer et discuter autour de nouvelles fonctionnalités et alternatives pour les plates-formes web de demain. Il ne s’agit donc pas du W3C ou d’un quelconque standard officiel. Toutefois, certaines avancées du WICG finissent parfois par être implémentées dans les navigateurs ou solutions web. Rappelons que le W3C n’est qu’une association à but non lucratif qui fournit des principes de développement (qu’il est recommandé de suivre), et même s’il a du poids dans le Web depuis 1994, il n’est pas plus “officiel” que le WICG pourrait l’être. Par conséquent, les navigateurs peuvent très bien intégrés des éléments qui ne sont pas fournis par le W3C à l’origine.
Initié par Google, le projet est déjà évoqué dans la documentation officielle de la société, avec de bons exemples d’usage à la clé. L’idée de l’entête Feature Policy est d’offrir aux développeurs une certaine souplesse dans l’usage ou non de fonctionnalités ou API de navigateurs. Que ce soit par souci de performance ou de sécurité, il est toujours intéressant de pouvoir contrôler, activer ou désactiver des API ou fonctionnalités. Le brouillon du WICG résume bien les possibilités génériques d’un tel système :
Concrètement, la documentation de Google fournit des exemples d’usage des Feature Policy, qui ne sont pas négligeables en effet :
Rien de très compliqué dans l’usage des Feature Policy, et c’est bien là tout l’intérêt du système. Deux méthodes permettent de mettre en place une “stratégie de fonctionnalité” :
L’entête HTTP fonctionne à partir du schème suivant : Feature-Policy: <feature> <allow list origin(s)>. En d’autres termes, il faut indiquer la fonctionnalité visée, puis les autorisations et restrictions d’utilisation. Il existe quatre types de permissions :
Voici trois exemples d’usage des Feature Policy :
Ajoutons à cela qu’il est possible d’utiliser l’attribut “allow” dans les iframe, et donc d’autoriser ponctuellement des fonctionnalités par ce biais :
D’autres possibilités sont offertes et Google a même mis en place une petite API Javascript pour contrôler les Feature-Policy. Je ne vais pas tout vous détailler ici car ce ne sont encore que les prémices du système, mais c’est très intéressant. Ce ne sont que quelques nouvelles fonctions (compatibles dans Google Chrome au moins) qui permettent de jouer avec les permissions, comme dans l’exemple suivant :
document.policy.allowsFeature('geolocation');
document.policy.allowsFeature('geolocation', 'https://google-developers.appspot.com/');

Si une fonctionnalité est bloquée (comme la géolocalisation ici), voici le type de message que l’on peut recevoir à l’écran.
Blocage de la gélolocalisation avec l'entête HTTP Feature-Policy
Si vous souhaitez connaître la liste des fonctionnalités et API disponibles, et surtout tester le fonctionnement des Feature Policy, rendez-vous sur les sites Chrome’s source, ChromeStatus ou https://feature-policy-demos.appspot.com. Vous pouvez également aller sur le classique Caniuse pour vérifier la compatibilité du système, pour le moment limiter à Chrome et Safari à l’heure d’écrire ces lignes.




Auteur : Alexandra Martin / Mathieu Chartier
Editeur : Eyrolles
Prix : 32,00 € (345 pages)
Auteur : Alexandra Martin / Mathieu Chartier
Editeur : Eyrolles
Prix : 32,00 € (570 pages)
Auteur : Alexandra Martin / Mathieu Chartier
Editeur : Eyrolles
Prix : 29,90 € (522 pages)
Auteur : Mathieu Chartier
Editeur : First Interactive
Prix : 19,90 € (411 pages)
Auteur : Mathieu Chartier
Editeur : First Interactive
Prix : 29,90 € (622 pages)
Télécharger “SwipeMenu.zip”SwipeMenu.zip – Téléchargé 18073 fois – 52 Ko
Télécharger “Spider Simulator PHP”spider-simulator.zip – Téléchargé 17481 fois – 2 Ko
Télécharger “ReadingIndicator 1.0”readingIndicator-1.0.zip – Téléchargé 15920 fois – 7 Ko
Télécharger “Parseur Facebook”parser-facebook.zip – Téléchargé 17322 fois – 3 Ko
Télécharger “Pack complet – moteur de recherche PHP 5.5 – PHP 7”moteurPHP5.5.zip – Téléchargé 34890 fois – 171 Ko
Ce blog est le résultat de plusieurs années de travail mais il ne fait pas manger son homme. Découvrez l’agence web et l’organisme de formation géré par Mathieu Chartier et n’hésitez pas à prendre contact pour suivre des formations personnalisées.
Tous droits réservés © Blog Internet-Formation 2009 – 2022

source

Catégorisé:

Étiqueté dans :