Drupal : un CMS flexible et puissant

Découvrez le CMS Drupal, la solution la plus puissante et flexible pour la création d'applications web : site internet, intranet, extranet ou encore e-commerce.

Temps de lecture : minutes

Drupal un CMS flexible et puissant

Pourquoi cet article ?

Cet article a pour but de vous familiariser avec Drupal et surtout de vous convaincre de l’utiliser pour la conception de votre site web, car je pense sincèrement qu’il s’agit de la meilleure solution existante aujourd’hui pour la conception de sites web ayant besoin de fonctionnalités poussées, mais également de sites un peu moins étendus, mais susceptibles d’évoluer avec le temps.

Drupal permet ceci de manière très réussi et c’est ce que je souhaite vous démontrer dans cet article. Et peut-être aurez-vous envie suite à votre lecture, de faire appel à mes services pour la création de votre site web avec Drupal ?

Drupal c’est quoi ?

Drupal est un CMS (Content Managing System) qui permet de créer des applications web, principalement des sites internet, des intranet/extranet et depuis peu des sites e-commerce.

La force du CMS est que «n’importe qui» peut avec un peu de pratique et beaucoup d’aide de la communauté de plus d’un million de membres, créer un site internet sans avoir de grandes connaissances en langages de programmation comme le PHP, le HTML ou le CSS.

Le grand intérêt pour les professionnels du web comme moi, c’est d’avoir un outil puissant et très flexible avec lequel nous pouvons développer des sites sans avoir à recréer à chaque fois les fonctions basiques, ce qui permet de se concentrer principalement sur des éléments essentiels que sont l’ergonomie, le design et le référencement.

De plus un CMS, notamment Drupal, est maintenu dans le temps. La compatibilité des modules et du cœur du CMS avec les évolutions du web est assurée par la communauté des 28 000 développeurs du CMS et des modules à condition de les mettre à jour régulièrement.

Ainsi le site devient obsolète moins rapidement qu’avec un développement spécifique (développer toutes les fonctions soi-même en PHP par exemple) et il est plus facile de le remettre aux gouts du jour en refondant le thème uniquement.

L’histoire de Drupal

Drupal est un CMS initialement développé par Dries Buytaert à partir l’an 2000 qui définit lui-même sa création comme un «Rapid website assembler» en Fançais « assembleur rapide de site web».

En 2009, il était classé 1er du concours de la société Britanique «Packt» devant WordPress et Joomla dans la catégorie «Best open source PHP CMS». D’autres concours lui attribueront la première place devant ses principaux «rivaux» WordPress ou encore Joomla.

En 2010 selon certaines estimations, Drupal équipait environs 1% des sites web mondiaux, dont celui de la Maison Blanche aux USA, mais aussi de nombreux sites institutionnels et de très grandes marques que je détaillerais plus bas.

L’arrivée de Drupal 7 en 2010 a été une petite révolution pour le CMS. Plus simple à utiliser, plus puissant et tournée résolument vers une utilisation modulaire, Drupal a connu un essor formidable depuis cette version.

Sa version 8 a proposé à la communauté une réécriture complète du code pour améliorer de nombreux points en utilisant notamment le framework PHP Symfony également utilisé par de nombreux développeurs à travers le monde et le moteur de rendu Twig (qui permet de gérer l’affichage).

Dans les nouveautés, on note aussi une amélioration de la gestion de plusieurs environnements (développement, test, production), l’utilisation de Composer pour gérer l’installation et les mises à jours, la prise en charge multilingue dans le noyau, ainsi que de nombreuses améliorations.

Les différents composants de Drupal

Le cœur

Le cœur du CMS («core» en Anglais) est la structure basique de Drupal, les fichiers de base qui servent à installer le CMS, installer des modules, construire la base de données, etc.

Le cœur de Drupal est régulièrement mis à jour par ses développeurs et lors des versions majeures, des fonctionnalités supplémentaires sont ajoutées, souvent des modules déjà fonctionnels, très utilisés et reconnus par la communauté Drupal. C’est un peu la consécration pour un développeur de module, de voir sa création intégrée au cœur de Drupal.

Les modules

Les modules sont des applications à installer pour bénéficier de fonctionnalités supplémentaires comme la création de formulaires, la création de menus ou encore l’intégration de médias photos, vidéos ou autres, etc.

Quelques modules les plus réputés sur Drupal sont les modules Views (qui a d’ailleurs été intégré dans le cœur de Drupal 8), Rules, Webform, etc. Chacun permet une ou plusieurs fonctions précises, qui peuvent être encore complétées par d’autres modules qui s’ajoutent aux premiers pour les rendre encore plus complets et puissants.

Il existe sur le site officiel de Drupal, presque 17 000 modules différents, dont plus de 10 500 compatibles avec Drupal 7 et déjà plus de 700 avec Drupal 8 alors même que la version stable n’est pas encore sortie.

Les thèmes

Le thème gère l’aspect graphique et ergonomique du CMS, c’est le thème qui définit par exemple la position du logo, la taille du titre, la couleur de fond du site, la disposition des pages, etc. Il contient principalement du HTML, du CSS et du JavaScript. Un peu de PHP sert également à intégrer des éléments qui peuvent être inscrits dans la base de données pour rendre le thème plus dynamique.

Il existe de nombreux thèmes. Rien que sur Drupal.org, le site officiel de Drupal, plus de 1 300 thèmes sont disponibles gratuitement. Il existe également des sites comme themeforest.net ou encore beauxthemes.com qui proposent des thèmes majoritairement payants.

Les thèmes les plus réputés sont sans aucun doute «Zen» et «Omega» qui sont tous deux des thèmes de base que l’on peut facilement customiser pour créer un thème personnalisé. D’autres thèmes comme «Corporate Clean» ou encore «Marinelli» sont utilisables sans énormément de personnalisation pour ceux qui auraient trop peu de connaissances en HTML et CSS.

Drupal propose des thèmes inclus à l’installation de Drupal, qui bien que de grande qualité, sont aussi très utilisés et donc votre site risque d’être similaire à beaucoup d’autres si vous les utilisez.

Les blocs

Les blocs sont des sortes de boites qui permettent d’y intégrer du contenu et de les placer à l’endroit de votre choix. On peut par exemple créer des blocs pour y afficher les articles récents, les derniers commentaires, un diaporama ou encore une vidéo…

Tout l’intérêt des blocs est de pouvoir disposer son contenu comme on le souhaite et de pouvoir, le cas échéant, le déplacer pour mettre en avant telle ou telle information ou fonctionnalité.

Il est possible d’afficher un bloc sur une seule page, plusieurs pages ou même toutes. Il est également possible de n’afficher un bloc qu’à certains rôles ou sur certains types de contenus seulement.

Drupal 8 permet lui de créer des types de blocs, ce qui rend l’utilisation de ceux-ci encore plus puissante.

Les nœuds (nodes en Anglais)

Les «nœuds» sont une spécificité de Drupal, ce terme regroupe tous les types de contenus d’un site Drupal. Ainsi les pages web, les articles de blog, les topics de forum, etc. sont tous catégorisés comme des «noeuds».

Je ne saurais vous dire l’origine de ce terme, mais je suppose qu’il fallait bien trouver un terme pour définir tous ces types de contenus. Le créateur de Drupal, Dries Buytaert, a dû décider le terme «nœud» pour une raison que lui seul, peut-être, connait.

Les types de contenus

Les types de contenus sont des types de nœuds en sommes. Chaque type de contenus à une utilisation propre. Il peut en exister autant que l’on veut et chaque type de contenu pourra avoir des champs différents, un affichage personnalisé, des droits d’accès spécifiques, etc.

Les types de contenus standards de Drupal sont :

  • Page – Une page standard avec un titre, une description, une image. Souvent utilisée en page statique.
  • Article – Une page souvent utilisées pour écrire des articles de blog. Elle contient souvent un titre, des mots clés, un résumé, une description et une image.
  • Livre – Un type de contenus reliés entre eux pour créer une sorte de livre avec des pages qui se suivent.

Cependant il est souvent indispensable d’en créer de nouveaux pour correspondre aux besoins du site web. Voici quelques exemples de types de contenus les plus utilisés :

  • Topic de forum – qui permet aux utilisateurs de créer des sujets de discussion
  • Image – qui permet d’ajouter des images avec une description et d’autres champs qui sont utiles à la création d’une galerie par exemple.
  • F.A.Q. – qui permet de créer une foire aux questions pour répondre aux interrogations des visiteurs.
  • Article – pour Drupal Commerce notamment qui permet d’ajouter des articles à vendre.
  • Formulaire web – pour créer des formulaires de devis par exemple avec Webform.

Les librairies

Les librairies sont des fonctionnalités externes à Drupal qui sont souvent intégrées à des modules. Par exemple des plugins JQuery pour ajouter une touche de dynamisme au site et améliorer l’ergonomie de certaines fonctions.

La base de données

La base de données sert à stocker les informations du site. De l’emplacement des fichiers à tous les contenus du site en passant par les paramètres de configuration des modules et fonctionnalités du cœur de Drupal.

La base de données permet de rendre le site dynamique et de pouvoir y ajouter des informations sans manipuler ni ajouter de fichiers au site.

Les distributions

Les distributions Drupal ne font pas partie des composants du CMS, mais je me devais d’en parler tout de même. C’est pourquoi je vous en parle ici malgré-tout.

Les distributions sont un assemblage de plusieurs modules, et thèmes pré-configurés avec des types de contenus, des taxonomies, etc. Chacune est dédiée à un domaine en particulier comme le e-commerce avec Commerce Kickstart par exemple, les réseaux sociaux avec Drupal Commons ou Open Atrium pour les intranet, etc.

L’intérêt des distributions est de faire gagner du temps aux concepteurs de sites web en leur prémâchant le travail. Elles sont en plein essor dans la communauté Drupal car elles facilitent grandement le travail des intégrateurs comme moi en évitant de passer du temps à la recherche de modules et la mise en place de paramétrages pourtant inévitables pour certains domaines d’activité.

Les fonctionnalités principales de Drupal

Drupal était un CMS très léger au départ avec très peu de fonctionnalités. Certains modules ont, au fil du temps et des versions, été intégrés au cœur de Drupal pour en augmenter les fonctionnalités de base et le rendre plus flexible et plus puissant dès l’installation de départ.

La création de contenus (avec CCK)

CCK est un module qui a été intégré au cœur de Drupal 7. Le module étant tellement utilisé par la communauté que les développeurs de Drupal ont jugés bon et à juste titre, de l’intégrer au cœur du CMS.

Il permet la création de formulaires de création de «noeuds» et est très puissant. Rien ou presque n’est infaisable avec ce module. Il permet non seulement de créer des formulaires pour les administrateurs mais également pour les utilisateurs, avec autant de champs et de types de champs que nécessaires.

D’autres modules peuvent lui être ajoutés tels que par exemple :

  • «Link» qui permet d’ajouter facilement des liens dans ses nœuds
  • «Media» qui permet d’ajouter des images, des vidéos, etc. à ses nœuds
  • «Field Group » qui permet de créer des groupes de champs pour rendre le formulaire plus lisible.

L’internationalisation (multilinguisme)

Drupal permet grâce au module «Internationalization», depuis intégré dans le noyau Drupal 8, connu également sous le nom de «i18n» de traduire l’intégralité de l’interface et des contenus y compris de l’administration. Très complet, mais parfois un peu complexe il est nécessaire de bien connaitre Drupal et d’avoir des modules optimisés pour la traduction.

La gestion multi-utilisateurs

L’un des gros points forts de Drupal réside dans sa capacité à collaborer à plusieurs de manières très structurée. Il est possible de créer plusieurs types de collaborateurs (rôles) comme par exemple :

  • Administrateurs
  • Contributeurs
  • Gestionnaires de clientèle
  • Clients
  • Utilisateurs authentifiés
  • Utilisateurs anonymes
  • Etc.

Chaque rôle aura des droits personnalisés et personnalisables pour accéder à tel ou tel type de contenus, de menus, de fonctionnalités, etc. Il est possible d’élargir encore cet éventail de possibilités de restriction avec des modules complémentaires comme «Field Permissions», «Custom Permissions» et bien d’autres.

La taxonomie (classement)

Un autre point fort de Drupal qui pourtant est assez incompris des néophytes, est la possibilité d’organiser les contenus grâce aux termes de taxonomie. Moi-même j’avoue avoir mis du temps à comprendre l’intérêt de la taxonomie. Je vais essayer de vous l’expliquer de sorte que vous soyez un peu plus familiarisé avec cette notion.

Imaginez par exemple que vous ayez un site internet de recettes de cuisines comme on en voit énormément. Imaginez que sur ce site il y ait plus de 10 000 recettes avec différents ingrédients, temps de cuisson, origines, des entrées, des plats, des desserts, etc.

Comment faire pour organiser tout ce contenu et permettre aux utilisateurs de s’y retrouver sans avoir à parcourir les 10 000 recettes de votre site ? Et bien vous allez utiliser la taxonomie !

Vous allez tout d’abord créer des «vocabulaires» de taxonomie

  • Origines
  • Cuissons
  • Types de plats
  • Ingrédients

Jusque-là, nous n’avons rien de suffisamment précis pour organiser correctement toutes vos pages. Alors nous allons créer des termes de taxonomie «parents».

  • Origines
    • Europe
    • Amérique
    • Asie
    • Afrique
  • Cuissons
    • Mijoté
    • Grillé
    • Frit
  • Types de plats
    • Entrées
    • Plats de résistance
    • Fromages
    • Desserts

Vous avez compris le principe ! Mais cela ne suffit pas encore pour classer correctement toutes vos recettes. Il faut donc créer des termes «enfants».

  • Origines
    • Europe
      • France
      • Angleterre
      • Allemagne
  • Cuissons
    • Mijoté
      • A la poêle
      • Au four
    • Grillé
      • Au feu de bois
      • A la poêle
  • Types de plats
    • Entrées
      • Chaudes
      • Froides

C’est un peu long, certes, mais diablement efficace ! Pourquoi ? Car quand vos internautes vont créer des recettes, vous allez leur demander de renseigner ces informations dans le formulaire de création de contenus.

Les visiteurs eux, n’auront plus qu’à cliquer sur un terme de taxonomie pour trouver les recettes souhaitées, ils pourront également faire une recherche avec des mots clés. Si l’un des termes de taxonomie est contenu dans la recherche, l’utilisateur aura des résultats pertinents.

Les contributeurs pourront avoir le droit, qui-plus-est, de rajouter des nouveaux termes de taxonomie si vous le souhaitez, ce qui allègera votre travail et rendra votre système de taxonomie très performant.

La gestion multi-sites

Drupal, à condition de s’y prendre comme il faut dès le début, est aussi très performant dans la gestion multi-sites. Comme son nom l’indique, il s’agit de créer plusieurs sites en ayant qu’une seule infrastructure, qu’un seul serveur et surtout, d’avoir une base commune de modules, de thèmes, et même de contenus selon le résultat souhaité.

Il est également possible d’avoir des modules spécifiques à un site et ainsi de ne pas alourdir inutilement les autres. D’avoir un thème différent pour chaque site si l’on veut, d’utiliser des bases de données différentes ou bien encore d’utiliser la même base de données avec des préfixes différents pour chaque site.

Nous y reviendrons d’ailleurs dans un article dédié à la mise en place d’un environnement multi-sites sur Drupal que je rédigerai plus tard.

Le e-commerce

Introduit sous Drupal 6 en 2007 par le module «Ubercart» le e-commerce a entamé une petite révolution au sein de Drupal. En effet, le succès du module a provoqué la création d’une sorte d’écosystème Drupal spécialement conçu pour le commerce en ligne.

Nommée Drupal Commerce, la solution est composée du cœur de Drupal et du module «Commerce», le successeur en quelques sorte du module «Ubercart».

Une distribution spéciale a même été composée et nommée «Commerce Kickstart», elle comprend un thème moderne et dédié au commerce en ligne, des modules indispensables pour une boutique en ligne et dispose de son propre site web de support et de présentation de la distribution.

Drupal Commerce connait depuis sa création un énorme succès, concurrençant directement les plus grand acteurs du marché que sont «Magento», «Prestashop», «Woocommerce», etc. Le e-commerce compte plus d’un millier de boutiques en lignes créées avec Drupal et pas des moindres :

  • Kenzo
  • Cartier
  • Guerlain
  • Décathlon Group

Pour plus de références, je vous invite à consulter le showcase de Drupal Commerce.

Bien entendu, il y a bien d’autres fonctionnalités disponibles au sein de Drupal et encore plus en ajoutant des modules complémentaires, mais je ne peux pas, dans un seul article, vous détailler tout cela.

C’est pourquoi j’ai décidé de créer une rubrique «Drupal» dans mon blog afin de vous apporter régulièrement des conseils et des astuces spécialement pour Drupal ou je donnerais quelques conseils sur l’utilisation et la configuration de modules, je proposerais des listes de modules utiles par type de fonctionnalité, etc.

Quelques sites qui utilisent Drupal

Si après la lecture de cet article, vous n’êtes pas convaincus que Drupal est la meilleure solution pour créer votre site internet, voici une liste de sites qui est loin d’être exhaustive parmi les plus de 1 millions de sites web utilisant Drupal à ce jour (12% des 100 000 plus fréquentés au monde en 2014) :

Sites institutionnels :

  • La CAF
  • La Région Ile-de-France
  • Le département de l’Hérault
  • Le ministère de la fonction publique
  • Le ministère du budget
  • Le gouvernement Français
  • Le site officiel de la Maison Blanche

Sites de marques :

  • Société générale
  • BNP Paribas
  • ING
  • Orange business service
  • SFR
  • Bouygues télécom entreprise
  • Virgin
  • Guerlain
  • Kenzo
  • Cartier
  • Voyages-sncf

Sites associatifs :

  • Médecins sans frontières
  • Greenpeace
  • Amnesty International
  • Action contre la Faim
  • Ubuntu

Réseaux sociaux :

  • Communauté de développement Twitter
  • HEC Alumni
  • Communauté de développement Symantec
  • Java
  • Communauté de développement de Nokia

Sites de médias :

  • Virgin radio
  • Blog officiel de Twitter
  • RFM
  • Closer
  • The Economist
  • France info
  • France inter
  • France 24
  • Le figaro
  • Rue 89
  • Mediapart

Source : http://www.drupalons.fr/exemples-de-site-drupal-importants

Alors, convaincu ?

C’est maintenant à vous de choisir si oui ou non vous souhaitez utiliser Drupal pour la création de votre site web et j’espère que vous ferez le bon choix !

En tous cas, si vous souhaitez savoir quel serait le coût éventuel de la création de votre site web avec Drupal, n’hésitez pas à me demander un devis ou à me poser vos questions en me contactant depuis le formulaire de contact !

Vous pouvez également poser vos questions à la suite de cet article dans les commentaires, j’y répondrais avec plaisir. Vous pouvez aussi partager cet article en cliquant sur l’un des boutons de partage qui se trouve plus bas. Je vous en serais reconnaissant !

Partager cet article

Besoin d’aide ou de conseils ?

Réservez votre rendez-vous gratuit de 30 minutes pour aborder vos problématiques

D'autres conseils en Transformation digitale

Je n'ai pas d'autres articles à vous proposer pour le moment.

N'hésitez pas à me suggérer des sujets en laissant un commentaire !

Drupal : un CMS flexible et puissant et vous qu'en pensez-vous ?

3 Commentaires

  1. Pascal

    Merci pour ce partage
    Merci pour ce partage

  2. Adrien  Carmaieux

    Bonjour,
    Bonjour,
    Vos arguments sont très convaincants. Il faut reconnaitre que Drupal offre des fonctionnalités que l’on ne trouve sur aucun autre CMS. De ce côté, il est tout à fait normal que la plateforme créée soit différente d’une autre.
    En même temps, son utilisation n’est pas donnée à tout le monde. Au risque de ne pas avoir le contrôle de ses activités, il est parfois mieux de se tourner vers un CMS plus facile à manipuler. Après, c’est une question de goût et de besoin, comme quoi, on ne peut savoir sans essayer.

  3. Ly mamadou

    Super article Richard je suis
    Super article Richard je suis convaincu à 2000%