Drupal
06/01/2012

Les distributions Drupal : enjeux, bénéfices et perspectives

image
En 2012, j’ai rêvé que les cahiers des charges ne comportaient plus de zones d’ombre. Les besoins étaient clairs, les spécificités fonctionnelles classées par priorités, la TMA prise en compte : j’ai rêvé que mes futurs donneurs d’ordre allaient à l’essentiel, qu’ils connaissaient Drupal, sa philosophie...

En 2012, j’ai rêvé que les cahiers des charges ne comportaient plus de zones d’ombre. Les besoins étaient clairs, les spécificités fonctionnelles classées par priorités, la TMA prise en compte : j’ai rêvé que mes futurs donneurs d’ordre allaient à l’essentiel, qu’ils connaissaient Drupal, sa philosophie, l’optimisation de son utilisation, j’ai rêvé qu’ils étaient « agiles », calmes et concrets. Stop ! Le 1er cahier des charges reçu le 2 janvier 2012 impose en effet d’optimiser le site pour Netscape 1.6 ! Retour sur terre. Au boulot.

Or l’expression du besoin reste un élément fondamental pour cadrer et orienter les choix techniques d’un projet Drupal. Certains projets complexes, qui nécessitent beaucoup de développements, paramétrages, adaptations peuvent être énormément simplifiés, avec un peu de pédagogie. Au chef de projet d’expliquer, preuve à l’appui, que l’intérêt du CMS est d’adapter le besoin à un module existant, et non l’inverse. On y passe du temps, de l’énergie, mais c’est un excellent moyen de jauger de l’écoute, la curiosité et l’ouverture de votre client. En gros, méfions-nous des donneurs d’ordres péremptoires (je sais, on en connait tous – D’ailleurs faudrait faire tourner une liste).

Au cours de cette approche, on peut même appuyer nos démonstrations en utilisant la ou les distributions Drupal adaptées à la typologie de notre projet. Vous souhaitez un intranet ? Pour quoi faire ? Quel est le niveau d’appropriation de l’outil par les utilisateurs ? Comment mesurer la culture de l’entreprise et les rétiscences au changement ? Posons des questions pratiques et proposons une distribution, moins coûteuse et qui permet de phaser les livraisons, les prises en main de façon intelligente. Il sera grand temps, plus tard, de faire évoluer les outils en fonction des spécificités du métier de votre client. Vous me suivez toujours ?

C’est pourquoi, et suite à la sympathique et synthétique présentation de Simon Georges (@simongeorges) lors du dernier DrupalCamp de Toulouse, je propose de faire un tour d’horizon sur les principales distributions disponibles avec Drupal, en essayant de tenir compte de leurs points forts, leurs points faibles et en les associant à des types de projets. La discussion est bien entendu ouverte et j’invite les utilisateurs à poster leurs retours d’expérience concernant les différentes distributions.

Qu’est-ce qu’une distribution Drupal ?

Au sens de la communauté, il ne s'agit ni plus ni moins qu'un groupe, un ensemble de modules, de types de contenu, de paramétrages, taxonomies, permettant de créer un site plus rapidement. Les distributions sont actuellement en plein essor au sein de la communauté Drupal, à tel point que de nombreux débats enflammés émergent dans la communauté quant à l’évolution de la philosophie d’utilisation du CMS.

La première des distributions après Acquia est l'oeuvre de Development Seed, qui met au point un ensemble de modules et crée la distribution "Features". Suivront ensuite les toutes premières distributions packagées permettant de déployer rapidement un site de média (OpenPublish) et un intranet léger (OpenAtrium). Aujourd'hui, on voit peu à peu se profiler un changement philosophique. L'idée de proposer des APPs apparait progressivement, essentiellement sous l'impulsion des sociétés commerciales qui composent et participent à la communauté Drupal. Cette évolution fait l'objet d'un vaste débat qui enflamme la communauté Drupal.

Quel intérêt ?

La mise en place d'une distribution nécessite un travail d'architecture plus important que la simple construction d'un site, alors quel intérêt ?
Les intérêts dépendent de la typologie et de la nature de votre projet. Sans blague ? Non c’est simple… Si votre projet consiste à déployer de nombreux sites, différents mais reposant sur un process métier identique, une distribution peut vous faire gagner énormément de temps de développement. Vous déployez vos sites à partir d’un socle fonctionnel solide, sans redévelopper ou copier du code existant.
Ensuite, par l’intermédiaire du module Features (http://drupal.org/project/features), vous pouvez industrialiser l’installation d’une nouvelle fonctionnalité en quelques clics, sur n’importe quel site.

Enfin, vous centralisez la maintenance de tous vos modules… Si un bug est corrigé sur votre distribution, il le sera sur tous les sites qui l’utilisent !

Les débats dans la communauté

Nombreux sont les inquiets qui pensent que l’émergence des APPs va sonner le glas des distributions et couronner le modèle du « souvent payant », tel qu’on le retrouve sur un APPs Store. Méfions-nous, en effet, des réfractaires au business model de la « gratuité à l’utilisateur ». Tentons de les rassurer : Leur avance technologique sera seul gage de leur réussite commerciale... Ce qui implique un travail permanent de la part des acteurs de le communauté. Je trouve ça sain. Une communauté Open Source n’a aucune vocation à devenir élitiste par défaut, et son élite n’a aucun intérêt à devenir rentière.

Les débats concernent également l’évolution du CMS dans sa version 8. Doit-on étendre le Core de Drupal ou proposer un « small core », plus réceptif à l’intégration de distributions diverses. Rien n’est encore tranché, mais je me demande, pour ma part, si nous n’aurions pas intérêt à faire coexister les 2 solutions, dans la future version de Drupal8.

Liste des principales distributions

- Drupal Acquia | Acquia | Drupal6 et Drupal7

Distribution généraliste comprenant les fonctionnalités et paramétrages suivants : Types de contenu personnalisés (CCK), Création de vues (Views), Gestion des images, Gestion de blogs mono-utilisateur ou multi-utilisateurs, Gestion de wikis, Ajout du format Markdown, Système de notation de contenu (Fivestar), Flux RSS pour tout, Menu d'administration, Intégration avec le moteur de recherche Apache Solr, Gestion des statistiques via Google Analytics, Optimisation du référencement, Gestion anti-spam, Génération de nuages de tags,Calendrier pour la gestion d'évènements, Génération de formulaires.

Pour en savoir plus : http://www.acquia.com/products-services/acquia-drupal

- DrupalCommons | Acquia | Drupal6

Véritable réseau social comprenant une suite de modules communautaires. Cette distribution est de plus en plus utilisée dans le cadre de projets de réseaux sociaux d’entreprise.
Pour en savoir plus : http://commons.acquia.com/

- OpenPublic | Phase2Technology | Drupal7

Distribution permettant de disposer de sites web de gouvernements. Il s’agit d’une plateforme communautaire axée et soutenue par un réseau de contributeurs. La distribution a été utilisée et développée lors de la refonte du site de la Maison Blanche.
Pour en savoir plus :http://openpublicapp.com/

- OpenAtrium | Phase2Technology | Drupal6

Toutes les fonctionnalités nécessaires à un petit intranet sont disponibles dans cette distribution. Si vous aimez les gros boutons, la simplicité et l’efficacité, il faut le tester.
Pour en savoir plus :http://openatrium.com/

- OpenPublish | Phase2Technology | Drupal6

Open Publish comme ProsePoint se concentre sur la publication de contenu, mais lui repose sur la technologie Open Calais, le moteur sémantique de Reuters. L'intérêt d'Open Calais, est qu'il va chercher en fonction de votre contenu, les entités sémantiques dont vous parlez, les vidéos Youtube en rapport avec votre contenu, les photos sur Flickr, les noms de personnes, villes, etc. Il faut vraiment tester cette distribution pour voir la force du moteur de Calais.
Pour en savoir plus :http://openpublishapp.com/

- COD – Conference Organizing Distribution | GVS – Growing Venture Solutions | Drupal6

Distribution adaptée à l’organisation d’événements. Tous les sites des DrupalCons utilisent COD.
Pour en savoir plus :http://drupal.org/project/cod | http://usecod.com/

- OpenDeals – NetStudio | Drupal7

Permet le déploiement de sites de ventes groupées. Connectez-vous, vous reconnaitrez le modèle !
Pour en savoir plus :http://www.opendealsapp.com/

- OpenEntreprise | Level10 | Drupal7

Permet le déploiement de petits sites pour les PME et TPE. La simplicité des thèmes disponibles en fait un outil intéressant.
Pour en savoir plus :http://www.leveltendesign.com/enterprise

- ProsePoint | Think Left | Drupal6

Site de média en ligne. Permet la gestion d'éditions donc bien adaptée aux mensuels et magazines.
Pour en savoir plus :http://www.prosepoint.org/

- NodeStream | NoneOne | Drupal6 et Drupal7 (pas encore stable sous drupal7)

Site de média en ligne. Intéressant par la qualité des types de contenu proposés par défaut, simplement et intelligemment configurables pour y attacher d’autres contenus transversaux. La distribution permet également, par l’intermédiaire de Panels, de manager des pages d’atterissage pour les différentes sections du site.
Pour en savoir plus :http://www.nodestream.org/

- Erecruiter | Epiqo | Drupal7

Site de recrutement du type « Monster ».
Pour en savoir plus :http://epiqo.com/recruiter

- OpenScholar | Harvard | Drupal6

Site d'université, mais la distribution a tenu compte du modèle des universités US.
Pour en savoir plus :http://openscholar.harvard.edu/

- OpenAcademy | Chapter3 | Drupal7

Site d'université (sur le modèle des universités américaines également.)
Pour en savoir plus :http://www.chapterthree.com/open-academy

- OpenCalais | Reuters | Drupal7

Application de web sémantique. Le service Web Calais crée automatiquement des métadonnées sémantiques riches pour le contenu que vous soumettez - en moins d'une seconde. Mais, Calais va bien au-delà l'identification des entités classiques et retourne également les faits et les événements cachés. Le service web est gratuit pour un usage commercial et non commercial. Elle exige une inscription pour obtenir une clé API.
Pour en savoir plus :http://www.opencalais.com/

- Managing News | Development Seed | Drupal6

Managing News est une distribution (un profil d'installation pour les connaisseurs) qui vous installe un aggrégateur de flux RSS/Atom. C'est un peu comme un Google Reader privé, à partager au sein de votre entreprise ou pour faire un "planet.mondomaine.fr" pour votre site communautaire.
Managing News permet d'aggréger les flux de votre choix, de rechercher et détecter les tendances et de les analyser via des graphiques ; de géolocaliser la sources des informations, de générer des flux RSS de toutes tendances, de vos mots-clés, etc. A tester !
Pour en savoir plus :http://managingnews.com

- TattlerAPP Phase2Technology | Drupal6

Outil de "Topic monitoring", assez proche de Managing News il semblerait. Construit et distribué sur l'open source Drupal , Tattler permet à un utilisateur de filtrer facilement, organiser et partager des contenus rassemblés à partir du Web.
Pour en savoir plus : http://tattlerapp.com/

Christophe DUGUÉ

http://twitter.com/chdugue