Guide de la gestion de projet digitale

Téléchargez notre Guide Ultime de gestion de projet digitale pour vous aider à piloter vos transformations et faire les bons choix !

Blog

Réussir votre projet d’usine à site avec Drupal

17 juin 2021
Accueil du Blog   /   #Drupal   /   Réussir votre projet d’usine à..
Introduction
Partagez

Sur le marché d'usine à site, Drupal s’est fait un nom depuis longtemps. Pour autant, le choix de la solution technique est crucial dans la réussite d’un projet et il est alors logique de se demander quelles sont les possibilités de la solution Drupal et si cela correspond à vos besoins fonctionnels et techniques.

Vous êtes désormais convaincus que la logique d’usine à site est une des bonnes réponses à votre enjeu d’automatisation et d'industrialisation de production de vos actifs Web.

Avec une usine à site, vous allez pouvoir offrir à vos différentes équipes, produits ou pays, un moteur de génération de site, capable d’offrir plus d’autonomie et de rapidité de déploiement, tout en intégrant efficacement l’ensemble de votre écosystème digital existant.

Plusieurs alternatives techniques s’offrent à vous, et, parmi elles, Drupal en est une.

projet-usine-a-site-drupal

Découvrez dans cet article tous les avantages mais aussi les inconvénients de réaliser une usine à site avec Drupal. Quels sont les points de vigilance ? Quelles sont les bonnes pratiques ? Sans plus attendre, découvrons les !

Pourquoi choisir Drupal pour une usine à site ?

drupal-logo-2

Drupal est une solution de choix pour un principe d’usine à site. A tel point que l’on parle même de « Drupal factory », avec un socle commun et des potentielles fonctionnalités sur-mesure pour certains des sites hébergés au sein de cette « Drupal factory ».

 

Le multisite est une fonctionnalité native de Drupal

Le multisite est une fonctionnalité standard de Drupal. Vous pouvez donc nativement, dès l’installation de Drupal, propulser plusieurs sites avec des urls et des thèmes graphiques différents.

Vous pouvez ensuite enrichir cette fonctionnalité native de très nombreux modules ou développement.

drupal-multisite-architecture

 

L’avantage, c’est qu’il n’est nul besoin de disposer de plusieurs instances techniques pour gérer plusieurs sites.

 

https://internetdevels.com/blog/drupal-multisite

Cela vous permet de gérer une infrastructure unique, avec, bien évidemment des logiques d’industrialisation en exploitant :

  • un service de cloud, capable de s’adapter aux montées en charge
  • des solutions de virtualisation avec Docker et Kubernetes.

Avec le multisite Drupal, vous entrez réellement dans l’ère de l’intégration continue, du sol au plafond, de votre hébergement à votre infrastructure logicielle.

 

De nombreuses capacités de paramétrage et d'automatisation

Le multisite Drupal vous offre de très nombreuses capacités de paramétrage et d’automatisation. Vous pouvez intégralement définir la charte graphique et les modules exploités par chaque site propulsé par l’usine à site. Vous pouvez décider de propulser un simple site vitrine pour une marque donnée, tout comme vous pouvez gérer un Intranet ou un site de commande en ligne.

gestion-usine-a-site

Bien évidemment, plus les sites sont différents les uns des autres, plus ils nécessiteront une charge importante de paramétrage et de développement, mais ici encore une fois, l’intérêt de l’usine à site est de mutualiser le cœur de Drupal, les montées de version et toutes les démarches de virtualisation que vous aurez mises en œuvre.

Avec Drupal, vous pouvez définir une infrastructure partagée pour l’ensemble de vos actifs Web.

Découvrez quelques exemples de sites de références sur Drupal

 

Une grande autonomie possible

Dans cette logique multisite, les bases de données sont également distinctes. Cela garantit une plus grande flexibilité dans la gestion des données, des contenus, des utilisateurs (…). Chaque site est indépendant et autonome de l’autre, avec son propre back-office et ses propres logiques métier.

Cette autonomie est très intéressante, mais vous pouvez souhaiter mutualiser des contenus, des utilisateurs, des back-office (…). C’est ici que vous devrez mener différents arbitrages :

  • infobesite-centraliser-informations-le-remede-miracle-contre-infobesiteVous équiper de solutions tierces pour mutualiser une base produit (ex: un PIM - Product Information Management) ou des médias (DAM - Digital Asset Management) 
  • Utiliser Drupal pour stocker ces contenus et définir des règles de partage/copie/maintenance des contenus. De nombreux modules intéressants sont à exploiter tels que Entity Share.

 

Des gains financiers évidents

Infine, les gains financiers sont très importants et font considérablement baisser vos coûts d’exploitation :

  • Un seul niveau de maintenance au niveau de l’usine à site
  • Un seul hébergement, idéalement industrialisé, dockerisé et exploitant les bonnes pratiques d’intégration continue
  • Une seule stratégie de déploiement et d’équipement pour toutes vos filiales, marques, régions…

Drupal : les différences entre multisite & usine à site

Le multisite avec partage de code mais instances indépendantes

Le multisite est une fonction native de Drupal, qui vous permet, à partir du même socle technologique, de générer autant de sites que souhaité. Ainsi, avec Drupal, le multisite permet :

  • Un partage complet du code source qui sera donc maintenu une seule fois et hébergé via une unique infrastructure et avec un middleware partagé (permettant notamment différentes pratiques d'industrialisation) ;
  • Un partage de modules et de fonctionnalités : moteur de recherche, cartographie, gestion documentaire, … certains peuvent néanmoins être désactivés/activés sur des sites et pas d’autres ;
  • Des habillages graphiques éventuellement différents ;
  • Des contenus indépendants (mais éventuellement partagés) ;
  • Une intégration conjointe avec tous vos autres outils internes (DAM, CRM, ERP, PIM, …)

actu-multisite-drupal

Le seul risque ou contrepartie dans une logique multisite est que vous partagez une seule et même instance de code pour générer potentiellement des centaines de sites. Toute intervention mal contrôlée dans le code peut générer des effets de bord impactant tous les sites et si vous n’avez pas mis en place des stratégies d’industrialisation ou de gestion de la dette technique (lien à faire), la gestion d’un multi-site peut vite devenir un cauchemar.

C’est ici qu’entre en jeu la gestion d’une vraie « usine à site ».

 

L'usine à site avec automatisation du lancement de chaque site

Dans le cas d'une usine à site, trois différences majeures sont à retenir :

  • L’usine à site « industrialise » la production et la maintenance des sites. On parle ici d’intégration continue ou de déploiement continue (CI/CD), qui permettent d’automatiser les tests, limiter les interventions manuelles, … et donc, les erreurs ;
  • L’usine à site permet de déployer automatiquement ou quasi-automatiquement de nouveaux sites avec le choix de fonctionnalités optionnelles à déployer ;
  • Le partage d'une même instance n'est pas non plus toujours possible pour des questions de performance ou de politique locale (par ex : si vous déployez des contenus en Chine, vous avez tout intérêt à les héberger en Chine). L’usine à site vous permet potentiellement de séparer les instances techniques.

On le voit donc, un multi site Drupal, bien qu’offrant une grande capacité de personnalisation pour chaque site, est beaucoup plus simple, mais peut s’avérer délicat à gérer si le nombre de site augmente de manière importante et qu’il n’y a pas de stratégie d’industrialisation.

L’usine à site offre l’avantage d’industrialiser et de sécuriser le déploiement-maintenance et offre sans doute plus de standardisation aux fonctionnalités déployées - je choisis les modules/fonctionnalités dont j’ai besoin pour le site que je déploie.

Modèle de cahier des charges pour une usine à site

Les modèles d'usine à site avec Drupal

Pour faire le meilleur choix technique de l’usine à site, il est important de se poser les questions suivantes :

  • Combien de site aurez-vous besoin de gérer à terme ?
  • Aurez-vous besoin de partager du contenu et si oui, s’agit-il de dupliquer le contenu ou de partager un socle de contenus commun ?
  • Avez-vous besoin d’une administration centralisée vous permettant d’avoir une vue consolidée sur les contenus, les utilisateurs, les modules utilisés, …?
  • Avez-vous besoin de déployer un SSO (une authentification unique sur les sites) ou les bases utilisateur peuvent être séparées ?
  • Quels sont les degrés de mutualisation attendus en termes d’architecture technique : maintenance, configuration, déploiement, hébergement, …?

 

Le multi-site avec des profils d’installation et des distributions

Avec Drupal, il est possible de gérer ce que l’on appelle des distributions : c’est un Drupal packagé, avec de nombreux modules préinstallés et une configuration qui s’installe automatiquement.

Dès lors, il devient très facile de dupliquer cette distribution pour autant de sites que souhaités.

L’avantage, c’est que vous créez une distribution une seule et unique fois.

Le désavantage, c’est que dès lors que vos sites sont installés, ils peuvent vivre indépendamment et que leur maintenance n’est que partiellement mutualisée (les mises à jour de base de données doivent être lancés individuellement par site).

 

Domain Access pour du multisite « simple »

domain-access-drupal

Domain Access est une solution d’usine à site déguisée. Avec Domain Access, vous disposez de plusieurs sites en front-office, mais, de fait, c’est une seule et unique base de données et une seule installation Drupal. Les contenus et les utilisateurs sont partagés entre les sites.

Domain Access est l’une des solutions les plus rapides et les plus simples à gérer avec Drupal, mais se retrouve rapidement limitée dès lors qu’il faut pouvoir gérer des bases utilisateur distinctes, qu’il faut avoir des modules et des fonctionnalités très différentes et que l’on souhaite industrialiser les modes de production des sites.

 

Micro-site pour une usine à site simplifiée

Une nouvelle solution, présentée au Drupagora de 2018, répond aux besoins simples de gestion de petits sites : microdrupal. Cette solution facilite la gestion et la maintenance d’une multitude de sites, similaires ou différents.

 

microdrupal

MicroDrupal s’attache aux performances, à l’efficacité SEO, à la capacité de partage de contenus entre les sites et permet une personnalisation totale du design des sites.

 

 

Multisite Drupal et industrialisation des déploiements

C’est une stratégie que nous exploitons régulièrement chez Adimeo. Nous exploitons les capacités multi-site de Drupal et y ajoutons des couches d’automatisation avec :

  • Behat : pour mener des tests et garantir l’efficacité de tous les sites ;
  • Docker + kubernetes : pour industrialiser le déploiement et la maintenance ;
  • Jenkins : pour gérer les questions d’intégration continue ;
  • Angular/React lorsque l’on veut faire du Drupal headless et utiliser Drupal comme un « hub » de contenus ;
  • Entity Share : pour partager des contenus entre plusieurs sites ;
  • Simple Saml : pour mettre en place une authentification unique entre tous les sites (SSO).

L’avantage de cette stratégie c’est que l’on peut (presque) tout faire. Quel que soit le contexte de l’usine à site (partage de contenu ou non, internationalisation des sites, partage de fonctionnalités, …), vous pouvez mettre en place les fonctionnalités selon les besoins et les enjeux du projet d’usine à site.

 

Site Factory de Acquia

 

Site Factory de Acquia

Acquia, l’une des principales entreprises de l’écosystème Drupal et dirigée par le fondateur de Drupal, propose une solution technologique hyper efficace pour la gestion des usines à site. C’est notamment avec ce dispositif qu’est géré l’écosystème mondial de Nestlé.

Ici appelé Site Factory, cette solution est un peu la RollsRoyce des alternatives d’usine à site avec Drupal. Avec Site Factory vous pouvez déployer en quelques clics un nouveau site, vous pouvez gérer plusieurs centaines de sites depuis une même interface, vous pouvez intégrer des composants d’entreprise complexes, … La liste est longue des avantages associés.

Et il faut également noter que cette plateforme intègre tous les principes d’une solution Saas : vous n’avez pas à vous préoccuper de l’hébergement, de la maintenance middleware, des questions de sauvegarde et autres sujets d’infrastructure.

Seul bémol : certains choix techniques sont figés, ainsi, vous devez impérativement exploiter la solution SolR et certaines pratiques de configuration/intégration ne seront pas possibles.

Le coût aussi d’une telle usine peut rapidement être prohibitif. Si vous n’avez pas quelques centaines de milliers d’euros à investir sur ces sujets, il faudra passer votre chemin.

Modeles-d-usine-a-site-avec-Drupal (1)

 

Pour conclure sur votre projet d’usine à site Drupal

Drupal est un excellent choix pour vous lancer dans un projet d’usine à site. C’est une solution complète, répondant à différents besoins de management de vos contenus, de vos actifs digitaux et offrant suffisamment de souplesse pour faire face à différents cas d’usage.

Il importe néanmoins d’être vigilant dans les choix fonctionnels et technologiques menés, qui détermineront ce que vous pourrez faire de votre usine à site. Ces choix fonctionnels et technologiques garantiront son appropriation par vos utilisateurs internes et sa performance pour vos cibles.

Comment choisir la bonne technologie pour votre projet Web ?

Vos besoins fonctionnels sont connus, mais vous ne savez pas comment faire le choix de la meilleure technologie, celle qui vous apportera performance, rapidité, évolutivité et pérennité ?

Publié par
Marine Soroko