Project

General

Profile

Evolution #4768

Sus aux préfixes navigateurs

Added by tcharlss 🐽 about 2 months ago. Updated about 2 months ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
05/05/2021
Due date:
% Done:

0%

Resolution:

Description

Dans les CSS du privé on commence à utiliser largement des propriétés qui peuvent requérir des préfixes navigateur : flex, grid, etc.
Pour ma part je ne les ai pas encore préfixées, en général je fais ça sur la fin une fois que tout est stabilisé (mais j'ai vu que j'étais pas le seul à pas préfixer, ouf).
Mais ces préfixes sont vraiment une plaie intégrale : c'est chronophage à ajouter et encore plus à modifier, ça alourdit le code et le rend moins lisible, ça fait du bruit de fond dans les commits quand il faut les mettre à jour lorsque le support évolue, et j'en passe.

Mais s'occuper des préfixes navigateurs, c'est pas notre boulot :)
On ne devrait plus avoir à faire ça manuellement.
À défaut de préprocesseur ou d'outil qui permettrait de faire ça semi-automatiquement (en général ils buttent sur les balises Spip de nos squelettes css), il existe une autre solution : les autoprefixeurs JS.
Ils ajoutent les préfixes à la volée, mais uniquement ceux nécessaires au navigateur, produisant une css plus légère qu'avec les autres solutions.

Celui-ci est très léger, 2Kb gzippé, il suffit d'inclure le script dans la page et c'est tout : https://projects.verou.me/prefixfree/
Je propose de l'intégrer et d'oublier les préfixes à tout jamais.

Dans le privé il serait chargé tout le temps.
Pour le public, je ne sais pas, 2 possibilités :

  • se contenter de dire qu'il est disponible dans la doc technique, charge aux gens de l'intégrer eux-mêmes dans leur squelettes s'ils en ont l'utilité.
  • ou bien faire un mini plugin-dist sur le même modèle que l'ancien iepatch, avec une option de config « charger le script bla bla ».

History

#1 Updated by cedric - about 2 months ago

je suis pas fan du prefixeur JS :(

Dans le plugin BS4 j'ai fait un mini-prefixeur utilisable en filtre, soit dans le squelette lui même en ajoutant le filtre à la fin, soit dans le head en l'utilisant en filtre sur le nom du fichier.

Je dis "mini-prefixeur" car il a pas la prétention de traiter tous les cas, je me suis concentré sur "tous les cas utilisés dans BS4", ce qui couvre quand même les cas les plus courants... (mais pas les css grids par exemple donc)

J'avais fait une recherche sur les prefixeurs PHP, mais rien trouvé de super convaincant. Cela dit, si quelqu'un a une lib propre et à peu près à jour sous la main, on peut facilement l'intégrer au lieu du truc à la main, et ainsi avoir donc un prefixeur PHP facile à utiliser...

#2 Updated by tcharlss 🐽 about 2 months ago

je suis pas fan du prefixeur JS :(

Pourtant celui-là je crois me souvenir que c'est toi qui nous l'avais indiqué il y a quelques temps :p

Mais ok, du moment qu'il y a une solution qui permet de se libérer de la question pour le privé, c'est bon à prendre.
Il y a du grid dans le menu déroulant, si le support peut être ajouté sans trop d'effort au mini-prefixeur, ça pourrait faire l'affaire alors ?
Sinon je n'ai pas connaissance d'une lib php légère, simple et à jour.

#3 Updated by RastaPopoulos ♥ about 2 months ago

Vous avez peut-être déjà vu car ça ressort dans les premiers, mais celui là intègre bien grid, flex, etc + accepte régulièrement les PR, ya des ajouts là en 2021 :
https://github.com/padaliyajay/php-autoprefixer

#4 Updated by cedric - about 2 months ago

Tu as une expérience avec Rastapopoulos ? ou tu proposes de le bencher et de nous faire un retour d'expérience ? Ou tu nous fais juste bénéficier de ton abonnement premium Google ?

#5 Updated by marcimat 🌻 about 2 months ago

Alors il ressort en premier sur https://repo.packagist.org/packages/padaliyajay/php-autoprefixer avec "autoprefixer" .
Les autres passent par node.js ou intègrent un .js spécifique pour le faire.

Quand tu dis "je suis pas fan du prefixeur JS :(".
Alors là je dirais a première lecture pourquoi donc ? C'est Lea Verou qui le propose, je doute que le script soit mauvais. Ni qu'il soit hyper gourmand. En plus on est sûr que ça les ajoute uniquement si besoin adapté au navigateur !

Et ça déporte le problème sur un outil maintenu à côté, ce qui est pas si mal en plus.

Also available in: Atom PDF