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
.