Brioche enrobe votre code spaghetti dans une couche dorée et moelleuse, sans refactoring brutal. Ajoutez de la structure, pas de la souffrance.
Ce que Brioche apporte
Brioche ne remplace pas votre code. Il l'entoure, le protège et le rend progressivement plus savoureux, fichier par fichier.
Ajoutez un routeur propre sur vos URLs existantes. Pas besoin de tout réécrire, Brioche cohabite avec votre code actuel.
Enveloppez vos fichiers legacy dans des middlewares : auth, logging, rate-limiting, sans toucher à l'existant.
Un conteneur d'injection de dépendances minimaliste pour progressivement sortir les services de vos global $db.
Activez uniquement ce dont vous avez besoin : sessions, ORM léger, templating. Rien de superflu dans le bundle de base.
Un debugger qui comprend le code legacy : trace les appels imbriqués, détecte les globals dangereux, suggère des refactorings.
Un seul fichier à inclure. Brioche s'auto-configure à partir de votre structure existante. Fariné et prêt à cuire.
Avant / Après
Voici comment Brioche transforme un fichier PHP typique en quelque chose de propre, sans tout réécrire d'un coup.
// Connexion MySQL old-school global $conn; $id = $_GET['id']; $result = mysql_query( "SELECT * FROM users WHERE id=" . $id // 💀 SQL injection ); $user = mysql_fetch_array($result); if($_SESSION['role'] == 'admin') { // 200 lignes de spaghetti ici… include('admin_stuff.php'); } echo "<h1>".$user['name']."</h1>";
require 'brioche.php'; Brioche::wrap(function($b) { // Auth middleware injecté $b->guard('admin'); // Repository sûr, requête préparée $user = $b->db()->find( 'users', $b->param('id') ); // Legacy inclus proprement $b->legacy('admin_stuff.php', [ 'user' => $user ]); $b->render('profile', compact('user')); });
Requêtes préparées, sanitization des inputs, CSRF intégré — sans changer votre logique métier.
$b->legacy() isole les fichiers legacy dans un scope contrôlé, sans les supprimer.
Vos collègues comprennent ce que fait le code au premier coup d'œil. Fini le spaghetti invisible.
La recette
Un composer require brioche/brioche ou un simple copier-coller d'un fichier unique. Aucune dépendance externe requise.
Ajoutez Brioche::wrap() autour de vos fichiers PHP existants. Votre code continue de fonctionner exactement comme avant.
Activez les modules un à un : routeur, DI, ORM léger, logger. Chaque sprint vous rapproche d'un code propre et savoureux.
Brioche est compatible avec tout hébergement PHP mutualisé ou cloud. Pas besoin de reconfigurer votre serveur.
Chaque couche Brioche ajoute de la structure
sans alourdir votre code existant.
Ils ont goûté
On avait 80 000 lignes de PHP4 à maintenir. En trois sprints avec Brioche, on a réussi à isoler les modules critiques sans régression. Un miracle de douceur.
La méthode legacy() m'a sauvé la mise. J'ai pu encapsuler des
includes douteux sans tout réécrire avant le lancement client. Chapeau.
Aucune conférence technique ne m'avait convaincu qu'on pouvait migrer proprement un monolithe PHP sans downtime. Brioche l'a fait, en production, un vendredi soir.
Installation
Un seul composer, un seul fichier, zéro configuration. Votre code legacy sera entre de bonnes mains en moins de 5 minutes.
PHP 7.4+ requis · Composer 2.x · Compatible Apache & Nginx