name: drupal
category: cms
public: true
database: required
hosting_hints:
- shared
- vps
- acquia
- pantheon
- platform-sh
- docker
audit_stack:
- analyze
- code-clean
- seo
- design-review
- perf
- cso
- a11y
- doc
plugins:
context7: no
ui-ux-pro-max: optional
gstack: optional
---
Drupal
CMS PHP/MySQL enterprise. Architecture modulaire. Thèmes custom, modules contrib + custom. Headless possible (Drupal API + frontend découplé).
Detection signals
Strong signals (×3)
- FILE:
sites/default/settings.php
- FILE:
core/lib/Drupal.php
- DIR:
core/
- STRING_IN_FILE:
composer.json contient "drupal/core" OR "drupal/core-recommended"
Medium signals (×2)
- DIR:
modules/contrib/
- DIR:
modules/custom/
- DIR:
themes/custom/
- DIR:
web/ (Composer-based install, composer create-project drupal/recommended-project)
- FILE:
composer.lock contenant deps drupal
- FILE:
.drush/
Weak signals (×1)
- DIR:
vendor/
- FILE:
.htaccess contenant "RewriteRule .*.php"
- FILE:
update.php
- EXT: 20+ fichiers .php
Composition overlays
- Multisite : STRING_IN_FILE
sites/sites.php contient "$sites[" → noter multisite
- Headless/decoupled : DEP JSON:API activée (
core/modules/jsonapi/) + frontend séparé → composer avec l'archetype frontend détecté
Implications
- Hébergement : shared (rare pour Drupal), VPS, Acquia Cloud, Pantheon, platform.sh, Docker
- Base de données : MySQL/MariaDB/PostgreSQL REQUISE
- SEO/GEO : CRITIQUE
- Surface sécurité : TRÈS GRANDE — cœur + modules contrib + thème custom + permissions complexes
- UI/UX : thème-dependent
Typical pain points
- Drupal core obsolète (Drupal 7 EOL, migration vers 10/11 critique)
- Modules contrib obsolètes → failles sécurité
settings.php committé avec credentials DB
- DB_SECRET / hash_salt en dur
- Pas d'environnement staging / CI
- Permissions roles/users mal configurées
- Cache (Redis/Memcache) absent
- Vues complexes non optimisées (queries multi-joins)
- Composer.lock obsolète (drupal deps avec vulnérabilités)
- PHP version obsolète (< 8.1)
- Entity references sans index → slow queries
- Pas de CI pour les tests (PHPUnit/Behat ignorés)
- Configuration management non utilisé (changements DB non versionnés)
Interview questions (adaptive)
En plus du set minimum business :
- Version Drupal ? (7 / 8 / 9 / 10 / 11)
- Hébergeur actuel ? (shared / VPS / Acquia / Pantheon / autre)
- Thème : custom ou contrib ?
- Modules custom importants (nombre + fonctionnalités) ?
- Architecture : monolithique ou headless (JSON:API / GraphQL) ?
- Configuration Management utilisé ? (yml exportés dans config/sync)
- Staging / CI pipeline existant ?
- Stratégie de backup DB ?
- Dernier audit sécurité ?
- Composer workflow (core-recommended vs legacy) ?
- Drush / Drupal Console utilisé ?
- Trafic mensuel + dimensionnement serveur ?
Plugin recommendations
- ui-ux-pro-max : OPTIONAL — ON si thème custom en dev
- gstack : OPTIONAL — audit Lighthouse/Axe sur staging
- context7 : OFF — Drupal évolue lentement
Example project layout
composer.json
composer.lock
web/
core/
modules/
contrib/
custom/
mon_module/
mon_module.info.yml
mon_module.module
themes/
custom/
mon_theme/
mon_theme.info.yml
mon_theme.libraries.yml
sites/
default/
settings.php
files/
config/
sync/
vendor/