[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Exemple avec des variables d’environnement

Cet exemple montre comment définir des valeurs partagées, spécifiques au système et sensibles dans votre système de développement, puis définir toutes les valeurs dans votre système de production à l’aide d’une combinaison des variables d’environnement de configuration partagée, config.php et PHP.

Ces paramètres de configuration peuvent être partagés entre les systèmes de développement et de production :

Numéro de TVA et nom du magasin dans Magasins > Paramètres > Configuration > Général > Général

Ces paramètres de configuration sont spécifiques au système ou sensibles, comme indiqué :

  • Envoyer des e-mails à (sensible) depuis Magasins > Paramètres > Configuration > Général > Contacts
  • Domaine d’e-mail par défaut (spécifique au système) à partir de Magasins > Paramètres > Configuration > Clients > Configuration client > Options de création de compte

Vous pouvez utiliser la même procédure pour configurer des paramètres dans les références suivantes :

Avant de commencer

Avant de commencer, configurez les autorisations et la propriété du système de fichiers, comme indiqué dans la section Conditions préalables au développement, à la création et aux systèmes de production.

Hypothèses

Cette rubrique fournit un exemple de modification de la configuration du système d’exploitation. Vous pouvez choisir différentes options de configuration si vous le souhaitez.

Pour les besoins de cet exemple, nous supposons que :

  • Vous utilisez le contrôle de code source Git.
  • Le système de développement est disponible dans un référentiel distant Git nommé mconfig
  • Votre branche de travail Git est nommée m2.2_deploy

Étape 1 : définir la configuration dans le système de développement

Pour définir les paramètres régionaux et les unités de poids par défaut dans votre système de développement :

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Général > Général.

  3. Si plusieurs sites web sont disponibles, utilisez la liste Affichage de la boutique située dans le coin supérieur gauche pour passer à un autre site web, comme le montre l’illustration suivante.

    Changer de site web

  4. Dans le volet de droite, développez Informations du magasin.

  5. Si nécessaire, décochez la case Utiliser par défaut en regard du champ Numéro de TVA.

  6. Saisissez un nombre dans le champ (par exemple, 12345).

  7. Dans le champ Nom de la boutique, saisissez une valeur (comme My Store).

  8. Cliquez sur Enregistrer la configuration.

  9. Utilisez la liste Affichage de la boutique pour sélectionner la configuration par défaut comme le montre la figure suivante.

    Passer à la configuration par défaut

  10. Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.

  11. Désélectionnez la case Utiliser la valeur par défaut en regard du champ Envoyer des e-mails à.

  12. Saisissez une adresse e-mail dans le champ.

  13. Cliquez sur Enregistrer la configuration.

  14. Dans le volet de gauche, cliquez sur Clients > Configuration du client.

  15. Dans le volet de droite, développez Options de création de compte.

  16. Désélectionnez la case Utiliser la valeur système en regard du champ Domaine d’e-mail par défaut.

  17. Saisissez un nom de domaine dans le champ .

  18. Cliquez sur Enregistrer la configuration.

  19. Si vous y êtes invité, videz le cache.

Étape 2 : mettre à jour la configuration

Maintenant que vous avez modifié la configuration dans l’administration, écrivez la configuration partagée dans un fichier , comme indiqué dans cette section.

Pour mettre à jour la configuration :

  1. Connectez-vous à votre système de développement en tant que propriétaire du système de fichiers ou passez à ce système.

  2. Passez à la racine de l’application et exécutez la commande dump.

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    Par exemple, si Commerce est installé dans /var/www/html/magento2, saisissez :

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. Vérifiez que app/etc/config.php a été mis à jour.

    code language-bash
    git status
    

    Exemple de réponse :

    code language-none
    On branch m2.2_deploy
    Changed but not updated:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
           modified:   app/etc/config.php
    
    note warning
    WARNING
    N’envoyez pas les modifications apportées aux répertoires generated, pub/media ou pub/static au contrôle de code source. Vous générez ces fichiers sur votre système de génération. Le système de développement comporte probablement du code, des thèmes, etc., qui ne sont pas prêts à être utilisés sur le système de production.
  4. Archivez vos modifications dans app/etc/config.php uniquement au contrôle de code source.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

Notez que même si app/etc/env.php (la configuration spécifique au système) a été mise à jour, ne l’archivez pas dans le contrôle de code source. Vous allez créer les mêmes paramètres de configuration sur votre système d’exploitation plus loin dans cette procédure.

Étape 3 : mettre à jour votre système de génération et générer des fichiers

Maintenant que vous avez validé vos modifications de la configuration partagée dans le contrôle de code source, vous pouvez extraire ces modifications dans votre système de génération, compiler le code et générer des fichiers statiques. La dernière étape consiste à apporter ces modifications à votre système de production.

Pour mettre à jour le système de build :

  1. Connectez-vous au système de génération en tant que propriétaire du système de fichiers.

  2. Accédez au répertoire racine de l’application.

    code language-bash
    cd <Magento root dir>
    
  3. Extrayez les modifications apportées à app/etc/config.php à partir du contrôle de code source.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Compilez le code.

    code language-bash
    bin/magento setup:di:compile
    
  5. Une fois le code compilé, générez des fichiers de vue statiques.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Vérifiez les modifications dans le contrôle de code source.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

Etape 4 : Mise à jour du système d'exploitation

La dernière étape du processus consiste à mettre à jour votre système de production. Vous devez le faire en deux parties :

  • Mettre à jour les paramètres sensibles et spécifiques au système
  • Mettre à jour les paramètres partagés

Mettre à jour les paramètres sensibles et spécifiques au système

Pour définir les paramètres sensibles et spécifiques au système à l’aide de variables d’environnement, vous devez connaître les éléments suivants :

  • Portée de chaque paramètre

    Si vous avez suivi les instructions de l’étape 1, la portée de l’option Envoyer des e-mails à est globale (c’est-à-dire la portée Configuration par défaut ) et la portée du domaine d’e-mail par défaut est site web.

    Vous devez connaître le code du site web pour définir la valeur de configuration Domaine de messagerie par défaut . Voir Utilisation des variables d’environnement pour remplacer les paramètres de configuration pour plus d’informations sur la manière de le trouver.

  • Chemin de configuration pour chaque paramètre

    Les chemins de configuration utilisés dans cet exemple sont les suivants :

    table 0-row-2 1-row-2 2-row-2
    Nom du paramètre Chemin de configuration
    Envoyer Des E-Mails À contact/email/recipient_email
    Domaine d’e-mail par défaut customer/create_account/email_domain

    Vous trouverez tous les chemins de configuration sensibles et spécifiques au système dans la référence des chemins de configuration sensibles et spécifiques au système.

Convertir les chemins de configuration en noms de variables

Comme indiqué dans la section Utilisation des variables d’environnement pour remplacer les paramètres de configuration, le format des variables est le suivant :

<SCOPE>__<SYSTEM__VARIABLE__NAME>

La valeur de <SCOPE> est CONFIG__DEFAULT__ pour la portée globale ou CONFIG__WEBSITES__<WEBSITE CODE> pour la portée du site web.

Pour rechercher la valeur de <SYSTEM__VARIABLE__NAME>, remplacez chaque caractère / dans le chemin de configuration par deux traits de soulignement.

Les noms des variables sont les suivants :

Nom
Chemin de configuration
Nom de la variable
Envoyer Des E-Mails À
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
Domaine d’e-mail par défaut
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
INFO
Le tableau précédent contient un exemple de code de site web, BASE, pour le paramètre de configuration Domaine d’e-mail par défaut . Remplacez BASE par le code de site web approprié pour votre boutique.

Définition des variables à l’aide de variables d’environnement

Vous pouvez définir les valeurs de variable dans le index.php à l’aide du format suivant :

$_ENV['VARIABLE'] = 'value';

Pour définir des valeurs de variable :

  1. Connectez-vous à votre système de production en tant que propriétaire du système de fichiers ou passez à ce dernier.

  2. Ouvrez <Commerce root dir>/pub/index.php dans un éditeur de texte.

  3. N’importe où dans index.php, définissez des valeurs pour les variables similaires à ce qui suit :

    code language-php
    $_ENV['CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL'] = 'myname@example.com';
    $_ENV['CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN'] = 'magento.com';
    
  4. Enregistrez vos modifications dans pub/index.php et quittez l’éditeur de texte.

  5. Passez à la section suivante.

Mettre à jour les paramètres partagés

Cette section explique comment extraire toutes les modifications que vous avez apportées à vos systèmes de développement et de création, ce qui met à jour les paramètres de configuration partagés (nom de magasin et numéro de TVA).

Pour mettre à jour le système d’exploitation :

  1. Connectez-vous au système d’exploitation en tant que propriétaire du système de fichiers.

  2. Passez à la racine de l’application et activez le mode de maintenance.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    Pour d’autres options, telles que la possibilité de définir une liste autorisée d’adresses IP, voir magento maintenance:enable.

  3. Arrêtez tous les programmes de traitement de file d’attente en cours d’exécution en définissant cron_run sur false dans app/etc/env.php comme suit :

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Mettez à jour la configuration.

    code language-bash
    bin/magento app:config:import
    
  5. Enfin, kill tous les processus consommateurs actifs.

    code language-bash
    kill <PID>
    

    PID est l’ID du processus à interrompre, par exemple :

    code language-bash
    kill 1234
    
  6. Extrayez le code du contrôle de code source.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Mettez à jour la configuration.

    code language-bash
    bin/magento app:config:import
    
  8. Nettoyez le cache.

    code language-bash
    bin/magento cache:clean
    
  9. Terminez le mode de maintenance.

    code language-bash
    bin/magento maintenance:disable
    

Vérification des paramètres de configuration dans l’Administration

Cette section explique comment vérifier les paramètres de configuration dans l’administration de votre système d’exploitation.

Pour vérifier les paramètres de configuration :

  1. Connectez-vous à l’administrateur de votre système d’exploitation.

  2. Cliquez sur Magasins > Paramètres > Configuration > Général > Général.

  3. Utilisez la liste Affichage de la boutique dans le coin supérieur gauche pour passer à un autre site web.

    Les options de configuration partagées que vous définissez dans le système de développement s’affichent de la manière suivante.

    Vérification des paramètres dans le système d’exploitation

    note info
    INFO
    Le champ Nom de la boutique est modifiable dans la portée du site web, mais si vous passez à la portée Configuration par défaut, il n’est pas modifiable. C’est le résultat de la manière dont vous définissez les options dans le système de développement. La valeur de numéro de TVA n’est pas modifiable dans la portée du site web.
  4. Si vous ne l’avez pas déjà fait, passez à la portée Configuration par défaut .

  5. Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.

    Le champ Envoyer des e-mails à n’est pas modifiable, comme le montre la figure suivante. Il s’agit d’un contexte sensible.

    Vérification des paramètres dans le système d’exploitation

  6. Dans le volet de gauche, cliquez sur Clients > Configuration du client.

  7. Dans le volet de droite, développez Options de création de compte.

    La valeur du champ Domaine d’e-mail par défaut s’affiche comme suit. Il s’agit d’un paramètre spécifique au système.

    Vérification des paramètres dans le système d’exploitation

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c