- Nouveau
Référence: WP-VI-CON-V1
Marque: WebPoint
Référence: BOUT-93K2X
Marque: WebPoint
Référence: EXT-CRMAX-MULTILANG
Marque: WebPoint
Référence: EBP-2025-PRO
Marque: WebPoint
Module clé-en-main pour automatiser votre dropshipping de matériel sportif et nutrition avec Training-Distribution, grossiste français spécialisé Cross Training et Fitness : import CSV de 2 300 références (vêtements training, chaussures, accessoires mains, ceintures de force, cordes à sauter, nutrition) issus de 32 marques ROKFIT, REHBAND, PICSIL, BAREBELLS, NOCCO, TYR, NORTHERN SPIRIT, VELITES…
✅ Mono-langue français natif (CSV ISO-8859-1 séparateur virgule, conversion auto)
✅ 10 catégories sport prêtes à l'install + 42 sous-catégories
✅ Couleur + Taille appendues au titre avec troncature 128 chars (refs CSV incohérentes)
✅ Multi-images N URLs depuis 1 cellule unique · Description auto-générée
✅ Mode léger sur ré-import · CRON 24/7 · Compatible PS 1.7 → 9.x
Vous configurez. Le module importe. Vous vendez le sport français en ligne. 💪
demos.akimania.com/ps9-training-distribution/Module PrestaShop de dropshipping TRAINING-DISTRIBUTION
🌐 Catalogue source disponible en :
🇫🇷 Catalogue 100% français natif. Pas de traduction automatique : textes rédigés directement en FR par le fournisseur, idéal pour boutiques 🇫🇷 FR / 🇧🇪 BE / 🇨🇭 CH / 🇨🇦 CA.
Le module qui automatise de A à Z votre dropshipping cross-training, fitness et nutrition sportive sur PrestaShop
PrestaShop 1.7 → 9.x · 2 300 produits · 32 marques · 10 catégories sport · CRON 24/7
Vous lancez une boutique de matériel de musculation, un site cross-training, un e-commerce de nutrition sportive ou de vêtements de sport ? Vous travaillez avec Training-Distribution (grossiste français spécialisé Cross Training et fitness) et vous passez vos journées à recopier 2 300 fiches produit, à uploader manuellement les multiples photos par produit, à recréer chaque taille/couleur comme un produit distinct (parce que les références fournisseur changent inter-tailles), à mapper chaque catégorie aux bonnes rubriques de votre arborescence ?
Avec le Module Training-Distribution dropshipping sport cross-training fitness, tout devient automatique. Vous renseignez l'URL du CSV Training-Distribution, vous cliquez "Lancer l'import", et le module crée vos 2 300 produits PrestaShop en français avec leur taille + couleur dans le titre, leurs N photos depuis la cellule unique CSV, leur référence native, dans une arborescence de 10 catégories sport prête à l'emploi (Vêtements Femme, Vêtements Sport, Chaussures, Chaussettes, Mains & Maniques, Protections corps, Cordes & Charges, Nutrition & Compléments, Accessoires sport, Autre).
| Tâche | ❌ Sans le module | ✅ Avec le module |
|---|---|---|
| Import 2 300 références sport | 80h+ manuel, recopie portail Training-Distribution | 1 clic, ~2h en arrière-plan |
| Couleur + Taille dans le titre | Saisie manuelle « Genouillères Noir Taille XL » à la fin du titre | Auto-append « — Couleur · Taille XX » + troncature 128 chars |
| Multi-images depuis cellule unique | Parsing manuel des URLs concaténées par virgules | Split + validation auto, 1re = cover |
| Description vide CSV (aucune fournie) | Fiches fantômes, mauvais SEO, taux de rebond | Auto-génération HTML structurée nom + marque + cat |
| Catégorie unique CSV (1 niveau) | Création manuelle d'une arbo cohérente sport | 10 cats principales + 42 sous-cats créées à l'install |
| Encodage ISO-8859-1 (pas UTF-8) | Caractères français cassés (« Mapalé », « Genouillères ») | Conversion automatique cellule par cellule |
| Symbole € mal-encodé (¤ en ISO) | Prix avec « ¤ » ou ratés à l'import | ¤ strippé automatiquement, prix propres |
| Image originale BO PrestaShop 9 | Image cassée BO PS9 (bug officiel) | Fix BO PS9 inclus : copie 1:1 fichier original |
| Rafraîchir prix/stock | Tout refaire à zéro chaque jour | Mode léger automatique : MAJ prix+stock seulement |
Vous vendez du matériel cross-training (genouillères, ceintures, maniques, cordes à sauter, disques bumper, sangles), vêtements training, chaussures Haltérophilie. Training-Distribution est référent FR sur ces niches avec ROKFIT, REHBAND, PICSIL, VELITES en marques phares.
Vous proposez accessoires force et musculation : ceintures de force, protège-poignets, genouillères, gilets lestés, haltérophilie. ~150 références spécifiquement musculation dans le catalogue.
Protéines, BCAA, pre-workout, snacks protéinés (BAREBELLS, NOCCO), boissons énergisantes, oméga 3 et compléments alimentaires sport. ~150 références nutrition pour une offre francophone complète.
Particularité du CSV Training-Distribution. Contrairement aux autres fournisseurs, la « Référence » change pour chaque taille (ex `R_N_GEN_0535_XS`, `_S`, `_M`, `_L`, `_XL` — toutes différentes). Pire encore : la cohérence n'est même pas garantie sur la troncature (ligne L a `R-N_GEN_0535_L` avec un tiret au lieu d'underscore). Conséquence : impossible de regrouper plusieurs lignes en 1 produit avec ses combinations PS.
Solution adoptée par le module : 1 ligne CSV = 1 produit PS distinct, et la couleur + taille sont appendues automatiquement au titre du produit avec un format graphique soigné.
Exemple : "Paire Genouillères Noir 5 mm | REHBAND" + Couleur "Noir" + Taille "XL" → "Paire Genouillères Noir 5 mm | REHBAND — Noir · Taille XL"
Product::name PS) : si le titre concaténé dépasse, le titre original est tronqué avec « … » pour laisser la place à la couleur + taille intactesmb_substr(), jamais coupé au milieu d'un caractère multi-byteProduct::reference (champ PS natif)Le CSV Training-Distribution n'expose qu'UN SEUL niveau de catégorie par produit (« Catégorie »). Le module compense ça en proposant à l'install une arborescence sport de 10 catégories principales prêtes à l'emploi, avec 42 sous-catégories qui reproduisent à l'identique les noms exposés par le CSV.
| Catégorie principale | Sous-catégories CSV regroupées |
|---|---|
| Vêtements Femme | Brassières sport · T-shirts - Crop tops · Textile Femme Sport |
| Vêtements Sport | T-shirts - Débardeurs · Sweats - Hoodies · Shorts - Leggings · Shorts - Joggings · Maillot de bain |
| Chaussures | Cross Training · Haltérophilie & Powerlifting |
| Chaussettes | Entraînement · Sport enfant · Socquettes respirantes & training légères |
| Mains & Maniques | Maniques avec/sans magnésie · Maniques Cross Training · Tape & Protection · Magnésie · Patchs Velcro |
| Protections corps | Ceintures de force · Genouillères · Protège poignets · Gilet lesté |
| Cordes & Charges | Cordes à sauter · Câbles de remplacement · Disques Bumper · Sangle de tirage |
| Nutrition & Compléments | Protéines/BCAA/Pre Workout · Snacks · Boissons énergisantes · Vitamines · Oméga 3 · Nutrition Sport |
| Accessoires sport | Bandeaux · Casquettes/Bonnets · Lunettes · Gourdes · Sac de sport · Carte cadeau |
| Autre | Divers / À classer (fallback : Accueil, vide, « Catalogue Sport… », inconnu) |
wp_trainingdist_category_mapping pour les imports suivantsLa colonne « URL Images » du CSV contient N URLs séparées par des virgules dans une cellule entre guillemets (ex « url1.jpg,url2.jpg,url3.jpg »). Le module split par virgule, valide chaque URL (préfixe http(s)), et importe toutes les images.
getimagesize() : JPEG/PNG/GIF/WebP, fichiers corrompus rejetés sans crasher l'import<id>.jpg en plus des variantesTraining-Distribution ne fournit AUCUNE colonne description dans le CSV. Le module génère systématiquement une description HTML structurée à partir du libellé, de la marque, de la catégorie et de la référence — pour ne jamais avoir de fiche produit fantôme côté front (anti-rebond + bon SEO).
Le CSV training-distribution est en ISO-8859-1 avec séparateur virgule (à la différence des autres modules qui utilisent UTF-8 + ";"). Le module gère ça :
mb_convert_encoding() avec détection auto si déjà en UTF-8fgetcsv standard, splitting fait dans importMultiImages()Le scénario qui change tout :
→ Plus de page qui rame. Plus d'inquiétude. Vous voyez tout ce qui se passe.
| Mode | Description |
|---|---|
| RRP ⭐ (défaut) | Prix de vente CSV tel quel — le plus simple pour démarrer. |
| Paliers | % différent selon la tranche de prix HT (5 paliers configurables : 0-15€/15-30€/30-60€/60-120€/120€+ — adapté aux protéines à 30€ comme aux disques bumper à 200€+). |
| Markup fixe | Un seul % appliqué (50% par défaut → prix HT × 1.5). |
| Wholesale | Prix d'achat HT tel quel (vente B2B aux salles de sport, coachs, etc.). |
{name}, {brand}| Action CRON | Rôle | Fréquence conseillée |
|---|---|---|
full_import | Import complet (créations + light updates) | 1×/jour |
light_sync | MAJ prix + stock + dispo des produits déjà importés (mode léger) | toutes les 2-4h |
cleanup_logs | Purge logs > N jours (rétention configurable) | 1×/semaine |
Marques phares du catalogue Training-Distribution (extrait par volume) :
Triple confirmation (boîte de dialogue + saisie SUPPRIMER + bouton). L'arborescence des catégories n'est pas effacée — gérée par le module, recréée à la prochaine ouverture si vous l'avez supprimée manuellement.
Téléchargez le ZIP, installez via le BO. Auto-création de 5 tables, du fournisseur Training-Distribution, de la clé CRON, et de l'arborescence sport (10 cats × 42 sous-cats).
Allez dans Paramètres, collez l'URL fournie par Training-Distribution. Configurez la catégorie racine sous laquelle l'arbo est créée (Home par défaut).
Mode RRP par défaut. Vous pouvez aussi choisir Paliers (5 tranches) / Markup fixe / Wholesale. Templates SEO personnalisables avec {name}/{brand}.
Cliquez "Lancer l'import". Mode test 20 produits d'abord pour valider, puis import complet 2 300 produits (~2h). Vous voyez chaque produit créé avec sa Couleur + Taille en titre sous vos yeux.
| PrestaShop | 1.7.x → 9.x (testé sur PS 9.0) |
| PHP | 7.4 minimum, recommandé 8.1+ |
| MySQL / MariaDB | 5.7+ / 10.3+ |
| cURL | Activé (téléchargement CSV + images) |
| Multi-shop | Compatible (force CONTEXT_ALL pour la suppression) |
| Hooks utilisés | Aucun (pas de pollution de la chaîne d'événements) |
| Override de classe | Aucun (préserve vos autres modules) |
| AdminController | Aucun |
| Onglet sidebar BO | Aucun (ne pollue pas votre menu) |
| Compte Training-Distribution B2B | Compte requis pour la facturation et l'accès au CSV |
| URL CSV | À demander à votre commercial Training-Distribution |
R : Oui, totalement compatible PS 9.x. Le module gère la migration spécifique PS9 où meta_keywords a été retiré (bascule auto vers ps_tag) ainsi que le bug PS9 où l'image originale n'apparaît pas dans la page d'édition produit BO (fix par copie 1:1 du fichier <id>.jpg).
R : Parce que le CSV training-distribution n'expose pas de référence parent commune entre les tailles d'un même produit. Chaque taille a une réf totalement différente (ex `R_N_GEN_0535_XS`, `_S`, `_M`, `_L`, `_XL` — toutes distinctes), et même la troncature ne marche pas (ligne L a `R-N_GEN_0535_L` avec un tiret). Donc impossible de regrouper. Solution : 1 ligne = 1 produit, taille appendue au titre.
R : Le module tronque automatiquement le titre original (avec « … ») si nécessaire pour rester sous la limite PS de 128 caractères, en gardant toujours la couleur + taille intactes. UTF-8 safe (jamais coupé au milieu d'un caractère multi-byte).
R : À l'install, le module crée 10 catégories principales sport + 42 sous-catégories sous votre racine PS (Home par défaut). À chaque import, la « Catégorie » CSV est mappée vers la bonne sous-catégorie via une table interne. Si elle ne match pas, elle tombe dans « Autre > Divers / À classer » (jamais d'erreur). Onglet Mappings pour fusionner ou renommer après l'import.
R : Le module convertit chaque cellule de ISO-8859-1 vers UTF-8 via mb_convert_encoding() (avec détection auto si la cellule est déjà UTF-8). Les caractères français comme « Genouillères », « Brassières », « Mapalé » sont préservés. Le symbole « ¤ » à la fin des prix (= € mal-encodé Win-1252) est strippé automatiquement. Décimales virgule converties en point.
R : Le fournisseur Training-Distribution ne fournit aucune colonne description dans le CSV. Pour ne jamais avoir de fiche produit fantôme côté front (et nuisible au SEO), le module génère un texte HTML structuré à partir du nom + marque + catégorie + référence. Vous pouvez personnaliser manuellement les fiches qui vous intéressent — le mode léger ne les écrasera plus.
R : Oui. Mode léger automatique : les produits existants sont détectés via leur Référence CSV (= sku unique par ligne) et seuls leur prix + stock sont rafraîchis. Vos descriptions, images, catégories et tags ne sont pas réécrits — vous gardez vos personnalisations.
R : Onglet Importation → Suppression sélective → cochez « Produits importés » + « Marques orphelines » + « Fournisseur Training-Distribution » + « Journaux » → SUPPRIMER. Triple confirmation pour éviter les erreurs.
R : Bouton « Arrêter » disponible pendant l'import (UI) et pendant le CRON (flag file). Stop propre à la fin du produit en cours, sauvegarde de l'état pour reprise à la ligne exacte d'arrêt.
R : Oui. Les catégories et produits sont créés sur tous les shops actifs. La suppression force CONTEXT_ALL pour éviter le quirk PS9 où Product->delete() retourne false en multi-shop.
R : Confirmé. Le module utilise uniquement getContent() + AJAX. Pas de pollution du menu BO PrestaShop. Aucun override de classe core.
Le Module Training-Distribution dropshipping sport cross-training fitness est l'outil le plus complet pour vendre les 2 300 références Training-Distribution (cross-training, fitness, musculation, nutrition sportive) sur PrestaShop. Une seule fois configuré, il importe automatiquement le catalogue avec couleur + taille en titre, ses N photos par produit, sa hiérarchie sport prête à l'emploi.
⚡ INSTALLATION 3 MIN · 📚 IMPORT TEMPS RÉEL · 🛡️ COMPATIBLE PS 1.7 → 9 · 🇫🇷 SUPPORT FRANÇAIS
Tables BDD créées (5) : wp_trainingdist_history, wp_trainingdist_import_errors, wp_trainingdist_product_meta (sku unique = Référence CSV), wp_trainingdist_combination_meta (sku unique), wp_trainingdist_category_mapping (csv_path unique)
Configurations PS : WPTD_SETTINGS (JSON), WPTD_SUPPLIER_ID, WPTD_CRON_KEY, WPTD_LAST_IMPORT_AT, WPTD_LAST_IMPORT_COUNT, WPTD_LAST_UPLOADED_CSV, WPTD_CRON_LAST_*
CSV Training-Distribution (10 colonnes ISO-8859-1, séparateur virgule) : Marque, Catégorie, Nom, Taille, Couleur, URL Images, Stock, Poids, Référence, Prix de vente (avec ¤ stripped)
Architecture : 5 classes PHP propres (TdCompat, TdCategoryTaxonomy, TdCategoryMapper, TdFeatureMapper [code mort par design — pas de Features sur ce CSV], TdCsvImporter) + module principal + routeur AJAX + CRON. Aucun override de classe core PrestaShop.
Aliases moteur partagé : sku → Référence, name_fr → Nom, brand → Marque, category → Catégorie, price → Prix de vente, weight → Poids (en kg natifs, pas grammes), qty → Stock, size → Taille, color → Couleur, image-url-1 → URL Images (cellule unique splittée).
appendVariantToName() : helper qui appende « — Couleur · Taille XX » au nom produit avec troncature 128 chars UTF-8 safe (mb_substr). Si le titre concaténé dépasse, le titre original est tronqué avec « … » pour garder couleur+taille intactes.
importMultiImages() : split la cellule URL Images par virgule, valide chaque URL (preg_match `^https?://`), 1re URL = cover. Téléchargement avec retry × 3 backoff, validation getimagesize JPEG/PNG/GIF/WebP, génération auto de toutes les tailles PS via ImageManager::resize, fix BO PS9 par copie 1:1 du fichier original <id>.jpg.
ensureSupplierExists() : INSERT SQL direct (pas new Supplier() + ->add() qui échoue silencieusement en PS9). Détection dynamique de la colonne meta_keywords dans ps_supplier_lang (présente PS7, retirée PS9). Multi-shop via ps_supplier_shop. Filet de sécurité : appelée aussi avant chaque import (pas seulement à l'install).
Cache statique Db::getValue() : les 4 requêtes d'existence dans processRow() utilisent useCache=false pour bypasser le cache statique PS qui persiste entre workers PHP-FPM (sinon les ré-imports ne trouvent pas les produits déjà importés et créent des doublons).
Sécurité : pSQL() partout, dossier uploads/ protégé, validation format images, CSRF natif PS sur AJAX, échappements HTML systématiques, hash_equals() sur clé CRON.
Compatibilité PS9 spécifique : migration auto meta_keywords → ps_tag/ps_product_tag via Tag::addTags(), gestion du quirk Product::delete() qui retourne false en multi-shop, fix BO PS9 image originale.
Encodage : conversion ISO-8859-1 → UTF-8 cellule par cellule via mb_convert_encoding() avec détection préalable si déjà UTF-8 valide. Strippage du symbole ¤ + espaces insécables sur les prix. Conversion virgule décimale → point.
📦 Module développé par WebPoint · webpoint.fr · Mises à jour régulières · Code propre & commenté
play_circle_filled
play_circle_filled
play_circle_filled
play_circle_filled
Aucun avis pour ce produit pour le moment.
Référence: WP-ETC-FRX
Marque: WebPoint
Référence: WP-ECO-XML
Marque: WebPoint
Référence: WP-YNS-PLX
Marque: WebPoint
Référence: WP-DBR-EHU
Marque: WebPoint
Référence: WP-BTS2026-DROP
Marque: WebPoint
Référence: WP-DSX-AFR
Marque: WebPoint
Référence: WP-BXP-FRX
Marque: WebPoint
Référence: WP-BGS-XML
Marque: WebPoint
Maîtriser le State Management en Clojure : Atoms, Refs, Agents et STM 🚀 Dans le monde de la programmation...
Lire la suiteSupervision Tree in Elixir: Achieving Infinite Depth and Immortal Hierarchies 🌳 In the world of concurrent...
Lire la suiteMaîtriser gRPC en Go : Services avec Protocol Buffers et Streaming RPCs 🚀 Dans le monde des microservices, les...
Lire la suite
Module clé-en-main pour automatiser votre dropshipping de matériel sportif et nutrition avec Training-Distribution, grossiste français spécialisé Cross Training et Fitness : import CSV de 2 300 références (vêtements training, chaussures, accessoires mains, ceintures de force, cordes à sauter, nutrition) issus de 32 marques ROKFIT, REHBAND, PICSIL, BAREBELLS, NOCCO, TYR, NORTHERN SPIRIT, VELITES…
✅ Mono-langue français natif (CSV ISO-8859-1 séparateur virgule, conversion auto)
✅ 10 catégories sport prêtes à l'install + 42 sous-catégories
✅ Couleur + Taille appendues au titre avec troncature 128 chars (refs CSV incohérentes)
✅ Multi-images N URLs depuis 1 cellule unique · Description auto-générée
✅ Mode léger sur ré-import · CRON 24/7 · Compatible PS 1.7 → 9.x
Vous configurez. Le module importe. Vous vendez le sport français en ligne. 💪