drupal.md 3.4 KB


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/