Jump to content

[RESOLU] Gestion des images dans le répertoire img/p


unanim

Recommended Posts

Bonjour,

Sur l'un des sites de mes clients, contenant près de 2500 produits avec les images qui vont avec, une régénération des miniatures s'est soldée par une erreur du serveur durant la procédure avec pour résultat la perte d'environ 40% des images produits.

J'ai tout remis manuellement mais je m'interroge sur la présence de sous-répertoires vides dans le dossier img/p.

 

Si j'ai bien compris le process, PrestaShop attribue un nom d'image aléatoire de 1 à 4 chiffres lorsqu'on importe une image produit.

L'image originale va par exemple se placer sous le nom 2565.jpg dans un dossier img/p/2/5/6/5

Dossier qui contiendra ensuite les miniatures.

 

Hors pour ce client, j'ai de nombreux dossiers vide, ex. img/p/2/6/7

 

Je m'inquiète de savoir si cela peut correspondre à des bugs du système, auquel cas, lors de la création d'une fiche produit avec une image, celle ci ne pourrait plus prendre un chemin déjà existant mais vide.

 

Si c'est le cas, vu le nombre de dossiers vides dans les sous-répertoires img/p, cela peut finir par poser problème.

Peut-on supprimer simplement les dossiers vide (via FTP) ou cela necessite t'il d'intervenir dans la BDD?

 

Ou je m'inquiète pour rien?

 

Si quelqu'un connait le sujet... merci.

Edited by unanim (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Si j'ai bien compris le process, PrestaShop attribue un nom d'image aléatoire de 1 à 4 chiffres lorsqu'on importe une image produit.

Pas du tout. Le nom du fichier image généré par PrestaShop correspond à un truc genre 1234_5678.jpg (soit 1234 : l'ID du produit et 5678 l'ID de l'image). Rien n'est laissé au hasard.

 

Ensuite si vous utilisez la nouvelle gestion des images, PrestaShop les déplacent dans des sous répertoires correspondant à l'ID (ex. 1234 -> img/p/1/2/3/4/1234.jpg).

 

Si le dossier est vide, c'est peut-être qu'il n'y a pas d'image pour votre produit, ou que PrestaShop n'a pas les droits nécessaires pour y copier les images...

 

Je vous invite à consulter la documentation concernant les images pour que cela soit plus clair...

Link to comment
Share on other sites

Bonjour,

Merci de ces réponses. Nous utilisons bien le nouveau système de gestion des images, vu qu'elles sont toutes dans img/p

Pour Ukoo:

Si le dossier est vide, c'est peut-être qu'il n'y a pas d'image pour votre produit, ou que PrestaShop n'a pas les droits nécessaires pour y copier les images...

Toutes les fiches produits ont bien une image. Donc quid des sous-dossiers img/p vides?

Peut-être reliquat de la maj d'une ancienne version avec passage au nouveau système de gestion des images?

Link to comment
Share on other sites

Toutes les fiches produits ont bien une image. Donc quid des sous-dossiers img/p vides?

Et qu'en est-il de la deuxième partie de ma suggestion ?

[...]PrestaShop n'a pas les droits nécessaires pour y copier les images...

 

Essayez de passer tout le répertoire img/, ainsi que ses fichiers et sous dossier (récursif) en CHMOD 777, activez l'affichage des erreurs dans le fichier de config, et relancez votre ré-génération d'images...

Link to comment
Share on other sites

Bonjour Ukoo,

Les droits sont en 705, c'est semble t'il le mode courant chez OVH.

Je vais les passer en 777 mais j'ose pas relancer une ré-génération parce que ça m'a pris des heures pour recréer manuellement les miniatures...

 

Et pour les logs, ils étaient activé (on parle bien de outils -> log?) mais rien d'affiché après la régénération qui ne s'est pas terminée correctement.

Edited by unanim (see edit history)
Link to comment
Share on other sites

PrestaShop recommande bien du 777 dans tout le répertoire img/ et récursif. Je vous conseille donc de suivre cette recommandation qui pourrait bien régler votre problème.

 

Pour l'affichage des erreurs, ceci n'a rien à voire avec Outils > logs. Il s'agit d'éditer le fichier /config/config.inc.php, et de passer les lignes :

 

@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);

 

à

 

@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Utilisez l'affichage des erreurs uniquement pour du debug, car si votre boutique est en production et comporte des erreurs en front, vos client pourraient se trouver nez à nez avec des lignes d'erreur sur les pages concernées... et ça c'est pas très rassurant pour un client ;)

Edited by Ukoo - Guillaume (see edit history)
Link to comment
Share on other sites

Non, j'ai pas trouvé l'origine des erreurs. On les a corrigées manuellement avant de ré-installer le site chez le nouvel hébergeur et il n'y a pas de raison pour qu'on retente une régénération des images.

 

Sauf qu'après la remise en service de la boutique on s'aperçoit que certaines images d'une catégorie manquent encore. Et cette fois même les img/temp correspondantes ont disparues.

 

Dans le répertoire img/p, certains dossiers comme 1/5/5/1 manquent alors que les pages produits y font référence (ex. une page appelle l'image 1151.jpg mais pas de répertoire correspondant)

 

On a tout remis manuellement.

 

Y a un gremlin dans la boutique ;-)

 

Après un contrôle de la BDD avec les outils de PhpMyAdmin on a trouvé quelques erreurs sur les tables.

 

A la fin de l'opération la BDD est passée de 47mo à 15mo.

 

Et aujourd'hui, autre dysfonctionnement: on ne reçoit plus les mails de gestion des nouvelles commandes???

Edited by unanim (see edit history)
Link to comment
Share on other sites

...et il n'y a pas de raison pour qu'on retente une régénération des images.

Au contraire. Une fois que les paramètres sont correctement configurés, ça devient très facile de résoudre les problèmes liés aux images en lançant une simple ré-génération...

 

Et cette fois même les img/temp correspondantes ont disparues.

Vous avez changé de serveur (donc transfert FTP ?). Il m'est déjà arrivé souvent que les fichiers du dossier tmp/ ne soient pas récupérés lors des transferts FTP, donc je dirai que c'est "normal". D'autant plus que ce dossier est utiliser par PrestaShop de manière "temporaire" et que donc aucune image n'est cherché directement dans ce dossier.

 

Dans le répertoire img/p, certains dossiers comme 1/5/5/1 manquent alors que les pages produits y font référence (ex. une page appelle l'image 1151.jpg mais pas de répertoire correspondant)

En front, les liens des images ne font pas références aux répertoires (ex. 1/5/2/3/1523.jpg) puisque les urls sont réécritent.

Ces dossiers sont recréés automatiquement lors de la ré-génération, dès lors que l'image d'origine n'est pas manquante.

 

A la fin de l'opération la BDD est passée de 47mo à 15mo.

C'est effectivement une bonne chose, même si je vois mal le rapport avec vos images manquantes.

 

Et aujourd'hui, autre dysfonctionnement: on ne reçoit plus les mails de gestion des nouvelles commandes???

Je vous conseille d'ouvrir un autre topic pour ceci. Sans doute une mauvaise config. due à votre changement d'hébergeur.

Link to comment
Share on other sites

D'autant plus que ce dossier est utiliser par PrestaShop de manière "temporaire" et que donc aucune image n'est cherché directement dans ce dossier.

Rassurant, mais PS utilise ce répertoire pour les images miniatures qui accompagne la liste des produits d'une catégorie dans le B.O.

 

Pour les répertoires disparus, effectivement votre explication me semble logique. Donc, d'abord corriger toutes les erreurs (images manquantes) et ensuite on essaiera une régénération. Mais pas tout de suite... donc vais mettre ce post en "résolu".

 

Pour le reste (les mails) il semblerait que les serveurs d'OVH fassent des leurs... Les 2 boutiques en Presta ont été transférées il y a 2 semaines. Le pb mail concerne les 2 depuis hier seulement.

Edited by unanim (see edit history)
Link to comment
Share on other sites

PS utilise ce répertoire pour les images miniatures qui accompagne la liste des produits d'une catégorie dans le B.O.

En effet. Me concentrant sur le front-office, je n'avais pas remarqué ceci.

 

Cependant comme je n'ai moi même jamais eu de problèmes avec un dossier tmp/ vide, je suppose que PS les ré-génère à la volé... je ne vois donc pas trop d'où vient votre problème.

 

Avez-vous appliqué les bonnes permissions sur tous ces dossiers images ?

Link to comment
Share on other sites

Oui toutes les CHMOD appliqués suivent les recommandations de PrestaShop.

 

Dès que mon client qui gère la mise en ligne de ses produits lui-même aura remis les img manquantes, je re-controle tout et après sauvegarde, je re-tente une régénération pour voir. Car je pense que le pb vient de trop nombreuses erreurs dans la BDD.

Mais ce ne sera pas tout de suite. On laisse le sujet en suspens.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...