Skip to content

laradev43/ldimagegeneration

Repository files navigation

Module de Régénération d'Images PrestaShop

Module pour régénérer les miniatures des produits, catégories, fabricants, fournisseurs et magasins.

ATTENTION

Il est fortement recommandé de sauvegarder l'ensemble de vos fichiers avant toute utilisation du module.

Installation

Le module s'installe via le back-office PrestaShop ou en ligne de commande :

php bin/console prestashop:module install ldimagegeneration

Utilisation

Script principal

cd modules/ldimagegeneration
./regenerate.php list

Commandes disponibles

1. Régénération des miniatures de produits

# Régénérer tous les produits
./regenerate.php ldimagegeneration:regenerate-thumbnails

# Régénérer UNIQUEMENT les images manquantes (recommandé - plus rapide)
./regenerate.php ldimagegeneration:regenerate-thumbnails --only-missing

# Régénérer un produit spécifique
./regenerate.php ldimagegeneration:regenerate-thumbnails --product-id=1

# Régénérer uniquement les images manquantes d'un produit
./regenerate.php ldimagegeneration:regenerate-thumbnails --only-missing --product-id=1

# Régénérer avec une limite
./regenerate.php ldimagegeneration:regenerate-thumbnails --limit=10

# Régénérer un type d'image spécifique
./regenerate.php ldimagegeneration:regenerate-thumbnails --image-type=cart_default

# Régénérer uniquement les images manquantes d'un type spécifique
./regenerate.php ldimagegeneration:regenerate-thumbnails --only-missing --image-type=small_default

# Combiner les options
./regenerate.php ldimagegeneration:regenerate-thumbnails --product-id=1 --image-type=home_default --only-missing

2. Régénération des images d'autres entités

# Catégories
./regenerate.php ldimagegeneration:regenerate-images --type=categories
./regenerate.php ldimagegeneration:regenerate-images --type=categories --entity-id=3
./regenerate.php ldimagegeneration:regenerate-images --type=categories --limit=10
./regenerate.php ldimagegeneration:regenerate-images --type=categories --image-type=small_default

# Fabricants
./regenerate.php ldimagegeneration:regenerate-images --type=manufacturers
./regenerate.php ldimagegeneration:regenerate-images --type=manufacturers --entity-id=1

# Fournisseurs
./regenerate.php ldimagegeneration:regenerate-images --type=suppliers

# Magasins
./regenerate.php ldimagegeneration:regenerate-images --type=stores

3. Vérification des images d'une entité

# Vérifier les images d'une catégorie spécifique
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3

# Vérifier et afficher toutes les images (y compris celles qui existent)
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --show-all

# Vérifier ET générer automatiquement les images manquantes
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --generate

# Vérifier et générer avec affichage complet
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --generate --show-all

# Vérifier toutes les entités d'un type (sans ID)
./regenerate.php ldimagegeneration:verify-images --type=manufacturers

# Vérifier et générer pour toutes les entités d'un type
./regenerate.php ldimagegeneration:verify-images --type=manufacturers --generate

# Types supportés : categories, manufacturers, suppliers, stores
./regenerate.php ldimagegeneration:verify-images --type=suppliers --entity-id=1 --generate

4. Nettoyage des miniatures générées (conserve les images originales)

# Voir ce qui serait supprimé (dry-run)
./regenerate.php ldimagegeneration:clean-images --type=products --dry-run
./regenerate.php ldimagegeneration:clean-images --type=categories --dry-run
./regenerate.php ldimagegeneration:clean-images --type=all --dry-run

# Nettoyer un produit spécifique
./regenerate.php ldimagegeneration:clean-images --type=products --entity-id=1 --force

# Nettoyer toutes les catégories (avec confirmation)
./regenerate.php ldimagegeneration:clean-images --type=categories

# Nettoyer un type d'image spécifique
./regenerate.php ldimagegeneration:clean-images --type=products --image-type=cart_default --force

# Nettoyer tous les types d'entités
./regenerate.php ldimagegeneration:clean-images --type=all --force

Workflows recommandés

Workflow 1 : Régénération rapide des images manquantes (RECOMMANDÉ)

# Régénérer uniquement les images manquantes (le plus rapide)
./regenerate.php ldimagegeneration:regenerate-thumbnails --only-missing
./regenerate.php ldimagegeneration:verify-images --type=categories --generate
./regenerate.php ldimagegeneration:verify-images --type=manufacturers --generate
./regenerate.php ldimagegeneration:verify-images --type=suppliers --generate
./regenerate.php ldimagegeneration:verify-images --type=stores --generate

Workflow 2 : Vérification et génération pour une entité spécifique

# Vérifier d'abord
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3

# Si des images manquent, générer automatiquement
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --generate

Workflow 3 : Nettoyage puis régénération complète

# 1. Nettoyer toutes les miniatures
./regenerate.php ldimagegeneration:clean-images --type=all --force

# 2. Régénérer toutes les miniatures
./regenerate.php ldimagegeneration:regenerate-thumbnails
./regenerate.php ldimagegeneration:regenerate-images --type=categories
./regenerate.php ldimagegeneration:regenerate-images --type=manufacturers
./regenerate.php ldimagegeneration:regenerate-images --type=suppliers
./regenerate.php ldimagegeneration:regenerate-images --type=stores

Options des commandes

ldimagegeneration:regenerate-thumbnails (Produits)

  • -p, --product-id : ID du produit spécifique à régénérer
  • -t, --image-type : Type d'image spécifique (home_default, cart_default, etc.)
  • -l, --limit : Nombre maximum de produits à traiter
  • -m, --only-missing : [NOUVEAU] Régénérer uniquement les images manquantes
  • --help : Afficher l'aide

ldimagegeneration:regenerate-images (Categories, Manufacturers, Suppliers, Stores)

  • -t, --type : Type d'entité (categories, manufacturers, suppliers, stores) - REQUIS
  • -e, --entity-id : ID de l'entité spécifique à régénérer
  • -i, --image-type : Type d'image spécifique
  • -l, --limit : Nombre maximum d'entités à traiter
  • --help : Afficher l'aide

ldimagegeneration:verify-images (Vérification et génération)

  • -t, --type : Type d'entité (categories, manufacturers, suppliers, stores) - REQUIS
  • -e, --entity-id : ID de l'entité à vérifier (optionnel - vérifie toutes les entités si omis)
  • -s, --show-all : Afficher les détails de toutes les images (y compris celles qui existent)
  • -g, --generate : [NOUVEAU] Générer automatiquement les images manquantes
  • --help : Afficher l'aide

ldimagegeneration:clean-images (Nettoyage)

  • -t, --type : Type d'entité à nettoyer (products, categories, manufacturers, suppliers, stores, all) - REQUIS
  • -e, --entity-id : ID de l'entité spécifique à nettoyer
  • -i, --image-type : Type d'image spécifique à supprimer
  • -d, --dry-run : Mode simulation (affiche ce qui serait supprimé sans supprimer)
  • -f, --force : Forcer la suppression sans demander confirmation
  • --help : Afficher l'aide

Types d'images disponibles

Produits

  • cart_default
  • home_default
  • large_default
  • medium_default
  • small_default

Catégories

  • category_default
  • small_default

Fabricants et Fournisseurs

  • large_default
  • medium_default
  • small_default

Magasins

  • stores_default

Nouvelles fonctionnalités

🆕 Option --only-missing pour regenerate-thumbnails

Régénère uniquement les images manquantes au lieu de tout régénérer. Cette option est fortement recommandée car elle :

  • ✅ Économise du temps de traitement
  • ✅ Réduit la charge serveur
  • ✅ Ne régénère que ce qui est nécessaire
  • ✅ Utilise la table ps_image pour lister toutes les images (plus fiable que Product::getProducts())
  • ✅ Détecte et génère les miniatures manquantes même pour des produits inactifs

Exemple :

# Au lieu de régénérer toutes les images (peut prendre plusieurs minutes)
./regenerate.php ldimagegeneration:regenerate-thumbnails

# Régénérer uniquement les images manquantes (beaucoup plus rapide)
./regenerate.php ldimagegeneration:regenerate-thumbnails --only-missing

🆕 Commande verify-images avec option --generate

Nouvelle commande qui permet de :

  1. Vérifier quelles images manquent pour une entité
  2. Générer automatiquement les images manquantes avec --generate
  3. Traiter toutes les entités d'un type si --entity-id n'est pas spécifié

Avantages :

  • ✅ Vérification visuelle avec tableau détaillé
  • ✅ Génération automatique des images manquantes
  • ✅ Affichage des dimensions réelles vs attendues
  • ✅ Statistiques de génération (succès/erreurs)

Exemples :

# Vérifier une entité spécifique
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3

# Vérifier et générer les images manquantes
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --generate

# Vérifier et générer pour toutes les catégories
./regenerate.php ldimagegeneration:verify-images --type=categories --generate

Liste complète des commandes

# Afficher toutes les commandes disponibles
./regenerate.php list

# Commandes disponibles :
# - ldimagegeneration:regenerate-thumbnails  : Régénère les miniatures des produits
# - ldimagegeneration:regenerate-images      : Régénère les images des entités (categories, manufacturers, etc.)
# - ldimagegeneration:verify-images          : Vérifie et génère les images d'une entité
# - ldimagegeneration:clean-images           : Supprime les miniatures générées

Dépannage

Performances lentes

Si la régénération est lente, utilisez l'option --only-missing pour ne traiter que les images manquantes.

Images manquantes

  1. Utilisez d'abord verify-images pour identifier les images manquantes
  2. Utilisez --generate pour les créer automatiquement

Vérifier une entité spécifique

# Voir le statut détaillé avec dimensions et tailles
./regenerate.php ldimagegeneration:verify-images --type=categories --entity-id=3 --show-all

Erreurs de génération

Si des erreurs apparaissent, vérifiez que :

  • L'image source existe
  • Les permissions en écriture sont correctes
  • PHP GD est installé et activé

Support

Pour obtenir de l'aide sur une commande spécifique :

./regenerate.php ldimagegeneration:regenerate-thumbnails --help
./regenerate.php ldimagegeneration:verify-images --help

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages