Il s'agit d'un problème non trivial pour lequel presque tout le monde a une réponse différente: il n'y a pas de méthode canonique Drupal pour gérer la mise en scène en pousses de production. Dries Buytaert, le responsable du spectacle Drupal, en a fait l’une des initiatives clés de Drupal 8 . Bien sûr, Drupal 7 vient de sortir, il faudra donc attendre longtemps avant de porter ses fruits.
Le problème peut être divisé en deux problèmes distincts:
- Configuration intermédiaire (variables, types de contenu, champs, vues, etc.)
- Contenu de staging (nœuds, utilisateurs, etc.)
Les premières peuvent être gérées principalement par le module Features , qui transformera votre configuration de site en un module que vous pourrez ajouter à votre installation Drupal: vous pourrez ainsi l'ajouter à votre système de contrôle de version sans avoir à vous en soucier. être époustouflé lorsque vous migrez votre contenu.
Ce dernier point est vraiment délicat, car sur un site actif, il est probable que le contenu change en production même après la synchronisation initiale avec votre environnement de développement. Cela empêche le remplacement en gros du contenu lors de la mise en place, comme vous pouvez le faire avec la configuration.
De plus, Drupal n'utilise pas d'identificateurs universels uniques (UUID) pour le contenu: chaque fois qu'un nœud ou un utilisateur est ajouté, l'ID augmente de un. Le noeud 45 de votre site de développement peut donc être le noeud 90 de votre site de production.
Malheureusement, je n'ai pas de bonne solution pour cela: la mise en page de contenu est une faiblesse réelle de Drupal. Ce que je fais personnellement, c'est ajouter du contenu sur le site de production uniquement. Si un client souhaite savoir à quoi ressemble le contenu avant sa mise en ligne, je vais configurer un clone du site de production uniquement accessible au client. Ensuite, une fois approuvées, les mêmes modifications sont ensuite apportées directement à la production.
Une autre alternative est proposée: le module Deploy . Il est supposé utiliser les services pour rendre le contenu de la mise en scène relativement simple. Mais je ne peux pas garantir son efficacité et il n’a pas de version Drupal 7.