Drupal est un système de gestion de contenu (abrégé CMS en anglais) libre et open source. Un CMS est un logiciel qui permet de gérer le contenu d'un site Web. Ceci permet aux utilisateurs de faire évoluer le site sans recourir systématiquement à un programmeur.
Drupal est un outil qui s’adresse à la fois à des débutants ou des programmeurs experts. Sa flexibilité lui permet de répondre à la très grande majorité des besoins du marché: sites institutionnels, blog, annuaire, communautaire, marchand ou intranets, tout est possible.
Drupal est entièrement programmé en PHP. L'ensemble est constitué de modules gravitant autour d'un noyau très léger. Chaque module est en quelque sorte une bibliothèque de fonctions qui enrichit l’application et augmente ses possibilités.
Une des forces de Drupal est la possibilité qu’ont les modules d’interagir entre eux. La contrepartie de cette flexibilité est la complexité, ainsi, Drupal propose souvent une ou plusieurs solutions pour résoudre le même problème. D’autre part, le plus dur est quelquefois de trouver "le" module qui répondra le mieux à vos besoins.
Un autre point qui distingue Drupal des autres CMS est que le site et son interface d’administration sont intimement liés: les administrateurs éditent leur contenu dans le même contexte graphique ou presque que celui du visiteur. Cette fonctionnalité peut-être déroutante au premier abord, mais est par la suite particulièrement productive et intuitive.
Comme tous les CMS, l’architecture d’un site Drupal repose sur un modèle de contenu spécifique qui permet de structurer l’information. Drupal utilise un système de noeud couplé à une taxonomie particulièrement flexible.