Mardi 12 novembre 2024
Tout ce qu'il faut savoir sur le multisite Drupal

Le multisite Drupal est une fonctionnalité native et puissante qui permet de gérer plusieurs sites web à partir d'une seule installation de Drupal et d’un socle technologique identique. C’est donc une solution à la fois économique et puissante pour ceux qui souhaitent créer plusieurs projets.

    Qu’est-ce que le multisite Drupal ?

    Votre organisation a des besoins spécifiques qui impliquent la création et la maintenance de plusieurs sites Internet ? Alors, vous avez sans doute trouvé la bonne solution.

    Créez et gérer simplement plusieurs sites web

    Le multisite Drupal est une fonctionnalité du CMS qui permet aux administrateurs de créer et de gérer plusieurs sites à partir d’une seule instance de Drupal, sans avoir à installer une nouvelle copie de Drupal pour chacun de leur site.

    Chaque projet peut disposer de son propre nom de domaine, de son propre thème, de son propre contenu et de ses propres modules, mais tous sont gérés à partir d’une seule installation centralisée de Drupal.

    Cette fonctionnalité est utile pour les organisations qui ont besoin de gérer plusieurs sites avec des caractéristiques communes, comme la même apparence ou la même fonctionnalité. 

    Pourquoi utiliser le multisite Drupal ?

    Quels sont les avantages de cette fonctionnalité et ses cas d’usage les plus fréquents ? C’est ce que nous allons voir ensemble !

    Les avantages du multisite pour les projets Drupal

    Évidemment l’un des premiers avantages concerne la réalisation d’économies à la fois de temps et d’argent.

    En évitant d’installer et de configurer plusieurs instances de Drupal, on divise d’autant le temps passé à leur gestion et à leurs mises à jour.

    On évite par ailleurs de dupliquer des tâches qui apportent peu de valeur en se concentrant sur celles qui en apportent. Le multi-site peut s’effectuer depuis une seule et même interface utilisateur et administrateur. Là encore, c’est autant de temps et d’énergie économisée.

    Cette solution permet également d’offrir une meilleure cohérence à vos projets. Il est plus facile de maintenir une apparence et une fonctionnalité cohérentes sur un ensemble de site.

    Usine à site ou multisite : les cas d’utilisation courants 

    Une usine à site est fréquemment utilisée pour les sites web qui possèdent des fonctionnalités identiques, mais publient des contenus différents. Cela peut, par exemple, concerner certains sites médias qui possèdent différentes marques ou proposent des contenus sur des thématiques ou des spécialités différentes.

    D’autre part, le multisite est souvent utilisé pour des sites web avec des fonctionnalités différentes, mais avec une apparence similaire. Cela peut concerner les filiales d’une entreprise, ou les différentes entités régionales d’un grand groupe.

    Dans tous les cas, l’utilisation d’une usine à site ou d’un multisite peut offrir des avantages significatifs en termes de coûts de développement, de maintenance et de cohérence de l’apparence et de la fonctionnalité.

    Attention, cet usage implique également quelques limitations. Il peut devenir difficile de répondre aux demandes spécifiques en provenance d’une seule entité ou d’un seul site web, mais surtout de maintenir ces demandes spécifiques sur le long terme.

    Bref, vous l’aurez compris, tout dépend de votre stratégie.

    Comment configurer le multisite Drupal ?

    Il existe plusieurs manières de “faire” du multisite. Nous détaillons ici celle qui est prévue par le CMS.

    Les étapes pour créer un nouveau site dans un environnement multisite

    La première étape consiste à créer le site “master” (“maître”) pour cela, il faut installer et configurer Drupal une première (et unique) fois. Pour cela, vous pouvez reprendre le pas à pas concernant l’installation du CMS dans cet article sur Composer. La nuance va avoir lieu au moment de créer votre base de données. Vous pouvez dès le début, la nommer comme telle (par exemple : dmultisite)

    Une fois cette étape réalisée, vous pouvez commencer à travailler sur votre premier site (appelons-le : site1) :

    • Créez un dossier pour site1 dans votre multisite /dmultisite/sites/site1.dmultisite.com 
    • Puis, créez une base de données pour le site1, ex : dmultisite_site1 et faites une copie de /dmultisite/sites/exemple.sites.php appelée /dmultisite/sites/sites.php 
    • Terminez le processus d’installation de Drupal pour site1 en visitant le domaine du site. 
    • Renouvelez ensuite l’opération autant de fois que nécessaire.
       

    En choisissant cette structuration, vous pouvez ensuite choisir d’activer (ou de désactiver) un module pour un site en particulier. Il faudra alors créer des sous-répertoires dans le fichier du site concerné.

    Par exemple sur le modèle : /dmultisite/sites/site1.dmultisite.com/modules Ce fonctionnement vous offrira une grande flexibilité dans la gestion des modules, tout en conservant les bénéfices du multisite.

    Notez que des outils d’automatisation tels que Drush ou Aegir peuvent vous permettre d’administrer et de créer de nouveaux sites encore plus facilement.

    Les facteurs à prendre en compte lors de la configuration du multisite

    Lors de la configuration, veillez à prendre en compte l’ensemble de ces facteurs :

    • Les objectifs : déterminez clairement pourquoi vous souhaitez configurer un multisite Drupal. Est-ce pour gérer plusieurs sites web avec des domaines différents, ou pour fournir une expérience de marque cohérente à travers différents sites Internet ?
    • La complexité du projet : la configuration peut être complexe, assurez-vous que vous disposez des compétences et des ressources nécessaires pour le gérer.
    • Les fonctionnalités requises : les différents sites peuvent nécessiter des fonctionnalités différentes. Évaluez les fonctionnalités requises pour chacun d’eux.
    • Les performances peuvent être affectées. Assurez-vous que la configuration est optimisée pour y répondre.
    • Les mises à jour de Drupal et des modules peuvent avoir des conséquences sur l’ensemble du multisite. Mettez en place une stratégie de mise à jour pour minimiser les risques.

    La structuration des dossiers pour un environnement multisite efficace

    Voici quelques conseils pour vous aider dans la structuration :

     

    1. Utilisez des noms de dossiers clairs et cohérents, cela facilitera la gestion.
    2. Séparez les fichiers communs et spécifiques à chaque site pour éviter les conflits et les erreurs. 
    3. Utilisez des liens symboliques pour les fichiers communs. Cela permettra de réduire l’espace de stockage nécessaire.
    4. Organisez les fichiers par type (par exemple, CSS, JavaScript, images) et par fonction (thème, module, profil) pour faciliter la gestion.
    5. Utilisez des sous-domaines pour les sites web. Cela permettra de simplifier la configuration et de faciliter la maintenance.
    6. Utilisez une structure de dossier hiérarchique pour organiser les fichiers pour chaque site, en fonction de la complexité du site.

    Les meilleures pratiques pour le multisite Drupal

    Attention toutefois, si la gestion de nombreux sites s’en trouve normalement simplifiée, cette fonctionnalité demande de la rigueur et de l’organisation.

    Comment maintenir un environnement multisite propre et organisé ?

    Maintenir un environnement propre et organisé est essentiel pour maintenir le projet efficacement sur le long terme. Voici quelques conseils :

    1. Utilisez une structure de dossier cohérente : comme mentionné précédemment, utilisez une structure de dossier cohérente pour chaque site. 
    2. Supprimez les sites inutilisés pour réduire la complexité et la charge de travail. Pensez à documenter la suppression des sites pour éviter les erreurs.
    3. Assurez-vous de gérer les mises à jour régulièrement pour chaque site, en prenant soin de vérifier les compatibilités des mises à jour avec les modules et le thème utilisés.
    4. Utilisez une gestion de version pour les fichiers de configuration de chaque site. Cela permettra de conserver une trace de l’historique des modifications apportées aux fichiers de configuration.
    5. Documentez tous les changements apportés à l’environnement multisite, notamment les modifications apportées aux fichiers de configuration, aux mises à jour et aux suppressions de sites.

    Les astuces pour optimiser les performances des sites dans un environnement multisite

    Il existe plusieurs astuces pour optimiser les performances des sites dans cet environnement particulier. En voici quelques-unes :

    1. Drupal possède un système de mise en cache intégré qui permet de stocker les pages générées pour les afficher plus rapidement lorsqu’un visiteur les demande à nouveau. Il est recommandé d’activer le cache et de le configurer pour optimiser les performances.
    2. Limiter le nombre de modules activés. Chacun d’eux peut ralentir les sites. Il est donc recommandé de limiter le nombre de modules activés et de ne conserver que ceux qui sont réellement nécessaires.
    3. Utiliser un CDN (Content Delivery Network) permet de distribuer le contenu d’un site sur plusieurs serveurs à travers le monde, ce qui réduit le temps de chargement des pages pour les visiteurs qui se trouvent loin du serveur principal.
    4. Optimiser les images qui peuvent représenter une part importante du poids d’une page web. 
    5. Utiliser une base de données séparée pour chaque site pour éviter les conflits entre les sites et de réduire la charge sur le serveur.

    Prêt pour le multisite ?

    Pour vous aider dans votre décision, voici 5 questions que vous pouvez-vous poser avant de vous lancer.

    • Le projet implique-t-il nécessairement plusieurs sites distincts ?
    • Les sites partagent-ils des fonctionnalités communes ?
    • Les sites nécessitent-ils des installations et des mises à jour fréquentes ?
    • Les sites nécessitent-ils une gestion de sécurité centralisée ?
    • Les sites partagent-ils une base de données commune ?

    Si vous avez la réponse à chacune de ces questions, vous savez désormais quoi faire. Si vous avez encore quelques doutes, notre équipe est là pour vous aider ! Contactez-nous.