[résolu] ImageCache - pas de sous-dossier imagecache , ou dossiers vides, ou images nulles

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
J’ai un problème avec imageCache en local sur windows XP
Je l’ai installé sans problème.
Si je crée un presset xxx, avant même d’avoir créé l’action, le preview me donne :
http://127.0.0.1:8081/drupal-6.9/sites/default/files/imagecache/xxx/imag...
Donc il ne trouve pas l'image exemple.
et en fait il ne m’a pas créé de sous répertoire xxx dans le répetoire imageCache.
Si je créé manuellement le répertoire xxx et que je mets manuellement dedans imagecache_sample.png , l’image disparait dès que je fais un edit du presset.

J’ai pensé à un problème de droit parce que si je fais un clique droit, propriété, sur le dossier files par exemple, je vois lecture seule. Mais en fait tous mes dossiers sur le PC sont comme ça et si je veux décocher cet attribut, ça n’a aucun effet.

Le module upload arrive à mettre des images dans le dossier files, alors les droits sont peut-être OK.

Et bien sur, je n’arrive à aucun résultat avec imageCache sur un champ image.

Quelqu'un peut-il m'aider?

Version de Drupal : 

Re-bonjour,
J'ai vu sur un document qu'il faut avoir clean URLs activé pour qu'imageCache fonctionne.
Après avoir franchi cette étape il y a du progrès.
A la création du presset, je crée bien un sous répertoire de ce nom dans le répertoire imagecache et je vois l'image sample. Après la création d'une action sur ce presset, le preview ne me donne plus l'image sample et effectivement elle a disparu du répertoire du nom du presset.
J'ai quand même essayé de créer un champ image dans un type de contenu et j'ai utilisé le presset en display, sous diverses formes. Pas de miracle.
Si je met en display l'image, elle s'affiche (dimensions d'origine).
Si je mets le presset, je n'obtiens rien.
Je ne suis pas au bout de mes peines.
Qui peut m'aider à clore ce chapitre?

Oui tout va bien de ce côté là.
En fait maintenant, quand je crée une page donc que j'upload effectivement une image, il me met
Meteo01.gif et Meteo01.gif.thumb.jpg dans files
et dans imagecache/vignette j'ai aussi Meteo01.gif, mais ça fait un octet et c'est vide.
En fait si je regarde le source de la page que j'affiche, j'ai bien cette vignette qui s'affiche, mais comme c'est invisible, je ne vois rien.
Donc mon problème maintenant est : pourquoi cela crée des vignettes vides?

Ça pourrait être intéressant d'aller voir les logs.

As-tu essayé avec des jpeg ?

En principe le .htaccess doit fonctionner même dans un sous répertoire. Il peut être pertinent quand même d'essayer de changer la directive Rewritebase pour indiquer le sous répertoire réel.

les jpeg, c'est pareil

le log donne des erreurs si je ne change pas le rewriteBase
et je n'ai rien dans mon répertoire sous imagecache

le log est OK si je mets
# RewriteBase /
RewriteBase /CMS/cmd4/
et j'ai ces fameuses vignettes vides

les erreurs du log sont les suivantes:
• warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 158.
• warning: imagealphablending(): supplied argument is not a valid Image resource in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 162.
• warning: imagesavealpha(): supplied argument is not a valid Image resource in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 163.
• warning: imagecolorallocatealpha(): supplied argument is not a valid Image resource in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 186.
• warning: imagefill(): supplied argument is not a valid Image resource in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 187.
• warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\all\modules\imageapi\imageapi_gd.module on line 69.

Salut,

Pour info... Je ne sais pas si ça pourra t'aider mais au cas où. J'ai longtemps cru aussi qu'imagecache ne marchait pas chez moi en local. Mais je n'en avais pas bien compris le fonctionnement !

Quand tu uploade une image, les images du preset ne sont pas encore créées. C'est normal ! Les images du preset ne sont créées qu'à la demande, c'est à dire, quand tu veux qu'un contenu les affiches.

Je m'explique : crée une view. Tu verras que le champs correspondant à ton preset est disponible. Quand tu afficheras cette vue, comme par miracle : les imagettes seront créées et affichées.

Voilà. J'espère que je suis clair !

Stéphane.

Mais j'ai créé un type de contenu avec un champ image et un display du champ
vignette image.
Si je crée un contenu d'après ce type de contenu, je pense que ça revient au même que ton exemple de view.
Dis moi si je me trompe.
Mais là, je fatigue, je remprendrai ça demain.

Non ! Si tu affiches ton champ image + le champ vignette_image, tu ne vas pas chercher ton preset, donc, les images du preset ne sont pas créées (de ce que j'ai pu comprendre).

Le mieux est vraiment que tu installes le module "view" et que tu créées une nouvelle vue. Dans la liste des champs disponibles, tu verras un champ qui portera le nom de ton preset. Ajoutes le et lances ta vue, tu verras !

Stéphane.

Bonsoir,

Aah!

"Les images du preset ne sont créées qu'à la demande, c'est à dire, quand tu veux qu'un contenu les affiches."

Quelques heures de perdues à la recherche d'un éventuel bug de ce module ... et non!
Le concept du module imagecache synthétisé par Stef, a fait des heureux !

Merci.

Ces logs montrent que la tentative de création a bien lieu.

As-tu défini correctement les dimensions pour le resize des tes images ? Particulièrement le champ 'Picture Maximum Dimensions' ? Ce type de champs dans Imagecache demande une entrée de la forme 150X120. Si tu n'as entré qu'une valeur, il est fort possible que le problème vienne de là.

admin. site building, imagecache :
j'ai créé un presset,
en premier lieu, il ne demande que le nom,
puis j'ai rentré une action, j'ai choisi scale pour garder mon ratio
Là, j'ai fait divers essais, mais actuellement j'ai largeur 120 et rien dans la hauteur, et j'accepte les images plus grande que l'originale.

Il n'y a pas de 'Picture Maximum Dimensions' à ce niveau là.
Parles-tu de la création du content type, quand on crée un champ?

Non, je parle bien des propriétés du preset.

Essaie de saisir une valeur pour la hauteur. Je pense que le fait que tu puisses ne rien saisir dans ce champ est une erreur ; il me semble obligatoire.

Non ce n'est pas une erreur de ne saisir qu'une seule dimension vu que je veux garder le ratio (scale).
J'ai effacé mes 120 dans la largeur et j'ai mis 100 dans la hauteur, pour voir ce que ça donne.
Et ça fonctionne!
Je suis retournée mettre 100 en largeur et rien en hauteur, et c'était aussi OK.
C'est toujours confus quand on essaie 36'000 choses. Mais il me semble qu'il y avait un espace devant ma largeur. Si c'est le cas, cela explique que imageCache n'arrivait pas à faire le resize. Et mes essais d'avant qui devaient être corrects à ce niveau là rencontraient d'autres problèmes et n'arrivaient même pas au stade du resize.
Je vais faire plusieurs essais en cours de journée et si tout me semble correct, je ferai une petite récap et je clos le post avant ce soir.
Un grand merci pour l'aide apportée. On a avancé d'une façon toujours plus pointue et j'en suis reconnaissante.

J'ai recréé un presset, un content type et un contenu.
ça fonctionne très bien.
Mais quand on connait encore mal CKK et qu'on veut tester imagecache, je conseille dans le display field du content type, de ne rien mettre dans le teaser et de mettre "nomDuPresset image linked to image" dans full node.
C'est comme ça qu'on se rend le mieux compte que ça fonctionne.

L'image redimmensionnée porte le même nom que l'image de départ, mais elle se trouve dans un dossier portant le nom du presset. Exemple :
C:\Program Files\EasyPHP 3.0\www\CMS\cmsd4\sites\default\files\imagecache\vignette\
Dans le dossier files, on voit l'image d'origine puis une miniature qui se fait automatiquement (ex Mustang06.gif.thumb.jpg) par un des modules image (je ne sais pas lequel) mais en tout cas pas par imagecache.

J'ai retesté avec une vue et c'est aussi OK.

En résumé

Ne pas oublier d'activer le module clean URLs

L'image redimmensionnée ne se crée que lorsque qu'on la demande la première fois et pas avant (soit via un contenu soit via une vue)

Si on n'est pas à la base du site, il faut nodifier le htaccess qui est dans le dossier de départ drupal, la ligne RewriteBase
exemple si drupal se trouve dans un dossier CMS : RewriteBase /CMS/

Lire la doc car l'intuitif n'est pas toujours suffisant

Prendre du temps pour tester et comprendre

Bonjour,
J'ai exactement le même problème que sahuni :
" A la création du presset, je crée bien un sous répertoire de ce nom dans le répertoire imagecache et je vois l'image sample. Après la création d'une action sur ce presset, le preview ne me donne plus l'image sample et effectivement elle a disparu du répertoire du nom du presset. "

Mais je n'arrive pas à résoudre le problème alors que j'ai déjà réussis à utiliser imagecache sur une autre configuration.

Ma config :
Drupal 6
imagecache 2.X dev
Wamp server

Merci.

Salut,

J'ai constaté que sur le site local les actions des pressets ne fonctionnent pas avec les bétas 0.6,0.7,0.8,0.9. Par contre en site de production les pressets fonctionnent parfaitement (mon site est sur OVH). Ma conclusion c'est que le serveur WAMP en local qui a quelques que problème et les quels ?

Si tu as les actions positives des pressets c'est à dire que l'image sample est visible, correcte et le sous-répertoire de /imagecache est bien créé. Ca sera OK pour le serveur de production.

A+
NTH
http://www.realcrea.fr

Bonsoir !
Tout pareil ici !
Bonjour
En effet, j'ai installé lightbox2 avec imagefield lui même relié à imagecache... en suivant le tuto de biboo.net.
Jusque là ça va, sauf que mes images ne s'affichent pas. Vu que j'ai activé le champ description, lui s'affiche et permet de lancer le slideshow... mais bon c'est très peu esthétique !
Alors j'ai suivi les conseils de lesbazeilles , viré htacesse du dossier files... mais... rien...
Normal que ça ne s'affiche pas mes images d'imagecache ne se mettent pas dans mes sous-dosiers imagecache mais dans files... Une idée?
Merci

Salut Véro,
je viens de refaire une installation en local, sur un site de test, qui n'avait rien du point de vue images et tout fonctionne bien.
J'ai installé les versions actuelles de :
http://drupal.org/project/imageapi/ (j'ai utilisé GD2)
http://drupal.org/project/imagecache
http://drupal.org/project/cck
http://drupal.org/project/filefield
http://drupal.org/project/imagefield
C'est tout ce dont on a besoin. Donc tu peux noter que dans ce contexte tu n'as pas besoin du module image, ce qui simplifie la compréhension des résultats.

Déjà au moment où tu crées ton presset, .../admin/build/imagecache, tu dois voir apparaitre l'image de test drupal avec le chemin correct. En fait c'est à ce moment là, que le module crée le sous-répertoire du nom de ton presset, vide par exemple ...sites/defaut/imagecache/presset1 si tu as nommé ton presset presset1. L'histoire de l'image de test (imagecache_sample.png) est assez trompeuse, parce qu'en fait elle n'est pas créée dans chaque sous-répertoire d’imagecache.

Ensuite, j'ai créé un content type avec un champ pour l'upload de l'image, et pour le display, j'ai indiqué le nom de mon presset.

J'ai créé un noeud avec une image.
Au moment où je sauve le noeud, l'image à la taille originale est créée dans le répertoire .../sites/default/files.
Au moment où je vais voir ce nœud pour la première fois, imagecache crée l'image à la dimension voulue dans le sous-répertoire imagecache du nom du presset.

Je pense que l'explication est claire.
Dis-moi à quelle étape ça cafouille chez toi.

Bonjour,

Ce que je viens de constater

-URL non simplifiée disabled (c'est grisé)
-Gestion des fichiers privées
-ImageCache se déclenche par le biais d'une vue

J'attends de tester sur Free (pb de Mysql :() car pour le moment cela marche en local.

Merci

Bonjour,

Mes presets sont bien crées au bon endroit dans le répertoires /imagecache/etc....

Cependant impossible à afficher à l'écran??? Mes droits sont bon....

A votre avis cela vient d'URL non simplifiée? => Je ne peux pas l'activer car je suis sur Free.