Hello,
oui alors :
- les filtres images sont conçus pour s’appliquer exclusivement sur les balises <img>. Peut-être que dans le futur on pourra étendre aux balises <svg> mais pour le coup c’est un chantier plus ambitieux qui a pas mal d’impacts à tous les étages, à creuser donc
- c’est pas parce qu’une image est au format svg qu’on veut forcément l’embedder dans une balise <svg> dans le html. C’est sans doute vrai pour des icones ou petits fichiers légers, mais si on a affaire à un SVG contribué par l’utilisateur qui fait 100ko+ c’est pas super malin : ça alourdit le html, et on se prive du cache navigateur sur les ressources images.
Je ne pense donc pas que prévoir un filtre automatique qui switch du img au svg selon l’extension soit pertinent.
Ça peut-être utile oui, mais ça dépendra fortement du contexte, des choix d’implémentation, et des arbitrages rapidité.
Il me semble qu’en l’état le plus malin serait un filtre ajouté en fin de chaine sur les traitements images, genre
[(#LOGO_ARTICLE|image_reduire{…}|image_rotation{…}|image_flou{…}|embed_svg_si_malin)]
filtre embed_svg_si_malin qui itère sur les balises <img> du contenu (car on peut appliquer la même chose sur #TEXTE, récupère l’attribut src, regarde si c’est un SVG, si il remplit les conditions qu’on veut imposer (poids maxi en octets par exemple), et le cas échéant remplace la balise img par une balise svg.
Cela a le mérite d’être applicable à toute image contribuée y compris via un modèle fourni par un plugin ou tout autre chose de ce cas.
A noter que ça pourrait être l’objet d’un traitement automatique via le pipeline appelé en fin de traitement sur les images, et donc éventuellement packagé dans un plugin qui fait ça et permet de personnaliser le critère de poids (et d’autres critères éventuels?)
En ce qui concerne les attributs height/width du SVG, ils sont normalement automatiquement ajoutés au SVG qui n’en a pas, en récupérant les infos de la viewbox.
Donc si il y a des cas qui ne marchent pas, il serait bien d’avoir le code pour reproduire et corriger, en effet !