Process Drupal avec GIT
Inclure dans drupal.fr

Faisant partie de l’un des CMS les plus puissants, Drupal permet de créer un large panel de sites internet. En effet, grâce à l’intégration de ses nombreux modules, ce CMS répond à de multiples besoins, offrant la possibilité de proposer des solutions sur-mesures, allant de la création d’un simple site vitrine à un site plus élaboré. 

Suivant l’envergure du projet, il est important d’organiser son espace de travail correctement, surtout si vous êtes plusieurs à travailler dessus. C’est pour cela qu’il est important d’utiliser un outil de gestion permettant de versionner votre travail. L’outil de gestion pour le versionning sur Drupal permet de synchroniser les différents environnements avec la configuration et les nouveaux ajouts. 

Pour rappel, le système de configuration de Drupal 9 stock l’ensemble des informations du site (blocks, vues, types de champs et de contenus, taxonomie…) sans inclure les données (contenu des blocs, terme de taxonomie, valeur des champs, ...). 

Une modification sur le Back-office de Drupal n’est ainsi pas automatiquement modifiée sur le fichier yml de l’objet modifié. Après une modification, il est donc nécessaire d’exporter la configuration (qui va modifier le fichier config/sync) pour pouvoir faire passer le dossier de configuration par le git.

Aujourd’hui nous allons voir comment créer un processus Drupal avec le gestionnaire de version GIT. 

Comme vous le savez certainement, Drupal est un système de gestion de contenu libre, performant et simple à utiliser. Mais qu’en est-il de GIT ? GIT est un logiciel de version décentralisé qui permet aux différents développeurs d’une même équipe de travailler en toute sécurité. La possibilité de versionner le travail validé permet d’augmenter la sécurité ainsi que d’améliorer la gestion de votre projet.

Rappel

Pour rappel, GIT est un logiciel de version décentralisé qui permet aux différents développeurs d’une même équipe de travailler en toute sécurité. La possibilité de versionner le travail validé permet d’augmenter la sécurité ainsi que d’améliorer la gestion de votre projet. 

Afin de correctement débuter ce tutoriel, il est bon de rappeler quelques règles et points importants.

Premièrement, il est nécessaire d’avoir composer d’installé. Pour cela, un de nos experts Drupal vous a rédigé un article sur comment créer un projet Drupal 9 avec Composer. Si vous souhaitez avoir davantage d’informations à ce sujet, nous vous recommandons de lire cet article en amont.

Néanmoins, voici quelques rappels : 

Créer un projet avec composer : 

composer create-project drupal/recommended-project my-project

Mettre à jour tous les modules de composer.lock :

composer update

Installer tous les modules présents dans le composer.lock

composer install

Installer de nouveaux modules

composer require

 

Composer.json

Le rôle principal du fichier composer.json est de stocker la configuration des paquets à installer ainsi que leurs contraintes de version (https://getcomposer.org/doc/articles/versions.md)

Composer.lock

Le rôle de ce fichier est de stocker les versions des paquets qui ont été installés lors de l’appel à la commande “composer install”.

Son objectif est de conserver les mêmes versions des paquets lors d’un déploiement de l’application ou lors de la récupération du projet par un collègue. 

Cela permet d’éviter tous les effets de bord possible lié au changement de version d’un composant. 

 

Création d’un repository GIT via interface web

Il est possible de créer un repository GIT seulement via l’interface web, cette solution peut être plus simple dans un premier temps.

Pour cela, il faut tout d’abord créer un nouveau repository GIT

GIT 1l

Vous pouvez ensuite configurer le repository GIT.

/!\ Rappel :

README file : ce fichier correspond à un fichier de documentation afin d’informer les utilisateurs externes à votre projet sur son fonctionnement. 

img GIT 2

La dernière étape est de récupérer le repository GIT. Pour cela, différentes méthodes s'offrent à vous selon la situation. Dans notre cas, nous allons utiliser la première méthode mais, nous vous conseillons de prendre connaissance des deux autres car elles peuvent mieux s’adapter à votre besoin. 

img Drupal 3

La méthode de création du repository GIT via l’interface web est plus facile à prendre en main si vous débutez avec l’outil. Cependant si vous êtes déjà familiarisé avec celui-ci vous pouvez tout à fait utiliser la deuxième méthode qui elle, vous fera gagner un peu plus de temps.

Création d'un repository GIT via ligne de commande 

La deuxième méthode consiste à créer un repository git via une ligne de commande. Vous trouverez ci-dessous les étapes à suivre : 

  • Aller dans le dossier contenant votre projet
  • Taper sur votre terminal 'git init'
  • Taper 'git add' de tous vos fichiers / dossier pouvant être ajouté sur le repository git
  • Vous voudrez probablement créer un fichier .gitignore tout de suite, pour indiquer tous les fichiers que vous ne voulez pas suivre. Utilisez également 'git add .gitignore'. 
  • Taper git commit -m “votre message”

Une fois que vous avez fini les étapes précédentes, rendez vous sur l’interface web de git. En effet, il est obligatoire d’aller sur l’interface web de git pour cette partie.

Créer un nouveau repository git puis suivez les prochaines commandes :

  • git branch -M main
  • git remote add origin git@github.com:username/new_repo
  • git push -u origin master

 

Configuration du GIT 

Une fois votre repository GIT créé, il est nécessaire de le configurer.

Tout d'abord vérifions que le dépôt soit bien opérationnel.

Ajoutons une modification au repository (soit par l'ajout de fonctionnalités ou soit par la création d'un fichier vide pour le test)

git add “chemin vers le dossier ou fichier à ajouter”

Sauvegardons l’ajout de contenu

git commit -m “description du commit”

Poussons les modifications sur le repository GIT

git push

 Si aucune erreur n'est survenue, nous pouvons passer à la suite.

Une des fonctionnalités de GIT les plus intéressantes est la possibilité de créer plusieurs branches (environnement en quelque sorte) afin de créer différentes versions sur votre repository.

Ex :

Une branche de développement et une branche de test

Une branche IA et une branche application

Voici comment créer des branches : 

git branch “nom de la branche”

 Il est également possible de créer et de basculer vers une nouvelle branche en une seule commande avec : 

git checkout-b "nom de la branche"

Voici comment changer de branche :

git checkout "nom de la branche"

GIT offre également la possibilité d’éditer un fichier nommé .gitignore permettant de spécifier les fichiers et dossiers que GIT ignore automatiquement et ne pas ajouter à vos push.

Ex :

/vendor/

/web/modules/contrib

/web/themes/contrib

Importer/exporter la configuration Drupal 

Nous vous recommandons d’installer le module drush afin de manipuler la configuration plus simplement.

Pour un accès plus simple au fichier de synchronisation, il est possible de modifier son chemin dans le fichier settings.php en changeant la ligne 

“$settings['config_sync_directory']'sites/default/sync' ;”

par -

“$settings['config_sync_directory']'chemin vers mon dossier' ;”

 Si votre version Drupal est inférieure à la version 8.8 il faut changer cette ligne

“$settings['config_sync_directory']'sites/default/sync';” (dans site/default/sync)

par -

“$config_directories[CONFIG_SYNC_DIRECTORY]'chemin vers mon dossier' ;”

Maintenant, voyons comment importer, exporter et versionner la configuration avec GIT. 

Après avoir fait une modification sur un contenu touchant à la configuration Drupal (ex: un block), si vous souhaitez faire passer cette modification par le GIT :

Voici la commande afin d’exporter la configuration actuelle de votre projet Drupal

drush cex

Après l’exportation de la configuration, il faut la pousser sur le GIT

git add config/sync
git commit -m “description du commit”
git push

Si vous souhaitez à présent importer une configuration

git pull
drush cim (partie non obligatoire normalement, déjà dans les scripts de déploiement)

Maintenant que vous avez suivi toutes les étapes de cet article, vous êtes capable de créer un repository et de créer un process avec un projet Drupal. N’hésitez pas à nous contacter si vous avez des questions via notre formulaire de contact ou en postant directement un commentaire sous cet article. 

Ajouter un commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.