Makina Blog
Les distributions Drupal en 2015
En Drupal 5 est né le concept de "distribution" Drupal. Qu'est ce que c'est, et qu'en attendre aujourd'hui ?
Cet article fait partie de ce que nous enseignons comme bonne pratique d'industrialisation lors de nos formations au développement Drupal.
Qu'est ce qu'une distribution ?
Un profil d'installation
Depuis Drupal 5, il est possible de créer un profil d'installation Drupal. Ce profil permet d'activer un certain nombre de modules et de les configurer pour que votre site soit entièrement opérationnel dès l'installation. C'est d'ailleurs ce que fait le cœur Drupal en proposant un profil "standard" (celui que la plupart des gens installent pour tester Drupal) et un profil "minimal" (qui n'installe que le strict minimum et ne permet pas de faire grand chose, mais est très rapide à installer).
Un ensemble de modules
Utiliser uniquement les modules composant le cœur de Drupal ne fournissant pas de nombreuses possibilités fonctionnelles pour un site donné, les distributions comprennent également une liste de modules issus de la communauté permettant de fournir de beaucoup plus de fonctionnalités dès l'installation de la distribution Drupal (leur installation étant généralement gérée par un fichier *.make à utiliser avec drush make, mais ceci pourrait faire l'objet d'un billet de blog séparé, vous pouvez à la place consulter la documentation officielle).
Un peu d'histoire
Beaucoup trop de modules
Le succès de Drupal repose en partie sur la croissance presque exponentiel du nombre de modules permettant de réaliser rapidement des sites comportant de nombreuses fonctionnalités "classiques" de sites web : liste de diffusion, intégration réseaux sociaux, …
Dès lors, une question se posa rapidement pour de nombreux webmestres : quel module choisir pour quelle fonctionnalité, et même quels modules choisir pour réaliser des fonctionnalités complexes tout en gardant des possibilités d'intégration pour une maintenance future du site ?
Drupal 5
Le 29 septembre 2008, Acquia publie la première distribution, qui s'appelait simplement "Acquia Drupal". Elle représentait à l'époque un assemblage de modules que la communauté maintenant et qui s'intégraient bien les uns avec les autres. Cela représentait en quelques sorte un vote de confiance de la communauté, et une indication qu'il était possible d'utiliser ces modules pour réaliser des sites en toute sécurité pour les webmestres et développeurs.
Drupal 6
Suite au développement par la société DevelopmentSeed du module "Features", le 24 juin 2009, deux distributions sont apparues qui exploitaient vraiment le concept : Open Atrium et OpenPublish.
Open Atrium
Cette distribution est dédiée à la création d'un intranet de gestion de projets, et reste pour moi la distribution la plus aboutie, tant dans sa complétude fonctionnelle que dans l'aboutissement ergonomique de son thème graphique, permettant aux utilisateurs d'être en permanence guidés dans leur utilisation de la plateforme.
On trouva d'ailleurs des modules qui s'intègrèrent parfaitement avec la distribution : Atrium Folders.
Cette distribution existe encore aujourd'hui, en version 2, mais s'est alourdie avec le passage à Drupal 7, et comporte désormais une trop grosse accumulation de modules / fonctionnalités à mon goût.
Open Publish
Cette distribution, moins utilisée aujourd'hui, mais très populaire à sa sortie, est spécifiquement dédiée aux sites de presse, et fut la première à vraiment utiliser la sémantique et notamment le balisage Dublin Core.
Drupal 7
Depuis l'émergence de Drupal 7, la sortie de Drupal Commerce et l'arrivée à maturité de nombreux modules, le concept de distribution s'est vraiment développé, et on trouve désormais des distributions couvrant un large éventail de besoins métiers : intranets, sites de conférences (avec les distributions "C.O.D." ou "Ted"), reproduction de gros sites existants (distributions Recruiter pour Monster, "Open Deals" pour Groupon), … On trouve également des distributions servant de base à d'autres distributions (la plus utilisée étant Panopoly).
La dérive étant que de nombreuses sociétés proposent leur "starter kit", tous différents et pourtant similaires sur de nombreux aspects, rendant le nombre de distributions à nouveau compliqué à suivre, comme les modules au début de notre histoire…
Mais comment les connaître, alors ?
Le faut-il vraiment ? Rien ne vous y oblige ! D'une part parce que leur utilisation est limitée, d'autre part parce que les plus utilisées sont régulièrement citées, mises à jour ou la cible d'articles de blogs, donc vous arriverez petit à petit à les connaître sans réaliser de veille spécifique dessus. Et si vous creusez un peu plus, vous rencontrerez parfois quelques initiatives intéressantes… mais qui ne sont pas vraiment maintenues.
Comment s'en servir ?
Prototypage
Au démarrage de gros projets, des questions peuvent se poser concernant l'adéquation de Drupal aux besoins fonctionnels du projet. Selon ces besoins, il peut être tout à fait pratique de valider les possibilités de certains modules en utilisant des distributions. Par exemple, pour un réseau social, il sera opportun de tester Drupal Commons (existant depuis Drupal 6, elle est très utilisée, y compris par de gros acteurs mondiaux).
Cela permettra par exemple de valider la configuration poussée de certains modules, ou au contraire de pointer les lacunes fonctionnelles permettant d'évaluer les spécifications du code métier spécifique à réaliser durant le développement du projet.
Veille technique
Certains distributions innovent fonctionnellement sur un domaine précis comme l'ergonomie (Spark), la sécurité (Guardr) ou la cartographie (Cartaro), et sont source de nouveaux modules à tester ou utiliser sur vos sites, d'autres innovent techniquement en corrigeant certaines lacunes de Drupal, par exemple sur l'accessibilté (OpenPublic ou WxT). Il est donc souvent intéressant de consulter leur code pour en récupérer certains bouts et les intégrer à vos propres profils ou modules personnalisés.
Celles à connaître
Outre celles que j'ai citées, quelques unes valent la peine d'être suivies de temps en temps, parce qu'elles correspondent à un segment du marché où Drupal est régulièrement utilisé / demandé par les clients.
Open Atrium
Je la mentionne à nouveau ici, car cette distribution a toujours été impressionnante, notamment au niveau de son ergonomie travaillée et de la cohérence de ses fonctionnalités. A l'époque de Drupal 6, il était essentiel de la tester dans le cas d'intranets de gestion de projets pour un client, elle suffisait parfois directement au besoin, sans même réaliser de développement supplémentaire. J'aime moins la version Drupal 7, mais peut-être que la distribution nous réserve une belle surprise pour Drupal 8.
Il est également possible de tester la récente OpenLucius comme alternative éventuelle.
Drupal Commons
Bénéficiant d'une bonne aura grâce à son utilisation chez eBay, Symantec, Twitter, Drupal Commons est très utilisée et vous devez la connaître et savoir vous y intégrer, car elle est présente chez de nombreux clients.
Commerce Kickstart
Je préfère prévenir tout de suite, je ne considère pas Commerce Kickstart comme adaptée à servir de point de départ d'une boutique, car elle est beaucoup trop lourde et complexe, mais elle reste cependant extrêmement utile comme site de démonstration des possibilités de Drupal Commerce, et comme exemple possible d'assemblage de nombreux modules de sa communauté.
OpenScholar
Distribution sponsorisée par Harvard, rien que ça, OpenScholar est dédiée aux multi-sites d'université (avec création de site à la volée pour chaque enseignant / chercheur, par exemple), un segment important pour Drupal en France. Pour un prototypage rapide de ce qu'il est possible de faire en Drupal dans ce secteur, c'est un passage obligé.
La vôtre !
Si vous utilisez une base de distribution pour les sites que vous réalisez, vous devez les connaître, les modules qui la composent et les situations auxquelles ils répondent, les patchs que vous utilisez, les mises à jour qu'il faut faire ou ne pas faire ;-)
Et Drupal 8 ?
L'intégration de Views et de nombreux autres modules au cœur de Drupal va permettre de facilement réaliser des distributions en intégrant un minimum de modules. Je pense donc que le concept de distribution va continuer à être utilisé, avec déjà une distribution démontrant les capacités multilingues de Drupal tandis que les autres distributions sont portées petit à petit.
On peut également noter que le concept prometteur d'Apps n'a finalement pas tant percé que ça, pratiquement utilisé uniquement par la société qui a développé initialement le concept.
À suivre !
Actualités en lien
Migration d'un site Drupal 7 en Drupal 11
Trucs, astuces et "bouts" de code pour migrer votre site web de Drupal 7 à Drupal 11. Compte-rendu d'une conférence donnée au Drupalcamp Rennes 2024.
Makina Corpus, partenaire du DrupalCamp 2024
Nous sommes fiers d’annoncer que Makina Corpus est le sponsor du DrupalCamp à Rennes. Notre expert vous y propose une conférence « migrer de Drupal 7 à Drupal 10 ».