Import de catalogue multi-fournisseur pour Magento 2
Importez et gardez synchronisés d'immenses catalogues fournisseurs — produits, prix, stock, images — depuis n'importe quel flux, automatiquement et sur planification, sans toucher aux produits créés manuellement. Pensé pour des catalogues de dizaines ou de centaines de milliers d'articles.
✓ Licence active immédiatement après le paiement, reçue par e-mail
✓ Installation immédiate via Composer
✓ Premier changement de domaine inclus et immédiat (pratique pour passer de la préproduction à la production)
✓ Compatible avec Magento 2.4.x (testé sur 2.4.9) et avec le thème Hyvä
Toute l'interface d'administration — chaque étiquette, infobulle et guide — est disponible en :
Magento affiche automatiquement le module dans la langue configurée par chaque utilisateur admin — aucun réglage supplémentaire requis.
Ce sont des mesures réelles issues d'un environnement de production, pas des estimations de laboratoire — une boutique en ligne qui synchronise un véritable catalogue fournisseur de grande taille (des centaines de milliers de SKU, des centaines de milliers d'images) sur un matériel serveur ordinaire, pas exotique.
| Test | Volume | Résultat |
|---|---|---|
| Sync complète du catalogue (produits, prix, stock, catégories) | 339 707 lignes de flux | 2 min 01 s, 0 erreur |
| Sync uniquement stock et prix | 340 467 lignes de flux | 7,2 s, 0 erreur |
| Débit d'écriture directe (stratégie SQL, par lots) | 500 produits/lot | ~600 produits/seconde |
| Téléchargement d'images en parallèle vs séquentiel | même jeu d'images | 3,9 fois plus rapide |
| Échelle de catalogue gérée en production | jusqu'à 708 000 images | compressées et mises en file d'attente sans bloquer la sync du catalogue |
Serveur de test : Intel Xeon E5-2690 12 cœurs @ 2,90 GHz, 10 Go de RAM, PHP 8.5, avec la base de données sur un serveur dédié séparé — une configuration standard de milieu de gamme, pas du matériel haut de gamme. Le chiffre de 600 produits/seconde se compare à environ 1 produit/seconde du mécanisme d'import natif de Magento sur les mêmes données.
Les étapes d'installation complètes et un guide utilisateur détaillé champ par champ (mapping, formules, produits configurables et groupés, catégories, images, planification, CLI) se trouvent sur leur page de référence :
Pas satisfait dans les 30 jours suivant l'achat ? Demandez vous-même le remboursement depuis votre espace client (codingrow.com/login), sans justification. Le remboursement est traité instantanément et automatiquement, et la licence est désactivée après confirmation.
Version actuelle : v3.9.0
Les Catégories de flux autorisées peuvent désormais être choisies à n'importe quel niveau de l'arborescence du flux, pas seulement au premier : sélectionnez une branche profonde (ou une seule feuille) — p. ex. Meubles › Armoires et rangements — pour n'importer que ce sous-arbre au lieu d'une catégorie racine entière. Cela filtre uniquement quels produits sont importés ; l'arborescence de catégories Magento reste inchangée (les produits conservent leur chemin complet).
Les formules du mapping prennent désormais en charge les fonctions d'arrondi à l'entier ceil() (au-dessus), floor() (au-dessous) et round() (au plus proche) : p. ex. ceil({B2B price} * 1.30) applique la marge et arrondit le prix de vente final à l'entier supérieur (23,40 → 24).
Amélioration de l'alignement du sitemap de la 3.3.9 : sur les redirections 301 avec chemin de catégorie, le module écrit désormais les mêmes métadonnées que Magento attribue nativement aux URL à contexte de catégorie, de sorte que le générateur de sitemap liste correctement uniquement l'URL plate canonique au lieu de celle qui fait une 301. Les produits importés ou mis à jour après la mise à jour sont déjà corrects ; pour réaligner en une passe les lignes existantes sur les installations mises à jour, la commande mmis:fix-redirect-metadata est disponible (puis régénérer le sitemap).
Les URL produit respectent désormais le réglage Magento (Catalog SEO) 'Use Categories Path for Product URLs'. Lorsqu'il est désactivé (valeur par défaut de Magento), l'URL plate est la seule canonique et l'URL avec chemin de catégorie est servie comme redirection 301 vers celle-ci, si bien que le sitemap et la balise canonical concordent et Google consolide sur une seule URL. Lorsqu'il est activé, l'URL avec catégorie reste active, telle que Magento la génère nativement.
Accepte désormais la clé de licence One-for-All par abonnement : un seul abonnement Codingrow active ce module avec tous les autres.
Nouvelle transformation « Strip HTML tags » dans le mappage des champs : supprime les balises HTML et décode les entités des valeurs textuelles du flux, utile lorsque le fournisseur envoie des descriptions déjà formatées en HTML.
New "Strip HTML tags" transform for mapping rows: removes HTML markup and decodes entities from a source column's value, for text attributes (e.g. a supplier description feed that comes wrapped in <p>/<b> tags). Also available as a template function (striphtml{ColumnName}).
Fixed an installation bug: setting up the module for the first time on a brand-new store could fail during Magento's setup with a database error, because a required file was missing from the release package.
Products whose supplier feed left the image column normally used for the storefront thumbnail (Base/Small/Thumbnail) empty — while still having other image columns filled in — no longer end up with no thumbnail on category/listing pages. The module now promotes the first available image automatically (can be turned off per profile).
The "updated" count in sync results no longer includes rows where price/stock stayed exactly the same as before — only real changes are now counted and written, which also makes syncs with few or no real changes noticeably faster.
All batch sync log messages (main_sync/offer_sync) now follow the language of the admin who's reading them, instead of the language of the server process that ran the cron.
The image queue's "Last runs" now reports the count and outcome for that specific run instead of a running total, with an accurate average; fixed two email notification labels that were never translated.
The image sync queue is dramatically faster on large catalogs (a query rewrite removed a bottleneck that scaled with queue size), batch size now adapts automatically to the real processing rate, and MMIS cron jobs run in their own isolated group so they no longer compete with reindex/email/sitemap crons. The estimated time remaining for a running queue is now based on the actually measured rate instead of a simple linear extrapolation.
Le délai avant que le module retélécharge le flux d'un fournisseur (pour ne pas gaspiller le quota quotidien de téléchargement d'un fournisseur lors de tests répétés) est désormais un paramètre configurable dans Stores > Configuration, au lieu d'être fixé à 30 minutes non documentées — 15 minutes par défaut.
Un préfixe SKU vide sur un profil est désormais toujours un choix sûr et pleinement pris en charge : correction du seul point où cela pouvait affecter par inadvertance les fichiers en cache d'un autre profil, et suppression du contrôle de sécurité qui bloquait auparavant le rollback pour cette raison.
Les messages du journal de la file d'images dans « Ultime esecuzioni » s'affichent désormais dans la langue de l'administrateur qui consulte la page, au lieu de toujours utiliser la langue par défaut de la boutique.
Correction d'un cas particulier de traduction qui pouvait laisser le message de progression de la file d'images en anglais sur des boutiques non anglaises, et correction de l'estimation du temps restant associée pour qu'elle fonctionne quelle que soit la langue de l'administrateur.
Tous les messages du journal de synchronisation (progression, erreurs, notifications par e-mail) suivent désormais la langue de la vue boutique au lieu d'être toujours en italien. L'estimation de l'espace occupé par les images distingue correctement les profils dont la compression est désactivée, au lieu d'afficher un trompeur « 0% de réduction ».
La compression des images téléchargées est désormais un paramètre par profil (onglet Mapping), et n'est plus partagée entre tous les profils — utile lorsqu'un fournisseur doit économiser de l'espace disque et un autre non.
Nouvelle option par profil (onglet Avancé) pour notifier M2E Pro à la fin d'une synchronisation, pour ceux qui synchronisent aussi les mêmes produits vers des marketplaces via cette extension.
Finitions linguistiques : tout le texte italien restant (commandes CLI, messages de journal, infobulles de configuration, messages d'erreur) a été traduit en anglais, base des autres langues prises en charge.
Première publication publique, renommé MMIS (Massive Multifeed Import&Sync), avec des commandes CLI sous le préfixe mmis:. Principales nouveautés :
Phase de développement interne : introduction de l'architecture à profils d'import, découverte de flux et de catégories par profil, onglet de log de sync dédié.
Premières étapes internes : lecture de flux multi-format (CSV/XML/JSON) et premier moteur de mapping des champs.