Drupal
Drupal peut être utilisé à quatre niveaux différents : 1. Tel quel : une fois celui-ci installé et paramétré, il est utilisable pour créer du contenu structuré et annotable par des utilisateurs qui peuvent s'enregistrer sur le site. Les menus du site ont alors un aspect standard. 2. Personnalisation simple : il est ensuite possible de personnaliser l'emplacement d'affichage, ou l'affichage lui-même, de composants visuels standards (date et heure, derniers posts, nombre de connectés, etc.), ainsi que le thème d'affichage (terme expliqué plus bas) du site. 3. Extension par ajouts externes : ajout, paramétrage et personnalisation de modules optionnels n'appartenant pas au noyau. À ce stade et au suivant, il n'est pas rare que le développeur du site écrive aussi un thème de présentation qui lui soit propre. 4. Extension par développement interne : écriture de nouveaux modules régis par la GPL, qu'il est souvent efficace (mais nullement obligatoire) de présenter ensuite à la communauté afin que celle-ci puisse participer à leur évolution.
Drupal lui-même utilise une base de données - comprenant typiquement 60 à 300 tables selon les modules activés - et une hiérarchie de fonctions toutes substituables permettant au développeur d'application expérimenté de réécrire la seule partie qu'il désire modifier, et uniquement au niveau d'abstraction auquel il s'intéresse, sans toucher au reste. La bonne ou la mauvaise connaissance du niveau exact auquel intervenir peut diviser ou multiplier le temps de réalisation d'un facteur 10 ou plus.
Drupal comporte environ 4000 fonctions d'API, mais le site api.drupal.org permet de les retrouver en accès direct par une partie quelconque du contenu de leur nom. Dans la pratique, un module simple peut fort bien n'en utiliser qu'une dizaine, voire moins.
Contenus, traitements, présentation[modifier]
Contenus, ou nœuds[modifier]
Drupal nomme tout contenu qu'il gère5 un "nœud". Une page d'article sera par