Re: [spip-dev] Spip 3.3.0-dev : pb avec certains fichiers SVG

Bonjour

Je viens de tester avec la version Spip 4.0.0, le pb décrit ci-dessous reste présent.

y a-t-il un moyen de retrouver l’affichage des « title » au survol d’une image svg ?

Merci.

Luc

···

Le 21/04/2021 à 23:23, JLuc a écrit :

Le 21/04/2021 à 21:18, Mamin Luc a écrit :

J’ai plusieurs articles dans lesquels j’ai inséré une carte choroplèthe SVG (élaborée avec LibreOffice) qui comprend des « title » contenant des infos complémentaires.
Depuis Spip 1.9.2, et aujourd’hui avec Spip 3.2.9, l’insertion dans un article via <embXXX|center> affiche le document, *et le survol de la souris affiche les « title » informatifs.
*Un exemple sous Spip 1.9.2.p (oui oui, y en a encore en ligne…) : Un autre sur un Spip 3.2.9 : **

Le svg est inliné et le balisage est <div.spip_document>…

Avec Spip 3.3.0-dev, l’insertion dans un article via <embXXX|center> (ou ou ) affiche le document, mais le survol de la souris n’affiche plus les « title » informatifs.

Le svg reste externe et le balisage est <figure.spip_documents>

C’est moins bien… Là par contre, pas d’exemple en ligne.

Temporairement ici : svg.grml.eu/spip.php?article1
avec doc, emb et img

JL


liste: doc: dev: irc://irc.freenode.net/spip

https://73.snuipp.fr/spip.php?article6364
https://47.snuipp.fr/Carte-scolaire-2021-c-est-le-rural-qui-trinque#Dotation-par-academies-1er-degre-16-decembre-2020

https://listes.rezo.net/mailman/listinfo/spip-dev
https://www.spip.net/
https://core.spip.net/

J’avais regardé et vu que les SVG ne sont plus insérés du tout pareil et que pour avoir tes titles, il fallait surcharger leur insertion… mais je me souviens plus des détails.
Où tes titles sont ils définis ?

Alors… dans le fichier svg, je trouve ce qui est dans le fichier jpg joint.
Je suis incapable de trouver comment insérer du code qui reste visible dans ce message…

Mais je ne sais pas du tout si ça répond à ta question.

Merci.
Title SVG

Oui ça aide. Il y a plusieurs manières d’insérer un svg

  • avec la balise inline dans le html : <svg>contenu du fichier svg</svg>
  • avec une balise IMG <img src="url du fichier svg"/>

La manière d’insérer les svg a changé. Je crois qu’avec SPIP 4 c’est passé de l’un (où les title sont pris en compte) à l’autre (ou les titles sont pas pris en compte).
Tu pourras t’en sortir

  • en définissant un modèle spécial qui insère un svg « à l’ancienne ».
  • ou bien, a priori, en définissant la constante _COMPORTEMENT_HISTORIQUE_IMG_DOC_EMB avec define('_COMPORTEMENT_HISTORIQUE_IMG_DOC_EMB', true); dans ton fichier d’options. cf https://www.spip.net/6647

Et sinon, actuellement, tu as une url où on peut voir ce que ça donne sur ton site en spip 4, et aussi une url où on peut voir ce que ça donnait sur un site en SPIP 3 ?

Ah ton précédent message est là [spip-dev] Spip 3.3.0-dev : pb avec certains fichiers SVG
et marcimat t’a répondu commeent fabriquer un nouveau modèle d’insertion des svg :

« Probablement tu peux tester un modèle d’embed SVG [par exemple] nommé image_svg.html contenant quelque chose dedans comme [(#FICHIER|balise_svg)] (balise_svg inclut directement le contenu du SVG dans la page). »

que tu ranges dans un sous-dossier ‹ modeles › de ton dossier squelette
et au lieu de <img12334> tes svg, tu les <image_svg12334>

Ah ce que je veux dire précisément, c’est que <docXX|emb> ou <embXX> peut appeler automatiquement un modèle spécifique pour ce format d’image. En fait c’est : modeles/image_emb_svg.html.

Le modèle image_emb.html qui est appelé, cherche un modèle spécifique pour l’extension ou le mime type (avec la fonction medias_trouver_modele_emb()), et en absence utilise le modèle image.html par défaut.

Donc il manque probablement un modèle spécifique pour les SVG dans le plugin Médias.
Tu peux déjà regarder avec ce code (rapide, il manque probablement des paramètres à balise_svg) :

Fichier squelettes/modeles/image_emb_svg.html :

<BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}
>[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})][(#REM)
][<div
  class="[(#ID_DOCUMENT|medias_modele_document_standard_classes{image})]"[
  (#ID_DOCUMENT|medias_modele_document_standard_attributs{image})
]>
  <figure class="spip_doc_inner">
    (#FICHIER|balise_svg)
[(#GET{legende})
]</figure></div>
]</BOUCLE_image>
2 J'aime

Ça ne sera pas suffisant.
Il faut en plus installer ce plugin : https://git.spip.net/spip-contrib-extensions/historique_spip32_documents (qui définit la constante et charge des styles spécifiques).

Alors peut être ce pourrait être une option du modele SPIP 4 ? Pour soit inliner le code SVG, soit linker via src=, parce que les 2 ont leur intérêt.

C’est le modele <embXX> qui fera ça pour les SVG dans la prochaine release

Donc <docXX> c’est une balise img et <embXX> c’est du SVG inline, ce qui est le plus cohérent

1 J'aime

Bonjour

Effectivement, après avoir installé ce nouveau modèle dans plugin-dist/medias, les « title » de mon image svg s’affichent correctement au survol de la souris.

Mais… l’image svg perd ses propriétés responsive …

···

Le 21/10/2021 à 10:42, cerdic via Discuter de SPIP a écrit :

cerdic
Octobre 21

C’est le modele <embXX> qui fera ça pour les SVG dans la prochaine release

SPIP on GIT
### medias

Donc <docXX> c’est une balise img et <embXX> c’est du SVG inline, ce qui est le plus cohérent


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.

En effet, merci du retour !

Ça se corrige donc via

pour ecrire/
et via

pour le site public (à ajouter dans ton squelette propre le cas échéant)

Merci bôcoup !
1 pb de réglé pour ma part avant de basculer sous Spip 4 pour de vrai.