Genesis, c'est juste mon
symfony new --webapp
customisé. Rien de révolutionnaire, simplement tout ce que je mets en place à chaque nouveau projet, déjà prêt.
Après des années à refaire les mêmes configs sur chaque projet, j'ai décidé de tout centraliser une bonne fois pour toutes. Genesis n'est pas un framework, c'est littéralement un `symfony new` avec tout ce que j'ajoute systématiquement dans les 2 premières heures d'un projet.
Le but c'est de pouvoir cloner, lancer `make install`, et commencer direct à coder la vraie logique métier. Pas de temps perdu sur l'auth, les emails, le design system ou les favicons.
Pas de Docker parce que j'ai déjà mes environnements configurés. Pas de CI/CD parce que ça dépend d'où je déploie. Pas de tests parce que j'ajoute PHPUnit quand j'en ai besoin. Pas d'API Platform parce que tous mes projets n'ont pas besoin d'API.
Genesis reste minimal exprès. C'est une base, pas une usine à gaz. J'ajoute ce qu'il faut, quand il faut, projet par projet.
Genesis n'est pas public et ne le sera probablement jamais. C'est mon outil personnel, configuré exactement comme j'aime. Si tu veux quelque chose de similaire, fais le tien. C'est le meilleur moyen d'avoir exactement ce dont tu as besoin, ni plus, ni moins.
J'essaie de mettre en place un branding cohérent pour chacun de mes projets, même si je ne suis pas designer. Je fais les logos, icônes et covers moi-même (ça vaut ce que ça vaut). Au moins c'est unique et ça donne une identité au projet.
Genesis — Symfony Boilerplate.