La cuisine de Maha

Migration d'un site statique Eleventy vers une application Symfony : back-office EasyAdmin, modèle Doctrine, formulaire de contact avec notification e-mail, et bascule sans interruption sur un hébergement mutualisé.

Le point de départ


Un site Eleventy : statique, rapide, mais dont chaque modification de contenu passait par le code et un redéploiement. L'objectif : rendre tout le contenu administrable sans perdre le design ni l'URL du site.

Réalisation


  • Symfony et Twig, avec les templates Eleventy portés en Twig pour conserver le rendu à l'identique.
  • Le modèle Doctrine : Menu, Dish, Review, ContactMessage et User, avec migrations versionnées sur MySQL.
  • Le back-office avec EasyAdmin : CRUD sur chaque entité, upload d'images, accès protégé par le composant Security.
  • Le formulaire de contact construit avec le composant Form, validé côté serveur, persisté en base et notifié par e-mail via Symfony Mailer.

Migration et déploiement


L'application a été développée dans un répertoire dédié, à côté du site Eleventy toujours en production. La bascule s'est faite en repointant le document root du domaine vers public/, sans interruption de service.

L'hébergement est un mutualisé o2switch (cPanel, PHP 8.2/8.3), avec un déploiement par composer install --no-dev --optimize-autoloader et vidage du cache en environnement de production.


Pourquoi Symfony plutôt qu'un CMS


Un WordPress aurait rendu le contenu éditable, mais au prix d'un thème à refaire, de plugins à maintenir et d'une surface d'attaque plus large. Symfony et EasyAdmin donnent une administration limitée exactement aux besoins de la cliente, sur une base de code que je maîtrise entièrement.

Boite à outils du projet:

  • Symfony
  • Twig
  • Doctrine
  • Scss
  • Javascript
  • MySql

On discute ?