image_reduire

Bonsoir à tous,

J’ai un soucis avec image_reduire. Sur mon sommaire je liste les 4 derniers articles parus dans ma rubrique Portfolio. J’utilise une boucle DOCUMENTS couplé à la boucle ARTICLES pour avoir une dernière image.

Voici le code:

<BOUCLE_rubrique_portfolio(RUBRIQUES){id_rubrique=3}><BOUCLE_article(ARTICLES){branche} {par date} {inverse} {0,4} {doublons}>

Projet. #TITRE

Date. [(#DATE|jour)][.(#DATE|mois)][.(#DATE|annee)]
Domaine. #TITRE
[(#ID_ARTICLE|concat{'. ',#TYPE}|unique|supprimer_numero). ]#TITRE
536}{inverse}{0,1}>

</BOUCLE_article></BOUCLE_rubrique_portfolio>

Et vous pouvez voir donc le ce bout de code: [(#FICHIER|image_reduire{536,0})]
Lors de mon affichage, lorsque j’ai une image verticale, elle a les attributs d’une image de largeur max 536px mais l’image utilisée est l’image original qui fait plus de 536px de largeur.

Sinon lorsque c’est une image horizontale il n’y a pas e soucis. C’est l’image générée par GD2 qui est affichée…

Est-ce que j’ai mal écrit quelque chose qq part? Ou suggestion, est-ce par rapport à un manque de mémoire allouée?

Merci par avance pour vos réponses.

Teddy

Je ne suis pas sur du tout que le filtre image_reduire soit compatible avec la
balise #FICHIER. La balise fichier renvoie le nom du fichier image, alors que le
filtre image_reduire ne s'applique que les balise #LOGO_XXX car celles-ci donne
en retour une syntaxe HTML <img src="..." />.

J'espère avoir été assez clair.

Xavier BUROT
http://xebiaut.free.fr

Selon Payet Teddy <teddy.payet@gmail.com>:

Bonsoir à tous,

J'ai un soucis avec image_reduire. Sur mon sommaire je liste les 4
derniers articles parus dans ma rubrique Portfolio. J'utilise une
boucle DOCUMENTS couplé à la boucle ARTICLES pour avoir une dernière
image.

Voici le code:

<BOUCLE_rubrique_portfolio(RUBRIQUES){id_rubrique=3}><BOUCLE_article
(ARTICLES){branche} {par date} {inverse} {0,4} {doublons}><div
class="post">
        <h1><a href="#URL_ARTICLE" title="lien"><span
class="titre_projet">Projet.&nbsp;</span>#TITRE</a></h1>
        <span class="post_date">Date. </span>[(#DATE|jour)][.(#DATE|mois)]
[.(#DATE|annee)]<br />
        <B_rubrique_article><span class="post_categorie">Domaine. </
span><BOUCLE_rubrique_article(HIERARCHIE){id_article}{", "}
{id_rubrique!==3}>#TITRE</BOUCLE_rubrique_article><br /></
B_rubrique_article>
        <B_motscles_article><BOUCLE_motscles_article(MOTS){id_article}
{par titre}{", "}>[<span class="post_outils">(#ID_ARTICLE|concat{'.
',#TYPE}|unique|supprimer_numero). </span>]#TITRE</
BOUCLE_motscles_article><br /></B_motscles_article>
        <BOUCLE_vignettes_article(DOCUMENTS){id_article}{par date}
{largeur>536}{inverse}{0,1}><div class="entree_texte"><a
href="#_article:URL_ARTICLE" title="#_article:TITRE">[(#FICHIER|
image_reduire{536,0})]</a></div></BOUCLE_vignettes_article>
        </div>

</BOUCLE_article></BOUCLE_rubrique_portfolio>

Et vous pouvez voir donc le ce bout de code: [(#FICHIER|image_reduire
{536,0})]
Lors de mon affichage, lorsque j'ai une image verticale, elle a les
attributs d'une image de largeur max 536px mais l'image utilisée est
l'image original qui fait plus de 536px de largeur.

Sinon lorsque c'est une image horizontale il n'y a pas e soucis.
C'est l'image générée par GD2 qui est affichée...

Est-ce que j'ai mal écrit quelque chose qq part? Ou suggestion, est-
ce par rapport à un manque de mémoire allouée?

Merci par avance pour vos réponses.

Teddy

Selon la doc officielle, ça n’a pas l’air de poser plus de problème…
http://www.spip.net/fr_article3327.html
http://www.spip.net/fr_article901.html

|image_reduire{largeur,hauteur} permet de forcer une taille maximale d’affichage des images et des logos.

Ce filtre s’utilise par exemple sur un logo d’article de la façon suivante :
[(#LOGO_ARTICLE|right||image_reduire{130})]

Dans cet exemple, logo de l’article apparaît aligné à droite, à une taille maximale de 130 pixels.

Depuis [SPIP 1.8.2], ce filtre peut prendre deux arguments : largeur et hauteur. Si l’un de ces deux arguments est égal à 0, SPIP ne tient compte que de l’autre et calcule cette dimension en conservant les proportions de l’image. De plus, ce filtre s’applique aussi à la balise #TEXTE et ce sont alors toutes les images que le rédacteur introduit dans le texte grâce aux raccourcis SPIP qui sont alors réduites.

Ainsi, par exemple,
[(#TEXTE|image_reduire{600,0})]

affiche toutes les images insérées dans le fil du texte à une largeur maximale de 600 pixels. Cela permet de préserver la mise en page même sans que le rédacteur ait à se soucier de la taille des images qu’il télécharge sur le site.

NB. Si l’option « création de vignettes » est activée dans la configuration du site, ces logos réduits seront des fichiers d’images spécifiques calculés automatiquement par le serveur (idéalement, avec l’extension GD2 installée sur le serveur), pour les formats acceptés par le serveur (avec GD2, habituellement, les formats JPG et PNG). Sinon, c’est une version complète de l’image qui est affichée, mais avec une taille d’affichage fixée directement en HTML.

Donc en relisant cela, je ne vois pas mon soucis. Surtout que ça marche sur certaines images mais pas sur d’autres…

Le 02/08/07, Xavier BUROT <xebiaut@free.fr> a écrit :

Je ne suis pas sur du tout que le filtre image_reduire soit compatible avec la
balise #FICHIER. La balise fichier renvoie le nom du fichier image, alors que le
filtre image_reduire ne s’applique que les balise #LOGO_XXX car celles-ci donne
en retour une syntaxe HTML .

J’espère avoir été assez clair.

Xavier BUROT
http://xebiaut.free.fr

Selon Payet Teddy < teddy.payet@gmail.com>:

Bonsoir à tous,

J’ai un soucis avec image_reduire. Sur mon sommaire je liste les 4
derniers articles parus dans ma rubrique Portfolio. J’utilise une
boucle DOCUMENTS couplé à la boucle ARTICLES pour avoir une dernière
image.

Voici le code:

<BOUCLE_rubrique_portfolio(RUBRIQUES){id_rubrique=3}><BOUCLE_article
(ARTICLES){branche} {par date} {inverse} {0,4} {doublons}>

Projet. #TITRE

Date. [(#DATE|jour)][.(#DATE|mois)] [.(#DATE|annee)]
Domaine. #TITRE
[(#ID_ARTICLE|concat{'. ',#TYPE}|unique|supprimer_numero). ]#TITRE
536}{inverse}{0,1}>

</BOUCLE_article></BOUCLE_rubrique_portfolio>

Et vous pouvez voir donc le ce bout de code: [(#FICHIER|image_reduire
{536,0})]
Lors de mon affichage, lorsque j’ai une image verticale, elle a les
attributs d’une image de largeur max 536px mais l’image utilisée est
l’image original qui fait plus de 536px de largeur.

Sinon lorsque c’est une image horizontale il n’y a pas e soucis.
C’est l’image générée par GD2 qui est affichée…

Est-ce que j’ai mal écrit quelque chose qq part? Ou suggestion, est-
ce par rapport à un manque de mémoire allouée?

Merci par avance pour vos réponses.

Teddy

Les articles que tu cites parlent des filtres en général. Pour ce filtre en
particulier c'est différent. Pour ce qui est d'être accolé à la balise #TEXTE,
cela permet à toute les images contenues dans le texte de ne pas dépasser la
largeur indiquer dans image_reduire.

Moi je te conseillerais d'utiliser la syntax suivante : au lieu de ton appel à
#FICHIER

[(#LOGO_DOCUMENT||image_reduire(300,0)|extraire_attribut{src})]

Xavier BUROT
http://xebiaut.free.fr

Selon Teddy Payet <teddy.payet@gmail.com>:

Selon la doc officielle, ça n'a pas l'air de poser plus de problème...
Traitement automatisé des images - SPIP
Les filtres de SPIP - SPIP

> |image_reduire{largeur,hauteur} permet de forcer une taille maximale
> d'affichage des images et des logos.
>
> Ce filtre s'utilise par exemple sur un logo d'article de la façon suivante
> :
> [(#LOGO_ARTICLE|right||image_reduire{130})]
>
> Dans cet exemple, logo de l'article apparaît aligné à droite, à une taille
> maximale de 130 pixels.
>
> Depuis [SPIP 1.8.2], ce filtre peut prendre deux arguments : largeur et
> hauteur. Si l'un de ces deux arguments est égal à 0, SPIP ne tient compte
> que de l'autre et calcule cette dimension en conservant les proportions de
> l'image. De plus, ce filtre s'applique aussi à la balise #TEXTE et ce sont
> alors toutes les images que le rédacteur introduit dans le texte grâce aux
> raccourcis SPIP qui sont alors réduites.
>
> Ainsi, par exemple,
> [(#TEXTE|image_reduire{600,0})]
>
> affiche toutes les images insérées dans le fil du texte à une largeur
> maximale de 600 pixels. Cela permet de préserver la mise en page même sans
> que le rédacteur ait à se soucier de la taille des images qu'il télécharge
> sur le site.
>
> NB. Si l'option « création de vignettes » est activée dans la
> configuration du site, ces logos réduits seront des fichiers d'images
> spécifiques calculés automatiquement par le serveur (idéalement, avec
> l'extension GD2 installée sur le serveur), pour les formats acceptés par le
> serveur (avec GD2, habituellement, les formats JPG et PNG). Sinon, c'est
une
> version complète de l'image qui est affichée, mais avec une taille
> d'affichage fixée directement en HTML.
>

Donc en relisant cela, je ne vois pas mon soucis. Surtout que ça marche sur
certaines images mais pas sur d'autres...

Le 02/08/07, Xavier BUROT <xebiaut@free.fr> a écrit :
>
> Je ne suis pas sur du tout que le filtre image_reduire soit compatible
> avec la
> balise #FICHIER. La balise fichier renvoie le nom du fichier image, alors
> que le
> filtre image_reduire ne s'applique que les balise #LOGO_XXX car celles-ci
> donne
> en retour une syntaxe HTML <img src="..." />.
>
> J'espère avoir été assez clair.
>
> Xavier BUROT
> http://xebiaut.free.fr
>
>
> Selon Payet Teddy <teddy.payet@gmail.com>:
>
> > Bonsoir à tous,
> >
> > J'ai un soucis avec image_reduire. Sur mon sommaire je liste les 4
> > derniers articles parus dans ma rubrique Portfolio. J'utilise une
> > boucle DOCUMENTS couplé à la boucle ARTICLES pour avoir une dernière
> > image.
> >
> > Voici le code:
> >
> > <BOUCLE_rubrique_portfolio(RUBRIQUES){id_rubrique=3}><BOUCLE_article
> > (ARTICLES){branche} {par date} {inverse} {0,4} {doublons}><div
> > class="post">
> > <h1><a href="#URL_ARTICLE"
> title="lien"><span
> > class="titre_projet">Projet.&nbsp;</span>#TITRE</a></h1>
> > <span class="post_date">Date.
> </span>[(#DATE|jour)][.(#DATE|mois)]
> > [.(#DATE|annee)]<br />
> > <B_rubrique_article><span
> class="post_categorie">Domaine. </
> > span><BOUCLE_rubrique_article(HIERARCHIE){id_article}{", "}
> > {id_rubrique!==3}>#TITRE</BOUCLE_rubrique_article><br /></
> > B_rubrique_article>
> >
> <B_motscles_article><BOUCLE_motscles_article(MOTS){id_article}
> > {par titre}{", "}>[<span class="post_outils">(#ID_ARTICLE|concat{'.
> > ',#TYPE}|unique|supprimer_numero). </span>]#TITRE</
> > BOUCLE_motscles_article><br /></B_motscles_article>
> >
> <BOUCLE_vignettes_article(DOCUMENTS){id_article}{par date}
> > {largeur>536}{inverse}{0,1}><div class="entree_texte"><a
> > href="#_article:URL_ARTICLE" title="#_article:TITRE">[(#FICHIER|
> > image_reduire{536,0})]</a></div></BOUCLE_vignettes_article>
> > </div>
> >
> > </BOUCLE_article></BOUCLE_rubrique_portfolio>
> >
> > Et vous pouvez voir donc le ce bout de code: [(#FICHIER|image_reduire
> > {536,0})]
> > Lors de mon affichage, lorsque j'ai une image verticale, elle a les
> > attributs d'une image de largeur max 536px mais l'image utilisée est
> > l'image original qui fait plus de 536px de largeur.
> >
> > Sinon lorsque c'est une image horizontale il n'y a pas e soucis.
> > C'est l'image générée par GD2 qui est affichée...
> >
> > Est-ce que j'ai mal écrit quelque chose qq part? Ou suggestion, est-
> > ce par rapport à un manque de mémoire allouée?
> >
> > Merci par avance pour vos réponses.
> >
> > Teddy
> >
> >
>

J'ai vu hier soir en fait une solution. Les images qui n'étaient pas traitées par ce filtre alors que les autres oui ont en fait une taille maximale qui dépasse 2000pixels (je n'ai pas fait l'expérience pour trouver le nb de pixel max accepté par SPIP). Alors ce que j'ai fait, c'est de réduire la taille de mon fichier original à 1500 px et tout est rentré dans l'ordre avec [(#FICHIER|image_reduire{600,0})]...

Merci pour les réponses!

Teddy

Le 3 août 07 à 08:26, Xavier BUROT a écrit :

Les articles que tu cites parlent des filtres en général. Pour ce filtre en
particulier c'est différent. Pour ce qui est d'être accolé à la balise #TEXTE,
cela permet à toute les images contenues dans le texte de ne pas dépasser la
largeur indiquer dans image_reduire.

Moi je te conseillerais d'utiliser la syntax suivante : au lieu de ton appel à
#FICHIER

[(#LOGO_DOCUMENT||image_reduire(300,0)|extraire_attribut{src})]

Xavier BUROT
http://xebiaut.free.fr

Selon Teddy Payet <teddy.payet@gmail.com>:

Selon la doc officielle, ça n'a pas l'air de poser plus de problème...
Traitement automatisé des images - SPIP
Les filtres de SPIP - SPIP

|image_reduire{largeur,hauteur} permet de forcer une taille maximale
d'affichage des images et des logos.

Ce filtre s'utilise par exemple sur un logo d'article de la façon suivante
:
[(#LOGO_ARTICLE|right||image_reduire{130})]

Dans cet exemple, logo de l'article apparaît aligné à droite, à une taille
maximale de 130 pixels.

Depuis [SPIP 1.8.2], ce filtre peut prendre deux arguments : largeur et
hauteur. Si l'un de ces deux arguments est égal à 0, SPIP ne tient compte
que de l'autre et calcule cette dimension en conservant les proportions de
l'image. De plus, ce filtre s'applique aussi à la balise #TEXTE et ce sont
alors toutes les images que le rédacteur introduit dans le texte grâce aux
raccourcis SPIP qui sont alors réduites.

Ainsi, par exemple,
[(#TEXTE|image_reduire{600,0})]

affiche toutes les images insérées dans le fil du texte à une largeur
maximale de 600 pixels. Cela permet de préserver la mise en page même sans
que le rédacteur ait à se soucier de la taille des images qu'il télécharge
sur le site.

NB. Si l'option « création de vignettes » est activée dans la
configuration du site, ces logos réduits seront des fichiers d'images
spécifiques calculés automatiquement par le serveur (idéalement, avec
l'extension GD2 installée sur le serveur), pour les formats acceptés par le
serveur (avec GD2, habituellement, les formats JPG et PNG). Sinon, c'est

une

version complète de l'image qui est affichée, mais avec une taille
d'affichage fixée directement en HTML.

Donc en relisant cela, je ne vois pas mon soucis. Surtout que ça marche sur
certaines images mais pas sur d'autres...

Le 02/08/07, Xavier BUROT <xebiaut@free.fr> a écrit :

Je ne suis pas sur du tout que le filtre image_reduire soit compatible
avec la
balise #FICHIER. La balise fichier renvoie le nom du fichier image, alors
que le
filtre image_reduire ne s'applique que les balise #LOGO_XXX car celles-ci
donne
en retour une syntaxe HTML <img src="..." />.

J'espère avoir été assez clair.

Xavier BUROT
http://xebiaut.free.fr

Selon Payet Teddy <teddy.payet@gmail.com>:

Bonsoir à tous,

J'ai un soucis avec image_reduire. Sur mon sommaire je liste les 4
derniers articles parus dans ma rubrique Portfolio. J'utilise une
boucle DOCUMENTS couplé à la boucle ARTICLES pour avoir une dernière
image.

Voici le code:

<BOUCLE_rubrique_portfolio(RUBRIQUES){id_rubrique=3}><BOUCLE_article
(ARTICLES){branche} {par date} {inverse} {0,4} {doublons}><div
class="post">
                              <h1><a href="#URL_ARTICLE"

title="lien"><span

class="titre_projet">Projet.&nbsp;</span>#TITRE</a></h1>
                              <span class="post_date">Date.

</span>[(#DATE|jour)][.(#DATE|mois)]

[.(#DATE|annee)]<br />
                              <B_rubrique_article><span

class="post_categorie">Domaine. </

span><BOUCLE_rubrique_article(HIERARCHIE){id_article}{", "}
{id_rubrique!==3}>#TITRE</BOUCLE_rubrique_article><br /></
B_rubrique_article>

<B_motscles_article><BOUCLE_motscles_article(MOTS){id_article}

{par titre}{", "}>[<span class="post_outils">(#ID_ARTICLE|concat{'.
',#TYPE}|unique|supprimer_numero). </span>]#TITRE</
BOUCLE_motscles_article><br /></B_motscles_article>

<BOUCLE_vignettes_article(DOCUMENTS){id_article}{par date}

{largeur>536}{inverse}{0,1}><div class="entree_texte"><a
href="#_article:URL_ARTICLE" title="#_article:TITRE">[(#FICHIER|
image_reduire{536,0})]</a></div></BOUCLE_vignettes_article>
                              </div>

</BOUCLE_article></BOUCLE_rubrique_portfolio>

Et vous pouvez voir donc le ce bout de code: [(#FICHIER|image_reduire
{536,0})]
Lors de mon affichage, lorsque j'ai une image verticale, elle a les
attributs d'une image de largeur max 536px mais l'image utilisée est
l'image original qui fait plus de 536px de largeur.

Sinon lorsque c'est une image horizontale il n'y a pas e soucis.
C'est l'image générée par GD2 qui est affichée...

Est-ce que j'ai mal écrit quelque chose qq part? Ou suggestion, est-
ce par rapport à un manque de mémoire allouée?

Merci par avance pour vos réponses.

Teddy

Payet Teddy a écrit :

J'ai vu hier soir en fait une solution. Les images qui n'étaient pas traitées par ce filtre alors que les autres oui ont en fait une taille maximale qui dépasse 2000pixels (je n'ai pas fait l'expérience pour trouver le nb de pixel max accepté par SPIP). Alors ce que j'ai fait, c'est de réduire la taille de mon fichier original à 1500 px et tout est rentré dans l'ordre avec [(#FICHIER|image_reduire{600,0})]...

dans la config avancée de spip, la ou tu choisis le GD, il y a une jauge qui estime la taille maxi des images traitées.

PHP dispose d'un temps limité (par defaut 30s) et de memoire limitée (par defaut 8Mo) pour faire ce qu'il a a faire (ca depend du squelette et des filtres appliqué).
Ca depend donc aussi de la charge du serveur.

Peut etre qu'à 3h du mat sur un squelette simple, la fabrication de ton image de 2000px passera... l'inverse est vrai aussi.

@++

Justement, comme une grande partie des sites que je fais utilise de
grandes images, j'augmente systématique la taille de la mémoire. Ici
je l'ai mis à 16Mo... au lieu de 10Mo...
Cela n'a pas changé. Peut-être mettre 20 ou 32?...

Le 03/08/07, Stephane<stephane@rezo.net> a écrit :

Payet Teddy a écrit :
> J'ai vu hier soir en fait une solution. Les images qui n'étaient pas
> traitées par ce filtre alors que les autres oui ont en fait une
> taille maximale qui dépasse 2000pixels (je n'ai pas fait l'expérience
> pour trouver le nb de pixel max accepté par SPIP). Alors ce que j'ai
> fait, c'est de réduire la taille de mon fichier original à 1500 px et
> tout est rentré dans l'ordre avec [(#FICHIER|image_reduire{600,0})]...
>

dans la config avancée de spip, la ou tu choisis le GD, il y a une jauge
qui estime la taille maxi des images traitées.

PHP dispose d'un temps limité (par defaut 30s) et de memoire limitée
(par defaut 8Mo) pour faire ce qu'il a a faire (ca depend du squelette
et des filtres appliqué).
Ca depend donc aussi de la charge du serveur.

Peut etre qu'à 3h du mat sur un squelette simple, la fabrication de ton
image de 2000px passera... l'inverse est vrai aussi.

@++
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Teddy Payet a écrit :

Justement, comme une grande partie des sites que je fais utilise de
grandes images, j'augmente systématique la taille de la mémoire. Ici
je l'ai mis à 16Mo... au lieu de 10Mo...
Cela n'a pas changé. Peut-être mettre 20 ou 32?...

non, si tu as la main sur le php.ini, augmente le max_execution_time plutot.