Ouvrir le menu principal

MacGeneration

Recherche

WebKit fait un geste en faveur du web en délaissant les préfixes CSS

Stéphane Moussie

vendredi 29 avril 2016 à 18:15 • 6

Logiciels

WebKit va délaisser les préfixes CSS jusqu'à maintenant utilisés pour implémenter des fonctions expérimentales. À la place, le moteur de rendu open source de Safari va utiliser un système de runtime flags similaire à Chrome ou Firefox. Un changement attendu de longue date bénéfique à la compatibilité web.

« Quand nous implémentons de nouvelles fonctions pour le web, il est important pour nous que les développeurs y aient accès rapidement afin qu'ils les testent. Dans le passé, les navigateurs faisaient cela en utilisant des préfixes vendeurs CSS », explique dans un billet de blog Edward O'Connor qui travaille sur les standards dans l'équipe WebKit.

Extrait de code CSS avec deux préfixes spécifiques à un navigateur. Ligne 106, la ligne commence avec le préfixe -webkit spécifique à ce moteur d’affichage et aux navigateurs qui l’exploitent. Ligne 107, c’est un préfixe exclusif à Firefox sous OS X qui est utilisé. Les deux lignes servent à obtenir le même rendu, mais chacune pour un navigateur.

« Il s'avère qu'au fil du temps cette stratégie n'a pas si bien fonctionné. De nombreux sites web sont devenus dépendants des propriétés préfixées », reconnait l'ingénieur d'Apple.

Deux cas de figure se présentent aujourd'hui. D'une part, les sites qui utilisent toutes les variantes des préfixes (-webkit- pour WebKit, -moz- pour Gecko/Firefox, -ms- pour Internet Explorer...), ce qui rend le CSS plus difficile à maintenir. D'autre part, les sites qui, par facilité, ne prennent en compte que le préfixe du moteur de rendu le plus populaire... WebKit. « Au bout du compte, afin d'assurer une bonne compatibilité web les navigateurs ont été poussés à supporter les préfixes de leur concurrent », expose Edward O'Connor.

C'est précisément ce qui s'est passé avec Firefox en début d'année. Constatant que de plus en plus de sites reposaient en partie sur les préfixes -webkit-, Mozilla a décidé de prendre en charge les principaux dans Firefox.

Dès 2012, le CSS Working Group du W3C mettait en garde contre la prédominance des préfixes -webkit-, le risque étant que cette implémentation unique se transforme en un nouveau standard mondial (lire : WebKit, nouveau syndrome IE6).

« Un standard de fait fondé sur un unique produit n’est pas un standard ouvert, c’est un monopole et donc une prison pour les usagers. C’est tout ce que l’on a toujours essayé d’éviter dans le Web, qui doit rester accessible par tous et partout », nous expliquait récemment Daniel Glazman, ancien coprésident de ce groupe de travail du W3C. « Le consensus actuel est que, dans l'ensemble, les propriétés préfixées ont plus fait de mal qu'elles n'ont aidé », admet l'ingénieur d'Apple.

C'est pourquoi WebKit change finalement de politique. Les nouvelles fonctionnalités expérimentales ne seront plus implémentées à travers des préfixes, elles utiliseront à la place des runtime flags. C'est le mécanisme déjà présent dans Chrome quand on saisit chrome://flags dans sa barre d'adresse ou about:config dans Firefox.

Les fonctionnalités expérimentales qui s'activent/désactivent à l'aide des flags dans Chrome.

Les runtimes flags permettent de tester individuellement les fonctionnalités expérimentales et d'avoir des réglages différents entre plusieurs versions d'un même navigateur. Des fonctionnalités non finalisées pourront être activées par défaut dans Safari Technology Preview mais pas dans la mouture stable du navigateur. Et pas la peine, donc, d'inclure des -webkit- dans le code du site.

« Dans un premier temps, les développeurs ne devraient pas remarquer de changement. Sur le long terme, nous espérons que cela simplifie le test de fonctionnalités à venir », rassure Edward O'Connor.

La prise en charge des préfixes -webkit- ne va pas être complètement abandonnée pour autant. Les versions préfixées de certaines fonctionnalités existantes vont continuer à être supportées afin d'assurer une compatibilité web satisfaisante — ce seront probablement les mêmes que celles prises en charge par Firefox.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

À contre-courant : pourquoi Félix pense que le Mac est une bonne machine de jeu

10:00

• 18


Tim Cook revient sur l’IA, Siri et les futurs produits devant les employés de l’Apple Park

07:52

• 73


Pourquoi une IA devient malsaine, et comment y remédier ? Anthropic invente le psy pour IA

01/08/2025 à 22:15

• 43


OpenAI a laissé Google indexer des conversations, avant de vite faire machine arrière

01/08/2025 à 21:30

• 17


Redonnez vie à vos vidéos : Aiarty Video Enhancer débarque sur Mac et Windows (et c’est bluffant) 📍

01/08/2025 à 20:33

• 0


Fin de partie pour Windows 11 SE, l’équivalent à Chrome OS de Microsoft

01/08/2025 à 16:11

• 22


Tim Cook a été plus longtemps à la tête d'Apple que Steve Jobs

01/08/2025 à 15:23

• 36


Quatre ans après macOS, Adobe Premiere Pro et After Effects arrivent en bêta pour les PC Windows ARM

01/08/2025 à 13:15

• 15


Promo : l’iPhone 15 Plus à 789 €, une bonne affaire (-19 %)

01/08/2025 à 11:53

• 10


OpenAI lance un nouveau mode plus pédagogique pour ChatGPT à destination des étudiants

01/08/2025 à 11:05

• 4


Linus Torvalds a visiblement abandonné son MacBook Air M2

01/08/2025 à 10:35

• 24


Zuckerberg : « le développement d’une superintelligence est à portée de main »

01/08/2025 à 09:10

• 52


3 milliards d’iPhone écoulés depuis 2007 : le produit high-tech le plus vendu de l’histoire ?

01/08/2025 à 07:22

• 35


Promo : la station d'accueil Ugreen pour le Mac mini M4 à 70 € (-30 €)

31/07/2025 à 23:38

• 14


Résultats T3 25 : et la guerre commerciale profita à Apple !

31/07/2025 à 23:00

• 48


Ollama propose une nouvelle app pour le Mac qui permet de se passer entièrement du terminal

31/07/2025 à 20:05

• 20