[SPIP Zone] Bug du plugin adaptive_image : allergie au drapeau italien

Bonjour,

Pour information, j’ai rencontré un bug très frustrant lié à l’utilisation du plugin adaptive_image.

Dans un boucle rubrique, j’affiche le logo de la rubrique avec le code suivant :

[(#ENV{logo_rubrique,’ ‹ }|?{#LOGO_ARTICLE_RUBRIQUE,#LOGO_ARTICLE}|image_recadre{16:10, ›-’,focus}|adaptive_images{640})]

Le plugin adaptive_image change ce code en :

<a href="-partners-in-the-united-states-.html" rel="bookmark>

C’est le comportement normal, et cela fonctionne très bien, sauf pour une image d’un drapeau italien pour laquelle le code est généré comme si le plugin adaptive image était désactivé :

Ce que j’ai essayé :

Le cache de SPIP a bien entendu été désactivé durant l’ensemble de ces tests.

Donc au final, j’ai une solution qui fonctionne, mais je serais très curieux de connaitre la source du problème !

-Frédéric

Hello,

it's not a bug, it's a feature!

Mais ni l'Italie ni les italiens n'ont à voir avec ça.

Si j'en crois la doc

je lis
> Poids minimal pour adapter
> Permet de définir le poids minimal des images qui seront adaptées à l’utilisateur. Les images plus légères seront laissées telles quelles et identiques pour tout le monde, car générer une image adaptée augmenterait le poids total téléchargé.

On rappelle que la gestion des images adaptatives sert notamment à permettre d'envoyer des images plus légères aux mobiles sans pénaliser les grands écrans.

Il faut comprendre aussi que dans son implémentation actuelle le plugin génère une image inline fallback en plus de l'image qui sera chargée par le navigateur en fonction de la résolution de l'écran.

Donc si l'image initiale est déjà légère en poids, on ne gagne rien à ajouter le mécanisme d'adpatation : les mobiles ne téléchargeront pas moins de données et les grands écrans n'auront pas une meilleure résolution. Dans ces cas là le plugin laisse l'image inchangée.

C'est sans doute quelque chose qui pourra être revu lors de l'évolution future du plugin (certaine, mais non planifiée) vers l'utilisation de l'attribut srcset.

Bonne journée !

--
Cédric

Frederic Lohier a écrit :

Bonjour,

Pour information, j’ai rencontré un bug très frustrant lié à
l’utilisation du plugin adaptive_image.

Dans un boucle rubrique, j’affiche le logo de la rubrique avec le code
suivant :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="#URL_RUBRIQUE" rel="bookmark">[(#ENV{logo_rubrique,'
'}|?{#LOGO_ARTICLE_RUBRIQUE,#LOGO_ARTICLE}|image_recadre{16:10,'-',focus}|adaptive_images{640})]</a>

</figure>

Le plugin adaptive_image change ce code en :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="-partners-in-the-united-states-.html" rel="bookmark>

<span class="adapt-img-wrapper c149323740 png"><img class="adapt-img
spip_logo spip_logos" alt=""
src="http://yeifrance.france-science.org/local/adapt-img/640/10x/local/cache-gd2/35/29f138e85405172036fc9c9c61f6d1.png?1491515555&quot;
width="640" height="400" onmousedown="adaptImgFix(this)"></span>

</a>

</figure>

C’est le comportement normal, et cela fonctionne très bien, *sauf pour
une image d’un drapeau italien* pour laquelle le code est généré comme
si le plugin adaptive image était désactivé :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="-partners-in-italy-.html" rel="bookmark">

<img class="spip_logo spip_logos" alt=""
src="local/cache-gd2/3b/0dd2602c9dc6cac6a25e3616b57d0b.png?1491516639"
width="1000" height="625">

</a>

</figure>

Ce que j’ai essayé :

-Image du drapeau italien en gif, jpg et png, générée depuis un svg : ne
fonctionne pas

-Image du drapeau italien au format png téléchargé depuis wikimedia :
https://upload.wikimedia.org/wikipedia/en/thumb/0/03/Flag_of_Italy.svg/1500px-Flag_of_Italy.svg.png
: ne fonctionne pas

-Renommage des images qui ne fonctionnent pas en utilisant le nom d’une
image qui fonctionne : ne fonctionne pas

-Test de nombreuses images au format gif, jpg, png, de source et de
taille diverse : fonctionne

-Image du drapeau italien avec l’insigne au format png sur wikimedia :
https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Civil_Ensign_of_Italy.svg/1500px-Civil_Ensign_of_Italy.svg.png
: ca fonctionne

-Suppression de l’insigne sur cette même image via photoshop : *ça
fonctionne*

Le cache de SPIP a bien entendu été désactivé durant l’ensemble de ces
tests.

Donc au final, j’ai une solution qui fonctionne, mais je serais *très
curieux* de connaitre la source du problème !

-Frédéric

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

Aaaah, je me sens bien bête maintenant... Merci pour cette explication qui
tombe sous le sens, ça m'apprendra à utiliser des images trop légères !

En tout cas, merci pour ce plugin.

-Frédéric

-----Message d'origine-----
De : Cédric Morin [mailto:cedric@yterium.com]
Envoyé : Friday, April 07, 2017 3:28 AM
À : Frederic Lohier <associate-it@ambascience-usa.org>
Cc : spip-zone@rezo.net
Objet : Re: [SPIP Zone] Bug du plugin adaptive_image : allergie au drapeau
italien

Hello,

it's not a bug, it's a feature!

Mais ni l'Italie ni les italiens n'ont à voir avec ça.

Si j'en crois la doc

je lis
> Poids minimal pour adapter
> Permet de définir le poids minimal des images qui seront adaptées à
l’utilisateur.
Les images plus légères seront laissées telles quelles et identiques pour
tout le monde, car générer une image adaptée augmenterait le poids total
téléchargé.

On rappelle que la gestion des images adaptatives sert notamment à permettre
d'envoyer des images plus légères aux mobiles sans pénaliser les grands
écrans.

Il faut comprendre aussi que dans son implémentation actuelle le plugin
génère une image inline fallback en plus de l'image qui sera chargée par le
navigateur en fonction de la résolution de l'écran.

Donc si l'image initiale est déjà légère en poids, on ne gagne rien à
ajouter le mécanisme d'adpatation : les mobiles ne téléchargeront pas moins
de données et les grands écrans n'auront pas une meilleure résolution. Dans
ces cas là le plugin laisse l'image inchangée.

C'est sans doute quelque chose qui pourra être revu lors de l'évolution
future du plugin (certaine, mais non planifiée) vers l'utilisation de
l'attribut srcset.

Bonne journée !

--
Cédric

Frederic Lohier a écrit :

Bonjour,

Pour information, j’ai rencontré un bug très frustrant lié à
l’utilisation du plugin adaptive_image.

Dans un boucle rubrique, j’affiche le logo de la rubrique avec le code
suivant :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="#URL_RUBRIQUE" rel="bookmark">[(#ENV{logo_rubrique,'
'}|?{#LOGO_ARTICLE_RUBRIQUE,#LOGO_ARTICLE}|image_recadre{16:10,'-',focus}|adaptive_images{640})]</a>

</figure>

Le plugin adaptive_image change ce code en :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="-partners-in-the-united-states-.html" rel="bookmark>

<span class="adapt-img-wrapper c149323740 png"><img class="adapt-img
spip_logo spip_logos" alt=""
src="http://yeifrance.france-science.org/local/adapt-img/640/10x/local/cache-gd2/35/29f138e85405172036fc9c9c61f6d1.png?1491515555&quot;
width="640" height="400" onmousedown="adaptImgFix(this)"></span>

</a>

</figure>

C’est le comportement normal, et cela fonctionne très bien, *sauf pour
une image d’un drapeau italien* pour laquelle le code est généré comme
si le plugin adaptive image était désactivé :

<figure class="ms-thumbnail ms-thumbnail-left">

<a href="-partners-in-italy-.html" rel="bookmark">

<img class="spip_logo spip_logos" alt=""
src="local/cache-gd2/3b/0dd2602c9dc6cac6a25e3616b57d0b.png?1491516639"
width="1000" height="625">

</a>

</figure>

Ce que j’ai essayé :

-Image du drapeau italien en gif, jpg et png, générée depuis un svg : ne
fonctionne pas

-Image du drapeau italien au format png téléchargé depuis wikimedia :
https://upload.wikimedia.org/wikipedia/en/thumb/0/03/Flag_of_Italy.svg/1500px-Flag_of_Italy.svg.png
: ne fonctionne pas

-Renommage des images qui ne fonctionnent pas en utilisant le nom d’une
image qui fonctionne : ne fonctionne pas

-Test de nombreuses images au format gif, jpg, png, de source et de
taille diverse : fonctionne

-Image du drapeau italien avec l’insigne au format png sur wikimedia :
https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Civil_Ensign_of_Italy.svg/1500px-Civil_Ensign_of_Italy.svg.png
: ca fonctionne

-Suppression de l’insigne sur cette même image via photoshop : *ça
fonctionne*

Le cache de SPIP a bien entendu été désactivé durant l’ensemble de ces
tests.

Donc au final, j’ai une solution qui fonctionne, mais je serais *très
curieux* de connaitre la source du problème !

-Frédéric

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