DF Test Data Generator : générer des données de test PrestaShop
Générer, suivre et purger des produits, clients et commandes fictifs sur PrestaShop 8 et 9.
DF Test Data Generator remplit une boutique PrestaShop 8 ou 9 avec un catalogue, des clients et un historique de commandes fictifs mais réalistes, puis supprime exactement ce qu’il a créé. Il sert à tester un serveur, un thème ou un module sur une volumétrie proche de la production.
Boutique de test uniquement. Les données générées apparaissent comme de vrais produits, clients et commandes. Utilisez le module sur une boutique de préproduction, une copie de staging ou un environnement local, jamais sur une boutique ouverte au public.
Installation
- Dans Modules > Gestionnaire de modules, cliquez sur Installer un module et envoyez le fichier
dftestdata.zip. - Le module crée deux tables de suivi et un onglet Paramètres avancés > Données de test.
- Le bouton Configurer du gestionnaire de modules ouvre la même page.
Prérequis : PrestaShop 8.0 à 9.x, extension PHP GD pour les images (sans GD, les produits sont créés sans image). Pour les avis produits, le module natif Commentaires produits (productcomments) doit être installé.
Lancer une première génération
- Choisissez un preset : Petit (50 produits, 50 clients, 100 commandes), Moyen (200, 300, 800), Grand (2 000, 5 000, 15 000) ou Test de charge (20 000, 50 000, 150 000).
- Ajustez les valeurs si besoin. Le panneau Volume estimé se met à jour en direct : déclinaisons, fichiers images, lignes de commande et durée estimée.
- Cochez Je confirme qu’il s’agit d’une boutique de test, puis cliquez sur Lancer la génération.
La génération tourne par lots de 6 secondes. La barre de progression, les compteurs par étape, la vitesse et le temps restant s’affichent pendant l’exécution. Le bouton Pause arrête proprement après le lot en cours ; vous pouvez reprendre tout de suite ou plus tard depuis l’historique. Si vous fermez la page, la génération s’interrompt et reste reprenable.
Le formulaire signale les réglages incohérents avant le lancement, par exemple des commandes sans aucun client généré. Le bouton reste désactivé tant qu’une incohérence subsiste.
Réglages disponibles
Catalogue
- Catégories et marques : réparties sur 8 univers, marques avec logo généré.
- Produits, % avec déclinaisons et déclinaisons max. par produit (taille, pointure, couleur).
- Packs : packs natifs de 2 à 4 produits générés, vendus environ 15 % sous la somme des articles.
- % de produits virtuels : carte cadeau, guide numérique, atelier en ligne, extension de garantie.
- Images par produit (0 à 3), % en promotion, fourchettes de prix et de stock, règle de taxe (par défaut, le taux standard du pays de la boutique).
- Options : caractéristiques pour la recherche à facettes, indexation pour le moteur de recherche.
Clients
- Nombre de clients, % d’invités, % avec seconde adresse, % de professionnels.
- Pays des clients : France, Royaume-Uni, Espagne, Allemagne, Italie, Pays-Bas, Pologne, Portugal. Noms, adresses, codes postaux et téléphones suivent le format de chaque pays.
- Groupe professionnels : les clients professionnels rejoignent un groupe « Professionnels (test) » avec prix affichés HT et remise réglable, et leurs adresses portent un numéro de TVA intracommunautaire.
Commandes
- Nombre de commandes et période (du / au), produits max. par commande.
- Répartition des états : réaliste, surtout livrées ou surtout en attente.
- % avec code promo : trois codes de test (-10, -15, -20 %) sont créés et restent actifs un an.
- % avec message client : un échange question-réponse avec le service client, dans la langue du client.
- Paniers abandonnés, sur les 45 derniers jours.
- Options : commander aussi des produits existants du catalogue, créer les factures des commandes payées, commander dans la devise locale du client (GBP, PLN, CHF, USD) si la boutique la propose.
Avis et statistiques
- Avis produits : écrits dans la langue du client, surtout 4 et 5 étoiles.
- Visiteurs : chaque visiteur revient une à trois fois depuis un moteur de recherche, un réseau social, la newsletter ou en direct. Le tableau de bord affiche alors visites, taux de conversion et sources de trafic.
Graine aléatoire
Laissez vide pour une graine automatique. Avec la même graine et les mêmes réglages sur la même boutique, vous obtenez exactement le même jeu de données.
Ce que contiennent les commandes
Les commandes sont écrites directement dans les tables du cœur, sans module de paiement et sans email. Chacune a ses lignes de détail, ses taxes, son transporteur choisi selon la zone, ses frais de port, un historique d’états daté, son paiement et, si l’option est active, sa facture. Les commandes remboursées reçoivent un avoir. Les commandes validées alimentent les meilleures ventes, et le stock des produits est respecté : les articles en stock sont choisis en priorité.
Les clients de test ont tous une adresse en @example.com et le même mot de passe, affiché dans le panneau Fonctionnement, pour tester le compte client en front office.
Historique et rapport de performance
Chaque génération apparaît dans l’historique avec son état, ses volumes et sa durée. Le bouton Détails affiche les réglages utilisés et le rapport serveur : nombre d’enregistrements, millisecondes par enregistrement et enregistrements par minute pour chaque étape, temps de travail total et pic de mémoire PHP. Le bouton Reprendre ces réglages recharge la configuration dans le formulaire.
Pour comparer deux serveurs ou deux configurations, lancez le même preset avec la même graine sur chacun et comparez les colonnes ms par enregistrement.
Purger les données de test
Le bouton Purger d’une ligne d’historique supprime les données de cette génération. Le bouton Purger toutes les données de test supprime celles de toutes les générations de la boutique courante. Seuls les objets créés par le module sont supprimés, dans l’ordre : visites, avis, commandes (avec factures, avoirs et messages), paniers, codes promo, adresses, clients, groupe professionnels, produits et packs, marques, catégories, groupes d’attributs et caractéristiques. Le stock pris par des commandes sur vos produits existants leur est rendu.
Purgez avant de désinstaller le module. La désinstallation supprime les tables de suivi, et les données restantes ne pourraient plus être identifiées.
Ligne de commande
Pour les très gros volumes ou un environnement automatisé, lancez le générateur depuis la racine de la boutique :
php modules/dftestdata/cli.php --preset=large --shop=1 --confirm-test-shop
php modules/dftestdata/cli.php --preset=small --orders=2000 --locales=fr,de --confirm-test-shop
php modules/dftestdata/cli.php --resume=12 --shop=1
php modules/dftestdata/cli.php --purge=all --shop=1
php modules/dftestdata/cli.php --list --shop=1
php modules/dftestdata/cli.php --help
Toutes les valeurs du formulaire ont leur option (--products, --customers, --orders, --packs, --visits, --voucher-pct…). L’option --confirm-test-shop est obligatoire pour générer. Le rapport de performance s’affiche à la fin de l’exécution.
Multiboutique
Sélectionnez une seule boutique dans le contexte multiboutique avant de générer ou de purger. Chaque génération est rattachée à la boutique sur laquelle elle a été lancée.
Questions fréquentes
La génération s’arrête avec des erreurs
Après 25 erreurs consécutives, la génération passe en état « Échouée » et affiche les derniers messages. Corrigez la cause (souvent un module tiers qui réagit à la création de produits ou de clients), puis cliquez sur Reprendre dans l’historique.
Les avis ne sont pas proposés
Le champ est désactivé si le module Commentaires produits n’est pas installé. Installez-le, rechargez la page et le champ devient actif.
Les commandes ne sont pas en livres ou en zlotys
La devise locale n’est utilisée que si elle est installée et active dans la boutique. Ajoutez-la dans International > Localisation > Devises avant de générer.