[SPIP Zone] La fabrique et logos en SVG

Hello,

la fabrique ne se comporte pas bien avec des logos en SVG, le code génère en dur des .png qui contiennent en fait le code svg (donc forcément, le navigateur n'arrive pas à les afficher).

Ça se passe ici :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/plugins/fabrique/trunk/formulaires/fabriquer_plugin.php#L626

Il suffirait de tester l'extension pour garder .svg quand c'est nécessaire, ça c'est pas compliqué.

Problème : on va dans ce cas générer des fichiers pour toutes les tailles de logos (-12, -16, -24, -32 etc), qui contiendront tous le même code svg.
Ça crée de la duplication inutile, mais c'est comme ça que SPIP récupère les logos des objets, donc je vois pas comment faire autrement.

Autre problème : pour le pré-calcul des variantes (-add, -del etc), il faudra superposer non pas une icone bitmap mais une icone svg, en calculant ses dimensions et positions.

Et ça ce n'est pas lié qu'à la fabrique : même problème avec |icone_verticale{<:patate:>,patate,new,right} et la fonction prepare_icone_base()

Qu'en pensez vous ?

--
nicod_

Je pense que pour ça on est pas encore mûrs pour utiliser des icones svg dans l’espace privé, il y a du refactoring à faire dans le core pour prévoir ce cas là avant de l’intégrer dans la fabrique :slight_smile:
Ça sera pour la prochaine release amha, sauf si quelqu’un veut regarder en détail et que ça semble pas si difficile…

--
Cédric
Le 24 juil. 2019 à 14:34 +0200, nicod_ <nicod@lerebooteux.fr>, a écrit :

Hello,

la fabrique ne se comporte pas bien avec des logos en SVG, le code
génère en dur des .png qui contiennent en fait le code svg (donc
forcément, le navigateur n'arrive pas à les afficher).

Ça se passe ici :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/fabrique/trunk/formulaires/fabriquer_plugin.php#L626

Il suffirait de tester l'extension pour garder .svg quand c'est
nécessaire, ça c'est pas compliqué.

Problème : on va dans ce cas générer des fichiers pour toutes les
tailles de logos (-12, -16, -24, -32 etc), qui contiendront tous le même
code svg.
Ça crée de la duplication inutile, mais c'est comme ça que SPIP récupère
les logos des objets, donc je vois pas comment faire autrement.

Autre problème : pour le pré-calcul des variantes (-add, -del etc), il
faudra superposer non pas une icone bitmap mais une icone svg, en
calculant ses dimensions et positions.

Et ça ce n'est pas lié qu'à la fabrique : même problème avec
|icone_verticale{<:patate:>,patate,new,right} et la fonction
prepare_icone_base()

Qu'en pensez vous ?

--
nicod_
----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Le mer. 24 juil. 2019 14:34, nicod_ a écrit :

Hello,

Salut, salut,

Problème : on va dans ce cas générer des fichiers pour toutes les
tailles de logos (-12, -16, -24, -32 etc), qui contiendront tous le même
code svg.
Ça crée de la duplication inutile, mais c’est comme ça que SPIP récupère
les logos des objets, donc je vois pas comment faire autrement.

C’est à cela qu’on voit comme le support de plusieurs plateformes est limitant : on aurait été dans un univers purement Unix, ça n’aurait pas posé de problème ; il aurait juste fallu dans ce cas faire des fichiers liés et le tour est joué.

Sur ce, bonne fin de semaine à tout le monde.