IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apple, Mozilla, Google et Microsoft s'associent pour standardiser les extensions web
Au sein du WebExtensions Community Group (WECG)

Le , par Stéphane le calme

75PARTAGES

7  0 
Comme Microsoft Edge avant le passage au moteur de rendu Blink (utilisé entre autres par Google Chrome), l’un des points faibles de Safari (aussi bien sur macOS que sur Windows) était le petit nombre d’extensions disponibles pour les utilisateurs. La raison est simple : étant donné la popularité du navigateur Google Chrome, nombreux sont les développeurs qui préfèrent créer des extensions pour Chrome (et qui sont par ricochet compatibles avec tous les navigateurs s’appuyant sur le moteur de rendu Blink comme Opera, Vivaldi et bien d’autres).

Aussi, Apple a rappelé aux développeurs en août 2020 qu'ils peuvent créer des extensions Web dans Safari 14 en utilisant la même API WebExtensions utilisée dans d'autres navigateurs, tels que Chrome, Firefox et Edge. L'éditeur en a profité pour leur indiquer qu'un outil de portage dans Xcode 12 bêta est mis à leur disposition ; le nouvel outil de conversion dans Xcode 12 bêta permet lui aussi aux développeurs de porter des extensions existantes d'autres navigateurs vers Safari et de les rendre disponibles sur le Mac App Store plus tard cette année.

Dans la documentation, Apple explique « qu’une extension Web Safari ajoute des fonctionnalités personnalisées à Safari en utilisant des API JavaScript et des formats de fichiers couramment utilisés dans les extensions pour les navigateurs Google Chrome, Mozilla Firefox et Microsoft Edge. Alors que les extensions d'application Safari sont utiles pour partager du code entre votre application macOS native et Safari, les extensions Web Safari sont principalement construites sur JavaScript, HTML et CSS, et peuvent être reconditionnées pour fonctionner dans d'autres navigateurs. »

En s'ouvrant à WebExtensions, Safari était donc capable d'utiliser les extensions développées pour Chrome et Firefox ! Apple a fourni un outil de conversion, mais malheureusement cette nouveauté de Safari 14 pour Mac, inaugurée avec Big Sur, n'a pas eu le succès escompté. Cette fois-ci, l'entreprise a opté pour une autre approche en choisissant l'alliance avec d'autres entreprises technologiques.


Création du groupe communautaire WebExtensions

Le nouveau groupe communautaire WebExtensions tentera de forger une architecture commune pour les futures extensions Web et invite les développeurs à se joindre à cette initiative. Safari a adopté une nouvelle API d'extension Web avec macOS Big Sur qui permet aux extensions conçues pour d'autres navigateurs de fonctionner avec. Cela a ouvert la porte à de nouvelles extensions, mais une méthode standardisée de développement des extensions n'avait pas été définie.

Le nouveau groupe, abrégé WECG, se compose de membres de chacun des principaux développeurs de navigateurs. À la tête de ce nouveau groupe, nous retrouvons Timothy Hatcher d'Apple et Simeon Vincent de Google. Les participants actuels comprennent des employés d'Apple, Mozilla et Microsoft.

Le World Wide Web Consortium, l'organisme chargé de promouvoir la compatibilité des technologies du World Wide Web, a commenté cette action en ces termes :

« Nous sommes ravis d'annoncer le lancement du groupe communautaire WebExtensions (WECG). Avec plusieurs navigateurs adoptant un modèle largement compatible pour les extensions au cours des dernières années, le WECG est ravi d'explorer comment les fournisseurs de navigateurs et d'autres parties intéressées peuvent travailler ensemble pour faire progresser une plateforme d'extension de navigateur commune. Apple, Google, Microsoft et Mozilla lancent ce groupe communautaire, et nous invitons d'autres éditeurs de navigateurs, développeurs d'extensions et parties intéressées à se joindre à cette initiative*! »


Le groupe communautaire WebExtensions a deux objectifs*:
  • Faciliter la création d'extensions pour les développeurs en spécifiant un modèle cohérent et un noyau commun de fonctionnalités, d'API et d'autorisations.
  • Décrire une architecture qui améliore les performances et est encore plus sécurisée et résistante aux abus.


« Notre travail sera guidé par un ensemble commun de principes de conception HTML et W3C TAG*: centrée sur l'utilisateur, compatibilité, performances, sécurité, confidentialité, portabilité, maintenabilité et comportement bien défini.

« En utilisant le modèle d'extensions et les API existants pris en charge par Chrome, Microsoft Edge, Firefox et Safari comme base, nous commencerons par travailler sur une spécification. Nous visons à identifier un terrain d'entente, à rapprocher les implémentations et à tracer une voie pour l'évolution future ».

Sur la charte de travail, les principes de conception suivants sont évoqués :
  • Centré sur l'utilisateur : Les extensions de navigateur permettent aux utilisateurs de personnaliser leur expérience de navigation sur le Web en fonction de leurs préférences et de leurs besoins. [Les gens devraient pouvoir restituer le contenu Web comme ils le souhaitent] [Internet est pour les utilisateurs finaux]. Nous spécifierons des API d'extension qui permettent aux développeurs d'écrire une variété d'extensions de navigateur utiles. En cas de conflit, nous donnerons la priorité aux besoins des utilisateurs finaux par rapport aux besoins des développeurs et des implémenteurs.
  • Compatibilité : Nous nous efforçons de maintenir et d'améliorer la compatibilité avec les extensions existantes et les API d'extension populaires. [Prise en charge du contenu existant] Cela permettra aux développeurs de ne pas avoir à réécrire complètement leurs extensions pour qu'elles fonctionnent dans différents navigateurs, ce qui peut être sujet aux erreurs. [Ne pas réinventer la roue]
  • Performance : Nous devons permettre aux développeurs d'écrire des extensions qui n'ont pas d'impact négatif sur les performances ou la consommation d'énergie des pages Web ou du navigateur. [Le web doit être une plateforme écologiquement durable]
  • Sécurité : Lors du choix des extensions à utiliser, les utilisateurs ne devraient pas avoir à faire de compromis entre fonctionnalité et sécurité. Nous spécifierons de nouvelles API d'extension, apporterons des modifications au modèle et améliorerons les autorisations pour promouvoir de bonnes pratiques de sécurité et réduire les dommages que peuvent causer les extensions de navigateur compromises ou malveillantes. [La sécurité et la confidentialité sont essentielles]
  • Vie privée : De même, les utilisateurs ne devraient pas avoir à faire de compromis entre fonctionnalité et confidentialité. Nous allons permettre aux extensions de navigateur d'améliorer l'expérience de l'utilisateur tout en exigeant l'accès minimum nécessaire aux données de navigation de l'utilisateur afin de réduire ou d'éliminer le compromis que les utilisateurs finaux doivent faire entre fonctionnalité et confidentialité. [La sécurité et la confidentialité sont essentielles]
  • Portabilité : Il devrait être relativement simple pour les développeurs de porter des extensions d'un navigateur à un autre, et pour les navigateurs de prendre en charge les extensions sur une variété d'appareils et de systèmes d'exploitation. [Le Web est multinavigateur, multi-OS et multiappareils] [Indépendance des médias]. Nous garderons le nombre de points d'entrée d'interface utilisateur au minimum pour éviter de verrouiller les implémenteurs dans des modèles d'interface utilisateur trop limités. Cela permet de garantir que les extensions fonctionnent sur les navigateurs, les appareils et les paradigmes d'interface utilisateur. Nos spécifications ne doivent pas faire référence ou s'appuyer sur des détails d'implémentation de moteur de navigateur spécifiques.
  • Maintenabilité : Nous nous efforcerons de simplifier nos API, de permettre au groupe le plus large de développeurs de créer des extensions et de leur faciliter la maintenance des extensions qu'ils créent. Nous garderons le nombre d'extensions d'API à adopter au minimum et ne réviserons ces API que rarement, afin de maintenir le coût de maintenance des extensions aussi bas que possible. [Le Web doit améliorer le contrôle et le pouvoir des individus] [Éviter la complexité inutile]
  • Comportement bien défini : Nous définirons rigoureusement le comportement des API d'extension pour permettre aux développeurs de navigateurs d'atteindre au mieux l'interopérabilité. [Comportement bien défini]
  • Autonomie : Nous reconnaissons que les fournisseurs de navigateurs doivent fournir des fonctionnalités spécifiques à leur navigateur et doivent également avoir la possibilité d'expérimenter de nouvelles fonctionnalités. Notre processus embrasse cela et cherche à fournir des mécanismes pour spécifier les incohérences et travailler à une éventuelle unification, le cas échéant. Compte tenu de cela, nous attendons des fournisseurs de navigateurs qu'ils offrent des API et des capacités au-delà de ce qui est spécifié. Bien entendu, le besoin d'autonomie doit être mis en balance avec le besoin de fournir aux développeurs une plateforme cohérente et interopérable. À cette fin, nous cherchons à spécifier une plateforme commune qui inclut le modèle d'extension de base, le modèle d'autorisations et un noyau commun d'API pour les extensions Web sur lesquelles tous les navigateurs peuvent s'appuyer.

Le groupe ne veut pas spécifier tous les aspects de la plateforme d'extensions Web ou étouffer l'innovation. Chaque fournisseur de navigateur continuera à fonctionner indépendamment avec ses propres politiques. Les développeurs et les fournisseurs de navigateurs intéressés à contribuer au groupe peuvent s'inscrire via le site Web du W3C. Le WECG dispose d'un référentiel GitHub dédié avec une charte de travail et les réalisations de la communauté.

Il faudra voir si Apple souhaite alléger quelques-unes des contraintes imposées aux développeurs pour Safari. Les développeurs doivent en effet s'enregistrer au programme annuel (99 € par an), utiliser un Mac, faire appel à Xcode, et gérer des processus de signature et de packaging qui ne sont pas particulièrement fluides.

Suivre l'évolution du projet

Sources : annonce W3C, charte de travail

Et vous ?

Quelle lecture en faites-vous ? Progrès de standardisation bénéfique aux utilisateurs, ou création d'un nouveau puissant cartel commercial ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Axel Mattauch
Membre régulier https://www.developpez.com
Le 12/06/2021 à 12:02
Ce post suscite deux commentaires: sur l'évolution du web et la mainmise de sa gouvernance technique par un cartel.

Sur l'évolution du web, je me suis exprimé à propos de cet autre post de Bill Fassinou
https://www.developpez.net/forums/d2...-inutilisable/

Je souscris au commentaire de TotoParis
Citation Envoyé par TotoParis Voir le message
[...] il y a encore des concepteurs de sites qui conçoivent pour une navigateur ou un autre [...]
Un site web, à moins de vouloir furieusement ressembler à une application lourde sur PC, devrait être [une application] légère et universelle[...]
commentaire que j'ai complété comme suit:
Citation Envoyé par Axel Mattauch Voir le message
[...]Mais en pratique l'excès de possibilités [induit par les extensions web] a conduit aux travers suivants:

Les concepteurs, poussés par leurs donneurs d'ordre à créer des pages séduisantes, accrocheuses etc., ont privilégié le rendu au contenu
Les concepteurs de navigateurs et ceux de moteurs de rendu, ont interprété la norme hypercomplexe et instable chacun à leur façon
Par suite, les pages rendent bien dans tel navigateur (ayant servi au contrôle du développement), et rencontrent des écueils dans d'autres
Pire, ils sont désormais souvent conçus pour être optimisés sur smartphone et consorts, et conduisent à une interface pourrie sur un PC

Quant aux évolutions, la règle de bon aloi est de bien réfléchir aux critères. Nécessité fait loi. Mais lubie ou mode sont mauvaises conseillères.
Penser à l'utilisateur: personnellement je peste quand mon interface change, et qu'en pratique des opérations simples deviennent complexes.
[...]
En synthèse, je constate que les extension web ne sont pas motivées par une amélioration des fonctionnalités ni de l'ergonomie, mais dans la seule perspective d'offrir des outils aux annonceurs, et des moyens de conditionner l'utilisateur.

Le second point, la création d'un [nouveau] puissant cartel commercial, en est le corollaire, puisque à l'instar des trous noirs cosmiques, l'objectif du cartel est d'obtenir la mainmise sur le système commercial en absorbant toute velléité d'alternative.
1  0