Exécuter Drupal avec FrankenPHP : ce qu’il faut savoir

L’écosystème PHP évolue rapidement, notamment sur la partie exécution et performance.
De nouvelles approches voient le jour pour simplifier le déploiement et accélérer les temps de réponse des applications.

Parmi elles, FrankenPHP se démarque avec un modèle différent des architectures classiques basées sur PHP-FPM + Nginx/Apache.

La question se pose donc : peut‑on faire tourner Drupal avec FrankenPHP, et dans quels cas cela a-t-il du sens ?


Comment Drupal fonctionne aujourd’hui

Dans une architecture classique, Drupal repose sur :

  • Un serveur web (Nginx ou Apache)
  • PHP-FPM pour exécuter le code PHP
  • Une base de données (MySQL, MariaDB, PostgreSQL…)
  • Éventuellement un système de cache (Redis, Memcached, CDN…)

Ce modèle, solide et éprouvé, présente toutefois :

  • Plusieurs couches d’infrastructure
  • Une configuration complexe
  • Des coûts de maintenance non négligeables

Qu’est-ce que FrankenPHP ?

FrankenPHP est un serveur d’application moderne pour PHP, construit autour de :

  • Caddy, un serveur HTTP rapide et moderne
  • Une exécution directe du code PHP (sans PHP-FPM)
  • Un mode persistant (worker) inspiré de solutions comme Node.js ou Swoole

Objectif

Simplifier l’architecture et améliorer les performances en réduisant les couches intermédiaires.


Les avantages pour Drupal

1. Simplification de l’infrastructure

Avec FrankenPHP, vous pouvez :

  • Supprimer complètement PHP-FPM
  • Réduire le nombre de composants à maintenir
  • Simplifier le déploiement, notamment en conteneur (Docker)

En résumé, moins de complexité = moins de friction.


2. Amélioration des performances

Le mode persistant offre la possibilité de :

  • Réduire les temps de démarrage des requêtes
  • Réutiliser certaines ressources et dépendances en mémoire
  • Gagner en rapidité de réponse, surtout sur des sites à fort trafic

C’est un terrain prometteur pour les projets orientés performance.


3. Meilleure expérience développeur

FrankenPHP propose une approche moderne adaptée aux pratiques actuelles :

  • Configuration simple
  • Démarrage rapide
  • Intégration fluide avec Docker

Une expérience agréable pour les développeurs souhaitant tester ou prototyper rapidement.


Les limites et points de vigilance

1. Compatibilité avec Drupal

Drupal n’a pas été initialement conçu pour un mode persistant.
Cela entraîne plusieurs précautions à prendre :

  • Gestion de la mémoire et des états persistants
  • Risques de comportements inattendus avec certains modules
  • Nécessité de tests approfondis avant une exploitation réelle

Chaque cas d’usage mérite une validation spécifique.


2. Écosystème encore jeune

FrankenPHP reste une technologie récente :

  • Peu de retours d’expérience sur de grosses installations
  • Documentation encore en évolution
  • Outils et intégrations limités, surtout côté CMS

Une adoption prudente est donc recommandée sur des projets critiques.


3. Gestion du cache et des états

Drupal repose historiquement sur un modèle stateless et une stratégie de cache avancée.

Le mode persistant de FrankenPHP peut introduire :

  • Des effets de bord dans la gestion des services ou utilisateurs
  • Des incohérences de cache si l’état applicatif n’est pas bien géré

Une bonne maîtrise de Drupal internals est essentielle avant d’aller plus loin.


Cas d’usage recommandés

FrankenPHP peut être intéressant pour :

  • Environnements de développement ou de test
  • Proof of Concept (PoC)
  • Projets internes ou sans contrainte de haute disponibilité
  • Expérimentations sur la performance PHP

Idéal pour explorer la nouvelle génération d’exécution PHP.


Cas à éviter (pour l’instant)

À ce stade, mieux vaut éviter FrankenPHP pour :

  • Des sites critiques en production
  • Des environnements à haute disponibilité
  • Des architectures complexes ou fortement intégrées

La prudence reste de mise tant que l’écosystème n’a pas mûri.


Comparaison rapide

Critère Stack classique (FPM) FrankenPHP
Complexité Élevée Faible
Maturité Très élevée Faible
Performance Bonne Potentiellement meilleure
Risque Faible Plus élevé

Conclusion

FrankenPHP ouvre une voie prometteuse pour l’écosystème PHP :
moins de couches, plus de performance et une expérience développeur modernisée.

Pour Drupal, la technologie est encore en phase d’exploration.
C’est un excellent terrain d’expérimentation, mais pas encore une solution de production stable.

Les agences et développeurs ont tout intérêt à tester dès maintenant FrankenPHP,
à comprendre ses limites et à préparer l’avenir des déploiements PHP simplifiés.