9.9.2. Config Split, Config Ignore. Création de configurations variées pour différentes instances.
Très souvent, l’accès aux services tiers doit être différent entre les environnements de développement et de production. Pour gérer cela via les configurations, vous devez utiliser le module Configuration Split :
https://www.drupal.org/project/config_split
Après avoir activé le module Config Split, vous pourrez spécifier des dossiers pour chaque instance. Rendez-vous sur la page des réglages Configuration Split du module Configuration :
/admin/config/development/configuration/config-split
Ajoutons maintenant des réglages de split pour les instances local, dev, live.
Le chemin vers le dossier peut être spécifié immédiatement si le chemin est identique sur toutes les instances. Il faudra également désactiver la case Active, nous activerons la configuration nécessaire via le fichier settings.php sur chaque instance séparément.
Après avoir ajouté les réglages Config Split, il faut créer les dossiers config/local, config/dev, config/live :
Activer maintenant la configuration locale sur notre instance locale :
$config['config_split.config_split.local']['status'] = TRUE;
De même, ajoutez dans settings.php les lignes suivantes pour les instances dev et live :
// Dev
$config['config_split.config_split.dev']['status'] = TRUE;
// Live
$config['config_split.config_split.live']['status'] = TRUE;
Pour redéfinir une configuration pour une instance spécifique, il suffit de déposer la configuration souhaitée dans le dossier correspondant. Par exemple, renommage du nom du site pour la version locale :
/config/local/system.site.yml :
uuid: e6754486-60a0-48ad-b2d1-84a9b46926f4
name: 'DrupalBook Lessons - Local Site'
mail: levmyshkin89@gmail.com
slogan: ''
page:
403: ''
404: ''
front: /node
admin_compact_mode: false
weight_select_max: 100
langcode: en
default_langcode: en
_core:
default_config_hash: yXadRE77Va-G6dxhd2kPYapAvbnSvTF6hO4oXiOEynI
Sur la page Synchronisation de configuration, vous verrez alors la configuration surchargée :
Vous pouvez ainsi définir des accès différents sur chaque instance pour SMTP, Salesforce, systèmes de paiement et autres services.
Config Ignore
Peut-être que vous ne souhaitez pas que vos accès SMTP soient dans les configurations et ajoutés au dépôt Git. Dans ce cas, vous pouvez ajouter ces réglages SMTP à Config Ignore avec le module Configuration Ignore :
https://www.drupal.org/project/config_ignore
Nous avons utilisé Config Split pour faire différentes configurations du nom du site. Vous pouvez aussi ajouter les configurations system.site à ignorer. Rendez-vous sur la page des réglages Config Ignore :
/admin/config/development/configuration/ignore
Ajoutez la configuration system.site à la liste des ignorés :
Sur la page Synchronisation de configuration, les configurations mises à jour et ignorées apparaîtront dans une section séparée :