Béjean Développement

Configurer Magento 2 en ligne de commande

Objectif

Réaliser quelques configurations en ligne de commande.

La commande bin/magento

Le ligne de commande bin/magento comporte plusieurs options vous permettant de configurer votre boutique en ligne.

Nous allons voir ici, quelques commandes très utiles.

Aide

Vous pouvez afficher l'aide en lançant simplement cette commande :

bin/magento help

Le fichier correspond à cette commande est accessible à cet emplacement : vendor/symfony/console/Command/HelpCommand.php

Comptes administrateurs

Il est possible de créer vos comptes administrateurs en lançant la commande :

bin/magento admin:user:create

Le fichier correspond à cette commande est accessible à cet emplacement : vendor/magento/magento2-base/setup/src/Magento/Setup/Console/Command/AdminUserCreateCommand.php

Cette commande accepte des arguments supplémentaires vous permettant de faciliter la création des administrateurs, voici la liste des options acceptées :

  • --admin-user
  • --admin-password
  • --admin-email
  • --admin-firstname
  • --admin-lastname

Dans certains cas, il vous sera possible de débloquer les comptes administrateurs bloqués, en lançant la commande :

bin/magento admin:user:unlock

Pour exécuter cette commande, vous serez obligé de préciser le nom d'utilisateur du compte administrateur qui nécessitera d'être débloqué.

Configuration

Les commandes que nous allons voir ici sont très utiles car elles permettent de vérifier la configuration de votre boutique mais elles peuvent également vous permettre de modifier la configuration.

En lançant la commande ci-dessous, vous aurez, en retour, toute la configuration du scope default de votre boutique en ligne.

bin/magento config:show

Avant d'aller plus loin, il faut savoir qu'une boutique Magento peut contenir un ou plusieurs website. Chaque website peut contenir un ou plusieurs store et pour terminer chaque store peut contenir un ou plusieurs store view. A la création de chacun de ces éléments, il vous sera demandé de préciser un code. Par défaut, une boutique contient un environnement global ayant le code default. Ce dernier contient un website ayant le code base, qui lui-même contient un store ayant le code main_website_store qui lui contient un store view ayant le code default. Pour en savoir davantage, voici le lien vers la documentation.

La commande bin/magento config:show accepte des paramètres permettant d'affiner le résultat. Par exemple, vous pouvez exécuter la commande avec les paramètres scope et scope-code.

Pour le paramètre scope, vous avez le choix entre default, website et store.

Pour l'argument scope-code, il faut lancer les commandes bin/magento store:website:list ou bin/magento store:list pour connaître le code associé au scope.

Par exemple, en ajoutant --scope default à la commande précédente, nous obtiendrons le même résultat.

bin/magento config:show --scope default

Contrairement au scope default, si on choisit le scope website ou store, il faut préciser le scope-code. Par exemple :

bin/magento config:show --scope website --scope-code base

Dans ce cas, nous allons récupérer l'ensemble de la configuration du website ayant le code base. Pour récupérer la configuration du store créé par défault, il faut exécuter la commande :

bin/magento config:show --scope store --scope-code default

Il est encore possible d'aller plus loin en précisant le path. Ceci permet de récupérer uniquement la valeur, par exemple :

bin/magento config:show --scope store --scope-code default general/country/default

En remplaçant la commande bin/magento config:show par bin/magento config:set, il est possible modifier la configuration de votre boutique. Pour modifier le pays par défaut de votre boutique, il faut lancer la commande :

bin/magento config:set general/country/default FR

Vous pouvez également aller plus loin en spécifiant le scope ainsi que le scope-code.

Modules

La commande bin/magento module:status vous permet de lister l'ensemble des modules présent dans votre installation. Le résultat est séparé en 2. Dans la première liste, vous aurez la liste des modules actifs, puis la liste des modules inactifs.

Pour activer un module, vous devez exécuter la commande :

bin/magento module:enable NicolasBejean_Base

La valeur NicolasBejean_Base correspond au nom de votre module. Cette valeur est définie dans le fichier registration.php situé à la racine de votre module.

La commande module:enable permet d'activer plusieurs modules simultanément, en les séparant par un espace. Il existe également la commande bin/magento module:disable pour désactiver un ou plusieurs modules. Cette commande vous indiquera si le module que vous souhaitez désactiver est nécessaire au bon fonctionnement d'un autre module, par exemple, si vous désactiver le module PayPal_Braintree, vous aurez une erreur car le module PayPal_BraintreeGraphQl, si, il est actif, dépend du précédent module. Il faudra donc désactiver le module PayPal_BraintreeGraphQl pour pouvoir désactiver le module PayPal_Braintree. Etrangement, l'inverse n'est pas vrai, il faut possible d'activer le module PayPal_BraintreeGraphQl alors que le module PayPal_Braintree est désactivé. Et vous n'aurez pas d'erreurs lors de l'exécution des commandes bin/magento setup:upgrade et bin/magento setup:di:compile.

Les fichiers sources des commandes module sont disponibles dans le dossier : vendor/magento/magento2-base/setup/src/Magento/Setup/Console/Command.