Aller au contenu principal
FrankenPHPFrankenPHP

Agence de développement FrankenPHP

Le serveur d'application PHP moderne basé sur Caddy, performances améliorées, mode worker, Early Hints HTTP/103 et HTTPS automatique pour vos applications Symfony et Laravel.

Ils valorisent leur capital logiciel à nos côtés

  • Saint-Gobain
  • PUM
  • Toupret
  • FFME
  • Nola TS
  • Mon Répondeur Pro
  • Raisetalk
  • Groupe MALLET
  • Hubicus
  • Shopify
  • Qonto
  • Fauconis
  • Up To The League
  • Grappin
  • Lemonway
  • Stripe
  • API Platform
  • Velveto
  • Helloasso
  • République française
  • Société Générale

Votre projet FrankenPHP

Remplissez le formulaire, nous revenons sous 24h.

Ce formulaire est protégé par Cloudflare Turnstile. La politique de confidentialité de Cloudflare s'applique.

C'est quoi FrankenPHP ?

Créé en 2022 par Kévin Dunglas (créateur d'API Platform), FrankenPHP est un serveur d'application moderne pour PHP, écrit en Go et bâti sur Caddy. Il intègre PHP en mode worker, HTTP/3, support natif de Mercure (SSE) et Vulcain (cache), TLS automatique et early hints. Adopté par Symfony (comme runtime par défaut depuis 7.2), Laravel Octane, WordPress et Sylius, il redéfinit ce qu'on peut attendre d'un PHP en production.

FrankenPHP rend à PHP ce que Node et Go avaient pris : la performance d'un serveur résident, sans renoncer à la simplicité du langage.

Pourquoi utiliser FrankenPHP ?

FrankenPHP ne remplace pas votre code, il remplace votre stack runtime (PHP-FPM + Nginx). Voici six bénéfices concrets.

  • Worker mode performant. L'application reste chargée en mémoire entre les requêtes, plus de boot Symfony/Laravel à chaque hit. Gain de 3x à 10x sur les benchmarks.
  • HTTP/3 et HTTP/2 natifs. Pas de Nginx à configurer, pas de tuning compliqué. Caddy fait le boulot proprement.
  • TLS automatique. Let's Encrypt intégré, renouvellement transparent, OCSP stapling. Production ready en deux lignes de Caddyfile.
  • Mercure et Vulcain intégrés. Server-sent events et cache hypermedia hors d'usine, sans dépendances externes.
  • Image Docker officielle. frankenphp:php8.4 ou frankenphp:latest. Une seule image pour le web et les workers.
  • Embeddable. FrankenPHP peut être compilé en binaire statique, distribuable sans dépendances. Idéal pour les outils CLI ou les apps desktop avec PHP embarqué.

FrankenPHP face aux autres approches

FrankenPHP n'est pas le seul à proposer un runtime moderne pour PHP. Voici les arbitrages.

CritèreFrankenPHPPHP-FPM + NginxRoadRunner
Mode workerNatifNonNatif
HTTP/3OuiVia Nginx configNon
TLS automatiqueOui (Caddy)ManuelManuel
Mercure / SSEIntégréExterneExterne
ConfigurationCaddyfile (10 lignes)Nginx + FPMPlus dense

FrankenPHP en pratique

Voici un Dockerfile minimal pour faire tourner Symfony en worker mode avec FrankenPHP.

# Dockerfile
FROM dunglas/frankenphp:1-php8.4 AS base

ENV SERVER_NAME=:80
ENV APP_RUNTIME=Runtime\\FrankenPhpSymfony\\Runtime
ENV FRANKENPHP_CONFIG="worker ./public/index.php"

RUN install-php-extensions \\
    intl \\
    pdo_pgsql \\
    opcache \\
    zip

WORKDIR /app
COPY composer.* ./
RUN composer install --no-dev --no-scripts --prefer-dist --optimize-autoloader

COPY . .
RUN composer run-script post-install-cmd

# Pré-chauffage du cache Symfony
RUN php bin/console cache:warmup --env=prod

EXPOSE 80 443 443/udp
CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile"]

Pour quels projets ?

FrankenPHP est un excellent choix sur trois familles de cas d'usage.

  1. API à fort trafic. Back-ends Symfony + API Platform, latence divisée par 5 à 10 vs PHP-FPM, RPS multiplié d'autant.
  2. E-commerce sous charge. Sylius, Magento 2 ou stack custom. Le worker mode encaisse les pics (soldes, Black Friday) avec moins de serveurs.
  3. Apps temps réel. Notifications, dashboards live, collaboration via Mercure SSE, le tout sans ajouter Redis Pub/Sub ou serveur Node à côté.

Notre approche chez Koul

Nous déployons FrankenPHP sur l'ensemble de nos projets PHP récents, en remplacement de l'ancien combo Nginx + FPM.

  • Configuration standardisée. Caddyfile minimal, variables d'env pour les workers, healthchecks Kubernetes.
  • Worker mode systématique. Avec Symfony Runtime ou Laravel Octane, validation perf en pré-prod.
  • Monitoring. Métriques exposées en Prometheus, dashboards Grafana, logs centralisés Kibana.
  • Migration progressive. Bascule itérative depuis FPM, rollback simple si besoin.
FrankenPHP, c'est PHP qui rattrape vingt ans de retard sur le terrain du serveur applicatif, sans renier sa simplicité.

Une méthode éprouvée, du premier atelier à la mise en production

Quatre étapes pour transformer votre intuition en produit durable, sans perte de temps ni dérive de scope.

Découvrir notre méthode
Nos garanties

Trois engagements pour protéger votre investissement

Parce que sécuriser votre projet, c'est aussi sécuriser vos équipes et votre budget.

  • Zéro dette technique

    Chaque ligne de code est revue, testée et documentée.

  • Garantie de livraison

    Engagement contractuel sur le périmètre, le délai et le budget.

  • Transparence budgétaire

    Vous connaissez en temps réel l'état d'avancement et la consommation.

Réservez un rendez-vous gratuit avec un spécialiste FrankenPHP

30 minutes pour échanger sur votre projet digital et vos enjeux tech.

Mur Koul dans nos locaux
Questions fréquentes

Nos choix technologiques

Stacks, mises à jour, dette technique : comment nous choisissons, entretenons et faisons évoluer la technologie.