Les usines à sites avec Drupal

Technologie et développement

De nos jours, il arrive fréquemment qu’une organisation possède plusieurs sites internet : site institutionnel, boutique en ligne, site de recrutement, extranet… Chaque « spécialité » veut créer son propre site afin d’établir une présence sur le net.

On se retrouve alors vite avec une « usine à gaz » impossible à gérer, sans compter les nombreux problèmes de sécurité que cela engendre…

Mais ne désespérez pas pour autant : à chaque solution son problème. C’est pour cela qu’a été inventé le concept de l’usine à sites.

 

Qu’est-ce qu’une usine à sites ?

L’usine à sites, qu’il ne faut pas confondre avec le multisites, consiste à disposer d’une seule et même plateforme pour gérer tous les sites. Cet outil unique permet de rationaliser la gestion des sites et de limiter les coûts. Les contenus sont créés puis distribués sur les différents sites. Ils peuvent aussi être partagés entre plusieurs entités.

 

L’usine à sites, pour quel type d’utilisation ?

Le concept d’usine à sites se prête bien à certaines organisations positionnées sur des secteurs d’activité ayant une forte autonomie entre elles.

 

Bien définir ses besoins

Le premier point à considérer est d’être au clair sur ses besoins. En effet, si vous souhaitez bâtir 2 sites, le concept d’usine à sites n’est pas forcément pertinent. Tout dépend aussi de ce que l’on entend par « site » : est-ce vraiment une entité à part entière avec son propre nom de domaine, ou bien est-ce une partie spécifique d’un même site, avec par exemple une charte graphique différente ? Il est donc très important de poser les bases de ce que l’on souhaite avant de se diriger vers telle ou telle solution. L’usine à sites n’est en effet pas pertinente dans tous les cas de figure.

Nous allons passer en revue les différents points à examiner avant de se tourner ou non vers cette solution.

Combien de sites désirez-vous ?
Si vous n’avez besoin que de 2 ou 3 sites, ce n’est pas la peine de mettre en œuvre une usine à sites. Il est en effet très facile de reprendre certains éléments d’un site (comme des modules de Drupal) et de les intégrer dans un autre site sans avoir besoin d’installer une grosse « machinerie » comme une usine à sites.

Comme nous l’avons mentionné plus haut, créer plusieurs sites ne se justifie que si les sites présentent de réelles différences, notamment en termes de contenu. Ce qui nous amène à notre point suivant…

Allez-vous partager du contenu ?
Même si vos sites possèdent une identité et une finalité propre, il se peut que vous ayez besoin de partager un certain volume de contenu. Ce sera le cas par exemple avec les déclinaisons régionales ou nationales de sites de grosses organisations. 

Dans ce cas, Drupal possède une fonctionnalité nommée Domain Access, qui permet de gérer plusieurs sites affiliés à partir d’une seule installation du CMS. La base de données est également partagée. Le contenu, mais aussi les utilisateurs et les configurations peuvent être partagées. 

Une autre solution, moins lourde que Domain Access, existe également. Nommée Entity Share, elle permet de récupérer du contenu à partir du site principal. Pratique si vous désirez partager un volume limité de contenu.

Allez-vous partager des utilisateurs ?
Si vous avez simplement besoin de partager des utilisateurs, il n’est probablement pas utile de mettre en place une usine à sites. Domain Access, dont nous avons parlé plus haut, permet de le faire ou encore CAS, un module d’authentification, qui peut être couplé à un annuaire LDAP pour gérer les différents utilisateurs.

 

L’usine à sites avec Drupal

L’une des forces de Drupal est qu’il n’est pas seulement conçu pour créer un seul site mais peut être utilisé pour gérer plusieurs sites en même temps. Nous allons examiner les différentes méthodologies utilisées pour créer une usine à sites avec Drupal.

Créer une distribution Drupal
La première étape est de mettre en place une distribution Drupal qui sera spécifique à votre entreprise ou votre organisation. Une distribution peut être vue comme une installation spécifique de Drupal adaptée à vos besoins, avec tous les modules et configurations nécessaires déjà installées. Cela permet de gagner un temps précieux et ne pas avoir à redévelopper ou reconfigurer des modules inutilement.

Le procédé est simple : on met en place un premier site, dans l’optique de créer une distribution, qui servira de base pour développer tous les sites suivants, auxquels on ajoutera petit à petit les différentes fonctionnalités. On peut dès lors développer les sites « secondaires » beaucoup plus rapidement et y intégrer un très grand nombre d’éléments (à condition que cela ait été pensé correctement dès le début bien entendu).

Aegir, une solution pour tout centraliser
Aegir est un outil permettant de gérer toutes vos distributions Drupal présentes sur un même serveur. Il automatise toutes les tâches afférentes au déploiement et à la maintenance de vos sites et permet de gérer une usine à sites à partir d’une seule console d’administration. Les différents administrateurs pourront très facilement créer, modifier les sites, les différentes fonctionnalités, domaines, etc.

 

Les avantages de l’usine à sites

Les avantages de déployer une usine à sites sont nombreux :

Une réduction des coûts
C’est peut-être là le principal avantage de l’usine à sites. Elle permet de réduire les coûts de déploiement et de maintien d’un site en mutualisant de nombreux aspects : l’hébergement, le développement, la maintenance, la sauvegarde, l’évolution… Sans compter l’accès aux milliers de modules gratuits qu’offre Drupal…

Une meilleure administration
Il devient très facile de passer de l’administration d’un site à un autre au sein de l’usine par le biais d’une interface commune. Le webmaster n’a pas besoin d’une formation spécifique à chaque outil. Il peut également former plus facilement d’autres webmasters. Il est également plus facile d’historiser toutes les modifications effectuées sur le contenu et ainsi d’en garder une trace, voire de revenir en arrière en cas de besoin.

Une meilleure visibilité
Bien que les sites soient gérés de façon mutualisée, ils possèdent tous leur propre adresse IP et sont donc vus par les moteurs de recherche comme des sites distincts. Cela leur confère une visibilité maximum : ils ne sont pas considérés comme des « sous-sites » mais bien comme des entités distinctes.

De plus, la mutualisation des contenus facilite le maillage interne en permettant la création de nombreux liens entre les différents sites, ce qui renforce encore plus la visibilité de l’ensemble.

Une meilleure gestion globale
L’ensemble de l’usine peut être gérée par un administrateur central, qui peut prendre la main à n’importe quel moment en cas de problème. Cet administrateur aura toujours la main sur les accès aux différents sites en cas de départ de l’un des webmasters. Il pourra également contrôler les performances de chaque site et apporter les améliorations nécessaires le cas échéant.

 

Les inconvénients de l’usine à sites

Le déploiement d’une telle solution présente également un certain nombre de risques, que nous allons détailler dans les paragraphes suivants.

Les risques liés à la sécurité
C’est peut-être le principal inconvénient de l’usine à sites : puisque tous les sites doivent être situés sur le même serveur, un problème de sécurité du serveur risque d’affecter l’ensemble des sites. Ce peut être le cas notamment lors d’une attaque DDOS (attaque par déni de service qui va saturer le serveur jusqu’à le faire « tomber »). C’est toute l’usine qui risque de s’effondrer !

Cela peut être évité en dupliquant l’usine à sites sur plusieurs serveurs et en renforçant les mesures de contrôle, par exemple en empêchant les connexions simultanées par la même adresse IP.

Les montées de version
Le code de Drupal étant partagé entre les sites, lors d’une montée de version, on doit nécessairement mettre à jour tous les sites en même temps. Cela ne pose pas nécessairement de problème d’un point de vue technique, mais les soucis peuvent apparaître d’un point de vue organisationnel : les différentes équipes doivent se synchroniser afin de mettre en œuvre les mises à jour, ce qui est rendu complexe voire impossible dans les grosses organisations.

La solution à ce problème est de mettre en place une distribution de Drupal, à partir de laquelle seront mis en place tous les sites. Ainsi, on garde le partage du contenu et du développement, mais les sites peuvent évoluer ensuite de façon totalement indépendante.

FIDESIO vous accompagne dans la création de votre site Internet grâce à ses experts en CMS Drupal.

Notre agence Web est capable de répondre à tous vos besoins et d'élaborer une véritable stratégie digitale.

N'hésitez pas à nous contacter en remplissant notre formulaire de contact.