Drupal 8 multisite – aperçu
La raison principale d’utiliser une installation multisite Drupal est de vous faire gagner du temps lorsque vous gérez plusieurs sites Drupal avec la même version du noyau Drupal. Chaque fois qu’une nouvelle mise à jour du noyau Drupal est publiée, vous n’aurez à effectuer cette mise à jour que sur un seul ensemble de code, et non sur chaque site. Cependant, il existe aussi des inconvénients. Ceux-ci sont toutefois atténués si vous utilisez le système d’hébergement Aegir.
Sinon, les complexités et problèmes potentiels liés à la gestion manuelle d’une installation multisite exigent des compétences techniques assez avancées. Les utilisateurs ayant ce niveau de connaissances sont généralement familiers avec l’utilisation de la « ligne de commande », et depuis la ligne de commande, vous pouvez mettre à jour chaque site administré en moins de 2 minutes. Avec Aegir, cela va encore plus vite, puisque tous les sites peuvent être mis en file d’attente pour des mises à jour en mode « pointer-cliquer », mettant à jour toute la plateforme (Aegir-talk pour la base de code multisite) vers une version plus récente. Tous les sites qui ne fonctionnent pas seront automatiquement restaurés.
Les bases du multisite
Bien qu’un site Drupal nécessite un serveur web (comme Apache ou IIS), un système de base de données (comme MySQL ou MSSql) et un interpréteur PHP, tout ce qui est unique à votre site est contenu dans votre base de données et votre base de code.
Mettre à jour le noyau Drupal revient essentiellement à remplacer votre base de code. Votre base de données reste inchangée, sauf qu’après avoir remplacé la base de code, vous devez exécuter le « script de mise à jour » [VOTRESITE/update.php] pour chaque site.
Raisons d’utiliser une base de données par site
Les bases de données fonctionnent en arrière-plan et sont gérées par la base de code. En général, vous n’aurez jamais à vous soucier de la base de données.
Tenter d’utiliser une seule base de données pour plusieurs sites réussira rarement, voire jamais. La petite économie d’espace disque que vous pourriez obtenir en n’ayant qu’une base de données est largement éclipsée par les problèmes potentiels que vous pourriez rencontrer.
- Si les données d’un site sont accidentellement corrompues par vous ou d’autres utilisateurs, ou endommagées suite à une attaque malveillante, cela peut affecter tous les sites.
- La base de données se compose de nombreuses « tables ». Si vous décidez de déplacer un de vos sites hors de la configuration multisite, il vous sera difficile de déterminer quelles tables appartiennent à chaque site, et lesquelles sont partagées entre tous les sites.
Une base de code par site
Théoriquement, avoir une seule base de code pour tous les sites utilisant la même version de Drupal serait une économie de temps et d’espace disque.
L’espace disque est peu coûteux, alors oublions cela.
Comme mentionné ci-dessus, la mise à jour de chaque site Drupal après la sortie d’une nouvelle version de base peut être réalisée en quelques minutes via la ligne de commande. Il vaut donc mieux investir du temps à apprendre cette compétence plutôt que d’essayer de mettre en place et dépanner une configuration multisite.
Le partage de la base de code ne serait vraiment utile que si tous vos sites utilisent les mêmes modules et configurations, comme par exemple si vous gérez plusieurs sites distincts et individuels pour chaque équipe sportive d’une ligue.
Cependant, si plusieurs sites que vous administrez utilisent des modules différents, vous risquez de rencontrer une erreur dans un module utilisé par seulement certains sites, ce qui pourrait perturber le fonctionnement de tous les sites.
Configuration multisite Drupal 8
Si vous souhaitez configurer des sites Drupal en configuration multisite, commencez ici.