[spip-dev] un logo de rubrique trop gros plante spip ???

spip 2.1.11 et 2.1.12

après création d’une nouvelle rubrique, l’administrateur a voulu lui attacher un logo.
Se trompant de fichier, il a pris un fichier d’environ 900ko
ce qui a pris un certain temps et planté le téléchargement
Jusque là rien que de très habituel

Cependant, après cet incident

  1. accès à la nouvelle rubrique : la page est incomplète et n’affiche plus rien après le bloc infos
    la navigation dans les autres rubriques est aussi perturbée

  2. la page d’accueil du site web affiche un grand désert blanc

ça a pris quelque temps avant de trouver :

  • migration à la nouvelle version de spip (sans grand espoir j’avoue)
  • vérification de toutes les tables de la base (tout ok)

… finalement, c’est par FTP, en supprimant le fichier logo de la rubrique (/IMG/rub31.jpg) que tout est rentré dans l’ordre comme par miracle.

Pas envie ni le temps de reproduire le truc, mais si c’est reproductible, ça vaudrait le coup de prévoir un filet de protection…

Oui, c'est un problème que je croise parfois. Mais je doute que ce soit lié à SPIP.

- Sur l'Herbier, on charge des grosses et lourdes captures d'écran en logo d'article. Et ça se passe très bien.
- Sur exactement le même site, mais en local, ça m'a pété l'espace privé, exactement comme tu le décris. Mais sans endommager l'affichage du site public.
- Sur un autre site, on a des pages blanches en front dès qu'on charge une image (logo ou doc). Il n'est plus possible d'éditer le logo ou l'image et seule la suppression par FTP du fichier rétablit le site. Je ne me souviens plus si l'espace privé en souffre davantage. La solution a été de brider l'upload, encore plus que dans ma trousse :
https://github.com/tetue/tetue_trousse/blob/master/tetue_trousse_options.php
- Rien à signaler sur d'autres sites à gros médias.

-- romy

salut,
pour moi c’est arrivé plusieurs fois que des rédacteurs mettent des images trop grosses et ça plante le site de la manière que tu décris, parfois une page blanche… il faut aller sur le serveur pour juste réduire l’image (que ce soit un logo ou un doc)
la dernière fois avec une image de 6Mo…
mais la première erreur n’est-elle pas de ne pas mettre de frein (en limitant la taille des images téléchargées, cf. couteau kiss par exemple) ?

Hello,

Pas envie ni le temps de reproduire le truc, mais si c'est
reproductible, ça vaudrait le coup de prévoir un filet de protection...

C'est reproductible à tous les coups : c'est GD2 qui plante sans rendre la main à php quand il essaye de redimensionner une image trop grosse, et du coup spip ne peut rien y faire.

J'ai réussi des fois à ravoir un site en configurant pour redimensionner les images par ImageMagick au lieu de GD2, mais il faut qu'il soit installé (si je me souviens bien il plante aussi, mais de manière moins violente, ce qui fait que l'image est simplement laissée telle quelle).

En principe il y a un filet, quand on configure le redimensionnement il teste la taille maximale d'image qu'il arrive à redimensionner. Mais des fois les mailles sont un peu trop lâches ...

  /v

On peut par exemple rajouter ceci dans le fichier mes_options.php :
if (!defined(’_LOGO_MAX_SIZE’)) define(’_LOGO_MAX_SIZE’,100); // Poids max des logos
if (!defined(’_IMG_MAX_SIZE’)) define(’_IMG_MAX_SIZE’,3000); // Poids max des images

... Et le couteau suisse :wink:

Pat

Bonjour,

Puisque l'interface d'activation GD2 affiche bien la taille max possible,
ne seait-il pas possible d'ajouter automatiquement la génération des
define dans un spip_mes_options.php (automatiquement placé dans extensions pour ne pas briser les fonctionnements actuels ?):
if (!defined('_LOGO_MAX_SIZE')) define('_LOGO_MAX_SIZE',xxGD2); // Poids max des logos
if (!defined('_IMG_MAX_SIZE')) define('_IMG_MAX_SIZE',xxGD2); // Poids max des images

Ça n'est pas le problème : lorsqu'une image a une taille supérieure à la limite détectée, SPIP a le bon goût de s'en apercevoir et de ne pas tenter une opération qui va échouer.
Le problème est que cette limite est un peu optimiste et il arrive qu'une image plante avec une taille inférieure à la limite calculée.
Une décote de 10% sur le calcul a été appliqué dans SPIP3, a voir si cela va mieux en pratique.

Cédric

super !
à suivre...
;o)

Effectivement, c'est encore plus efficace...
Bravo !
Yx

PS mais qu'il est difficile, si l'on n'est pas core-dev
de trouver toutes ces subtilités dans notre SPIP.
Merci aux experts de continuer à nous y instruire !

désormais intégré ici : http://www.spip.net/fr_article5448.html

et vient compléter, du coup, http://www.spip.net/fr_article4644.html
(présente depuis mars 2010)

Bonjour,

Bizarre de nommer une variable de *Poids* (weight) sous un intitulé de /Dimension/ (size).

J'aurais compris Size en Megapixels, mais pas en kilo-octets.

Surtout que je plante GD2 sous Spip 2.1.1x avec une image de grande taille (10 Mpx) mais de faible poids (690 ko) ...

2011/12/15 Stéphane Santon <m.spiprezo@team-santonum.com>

Surtout que je plante GD2 sous Spip 2.1.1x avec une image de grande taille (10 Mpx) mais de faible poids (690 ko) …

Il faut considérer le poids une fois décompressé, qui grandit forcément avec le nombre de pixels.

Le poids une fois décompressé...
est-ce que le rédacteur moyen connaît ça pour les documents qu'il téléverse ?

Si c'est en décompressé, c'est une fonction linéaire du nombre de pixels (32 bits ou 4 octets par point ?).
L'utilisateur connaissant la taille en pixels de son image, pourquoi ne pas clairement limiter en pixels ??
Il saurait alors la vérifier, la réduire, ...

C'est la taille en nombre de Px qui compte dans l'histoire, le poids n'a rien à y faire.

Cédric

Bonjour,

C'est la taille en nombre de Px qui compte dans l'histoire, le poids n'a rien à y faire.

"Ben oui, c'est qu'est-ce que j'dis" ! (c) Pause Café 1981

Alors pourquoi limite-t-on les rédacteurs par leurs images en *ko* ??

Surtout si SPIP vérifie la taille (le poids) a posteriori du chargement ??

Bonjour,

C'est la taille en nombre de Px qui compte dans l'histoire, le poids n'a rien à y faire.

"Ben oui, c'est qu'est-ce que j'dis" ! (c) Pause Café 1981

Alors pourquoi limite-t-on les rédacteurs par leurs images en *ko* ??
_LOGO_MAX_SIZE - SPIP
Surtout si SPIP vérifie la taille (le poids) a posteriori du chargement ??

Il y a les constantes _LOGO_MAX_WIDTH et _LOGO_MAX_HEIGHT aussi, non ?
La taille limitée en poids d'une image, pour moi administrateur, à l'avantage de limiter l'utilisation de mon espace d'hébergement.
L'attrait : empêcher un rédacteur de charger les photos sorties tout droit de son APN à 16 millions de pixels…

PS : Il y a depuis ce matin, 2 articles à ce sujet en proposition de publication :
http://www.spip.net/ecrire/?exec=articles&id_article=5451
http://www.spip.net/ecrire/?exec=articles&id_article=5452

dès que quelqu'un aura écrit l'intitulé exact qui convient pour
définir ce terme (taille ?, poids ?, volume ?), son expression
(kilo-octets ?, kilo-pixels ?, méga-pixels_divisés_par_1024 ?)
et que ce sera compréhensible par le commun des rédacteurs qui
n'a sous les yeux qu'un fichier avec une taille/poids indiquée
en octets, nul doute que ce sera intégré à la doc.