Installation de l’extension Adobe Commerce B2B
- Rubriques :
- B2B
Créé pour :
- Débutant
- Intermédiaire
- Administration
- Développeur
L’extension Adobe Commerce B2B, magento/extension-b2b
, est disponible pour toutes les versions prises en charge d’Adobe Commerce. Il est installé après l’installation d’Adobe Commerce.
Conditions requises
- Adobe Commerce, toutes les versions prises en charge
- PHP 8.1, 8.2 et 8.3 (nécessite B2B 1.5.0)
- Composer
Plateformes prises en charge
- Adobe Commerce sur les infrastructures cloud (ECE)
- Adobe Commerce On-Premise (EE)
Etapes d'installation
Conditions préalables
-
Accédez à repo.magento.com pour télécharger l’extension. Pour la génération des clés et l’obtention des droits nécessaires, voir Obtenir vos clés d’authentification.
Enregistrez les clés d’authentification pour l’installation en les définissant globalement dans votre répertoire COMPOSER_HOME. Vous pouvez également les enregistrer dans un fichier auth.json dans le répertoire racine de l’application Adobe Commerce.
-
Version prise en charge de l’extension B2B-Déterminez la version la plus récente de l’extension B2B prise en charge sur la version Adobe Commerce déployée.
-
Consultez les notes de mise à jour pour obtenir les informations les plus récentes sur la compatibilité des versions, les mises à jour ou les modifications pouvant affecter les exigences d’installation ou de mise à niveau.
Installez l’extension B2B (magento/b2b-extension
) à l’aide du compositeur. L’extension est un métapaquet de compositeur qui inclut la collection de modules qui activent les fonctionnalités B2B pour une instance Adobe Commerce. Pour obtenir la liste des modules inclus, voir Packages B2B.
Adobe recommande de travailler dans une branche de développement lors de l’ajout de l’extension B2B à votre projet. Si vous ne disposez pas d’une branche, voir Créer une branche pour le développement. Lors de l’installation de l’extension B2B, le nom de l’extension Magento_B2b
est automatiquement inséré dans le fichier app/etc/config.php
. Il n’est pas nécessaire de modifier directement le fichier.
Pour installer l’extension B2B :
-
Sur votre station de travail locale, accédez au répertoire du projet.
-
Créez ou extrayez une branche de développement.
-
Ajoutez l’extension B2B à la section
require
du fichiercomposer.json
.composer require magento/extension-b2b --no-update
-
Mettez à jour les dépendances du projet.
composer update
-
Ajout, validation et modifications de code push.
git add -A
git commit -m "Install the B2B extension."
git push origin <branch-name>
NOTE
L’envoi de mises à jour à l’environnement cloud lance le processus de déploiement cloud de Commerce pour appliquer les modifications. Vérifiez le statut du déploiement dans le journal de déploiement. Si vous rencontrez des erreurs de déploiement, reportez-vous à la section Récupération après une défaillance de composant. -
Une fois la création et le déploiement terminés, utilisez SSH pour vous connecter à l’environnement distant et vérifier que l’extension B2B est installée et activée.
bin/magento module:status Magento_B2b
Un nom d’extension utilise le format suivant :
<VendorName>_<ComponentName>
.Exemple de réponse :
Magento_B2b : Module is enabled
-
Dans le répertoire racine de l’application Adobe Commerce, mettez à jour le
composer.json
pour ajouter les dépendances de l’extension B2B :composer require magento/extension-b2b:<version>
Si une erreur se produit, par exemple :
[InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
Vérifiez l’orthographe du package, votre contrainte de version, et assurez-vous que le package est disponible et correspond à vos exigences de stabilité minimale (stable).
-
Si vous y êtes invité, saisissez vos clés d’authentification.
Votre clé publique est votre nom d’utilisateur ; votre clé privée est votre mot de passe. Si vous avez stocké vos clés publiques et privées dans
auth.json
, vous n’êtes pas invité à vous authentifier. -
Exécutez les commandes suivantes une fois que le compositeur a terminé la mise à jour des modules :
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:clean
NOTE
En mode Production , il se peut que vous receviez un message àPlease rerun Magento compile command
. Saisissez les commandes pour terminer l’installation. Adobe Commerce ne vous invite pas à exécuter la commande compiler en mode Développeur.
Une fois l’installation terminée, configurez et démarrez les consommateurs de messages.
Consommateurs de messages
L’extension Adobe Commerce B2B utilise MySQL pour la gestion des files d’attente de messages. Le tableau suivant répertorie les consommateurs de messages qui prennent en charge les fonctionnalités B2B. Après avoir installé l’extension, démarrez les consommateurs de messages pour les fonctionnalités B2B requises pour votre storefront Commerce.
sharedCatalogUpdatePrice
sharedCatalogUpdateCategoryPermissions
negotiableQuotePriceUpdate
purchaseorder.toorder
purchaseorder.transactional.email
purchaseorder.validation
quoteItemCleaner
inventoryQtyCounter
async.operations.all
Configuration des consommateurs de messages
Empêchez d’éventuels problèmes ou retards de traitement en ajoutant les paramètres suivants lorsque vous démarrez les consommateurs de messages pour les fonctionnalités B2B.
-
--max-messages <value>
: indique le nombre maximal de messages que chaque client doit traiter avant de s'arrêter (par défaut = 10000). Bien qu’Adobe ne le recommande pas, vous pouvez utiliser la valeur 0 pour empêcher le client de s’arrêter. La bonne pratique pour une application PHP est de redémarrer les processus de longue durée pour éviter les fuites de mémoire. -
--batch-size <value>
: permet de limiter les ressources système consommées par les consommateurs (CPU, mémoire). L’utilisation de lots plus petits réduit l’utilisation des ressources et, par conséquent, ralentit le traitement. Si spécifié, les messages d'une file d'attente sont consommés par lots de<value>
chacun. Cette option s’applique uniquement au client par lots. Si--batch-size
n’est pas défini, le client par lots reçoit tous les messages disponibles dans une file d’attente.
Pour plus d’informations sur les options de configuration supplémentaires, voir Configuration spécifique.
Démarrer les consommateurs de messages
Pour activer les opérations asynchrones pour les fonctionnalités B2B, vous devez démarrer plusieurs consommateurs de messages.
-
Répertoriez les consommateurs de messages disponibles :
bin/magento queue:consumers:list
La commande renvoie les consommateurs de messages disponibles, y compris tous les consommateurs B2B.
-
Démarrez chaque client séparément :
bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
Par exemple :
bin/magento queue:consumers:start quoteItemCleaner
&
à la commande, revenez à une invite et continuez à exécuter les commandes. Par exemple : bin/magento queue:consumers:start sharedCatalogUpdatePrice &
.Pour plus d’informations, voir Gérer les files d’attente de messages dans le Guide de configuration.
Ajouter des consommateurs de messages à cron
Vous pouvez automatiser le planning d’exécution des consommateurs de messages SharedCatalogUpdateCategoryPermissions
et SharedCatalogUpdatePrice
en ajoutant le planning au fichier de configuration cron /app/code/Magento/MessageQueue/etc/crontab.xml.
* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &
Vous pouvez également configurer des plannings pour les consommateurs de messages à partir des paramètres de configuration de la boutique dans Admin.
Activer les fonctionnalités B2B dans l’administration
Après avoir installé l’extension B2B d’Adobe Commerce et démarré les consommateurs de messages, vous devez également activer les fonctionnalités B2B dans l’administration.