{"id":796,"date":"2025-02-26T16:47:00","date_gmt":"2025-02-26T15:47:00","guid":{"rendered":"https:\/\/www.ludovicfavre.ch\/blog\/?p=796"},"modified":"2025-02-24T21:02:33","modified_gmt":"2025-02-24T20:02:33","slug":"symfony-cest-fini-vive-codeigniter","status":"publish","type":"post","link":"https:\/\/www.ludovicfavre.ch\/blog\/2025\/02\/symfony-cest-fini-vive-codeigniter\/","title":{"rendered":"Symfony, c&rsquo;est fini. Vive CodeIgniter !"},"content":{"rendered":"\n<p><strong>Pourquoi je quitte Symfony pour CodeIgniter<\/strong><br>Apr\u00e8s des ann\u00e9es \u00e0 travailler avec Symfony, j\u2019ai pris une d\u00e9cision radicale : abandonner ce framework pour migrer mon site vers CodeIgniter. Mon site actuel repose sur Symfony 3.4, une version qui commence s\u00e9rieusement \u00e0 dater. Avec la derni\u00e8re mise \u00e0 jour PHP impos\u00e9e par mon h\u00e9bergeur, je n\u2019avais plus le choix : il fallait porter le projet vers Symfony 7 pour rester compatible. Mais ce qui devait \u00eatre une simple mise \u00e0 jour s\u2019est transform\u00e9 en gal\u00e8re&#8230;<br><br><strong>Une migration qui tourne au fiasco<\/strong><br>Initialement, je me suis dit : \u00ab Faisons simple \u00bb. J\u2019ai tent\u00e9 de migrer un seul composant \u2013 une page, un menu ou une API \u2013 pour voir comment \u00e7a se passait. Spoiler : \u00e7a s\u2019est mal pass\u00e9. Tr\u00e8s mal pass\u00e9. Le gros probl\u00e8me ? L\u2019absence de proc\u00e9dure claire pour passer de Symfony 3.4 \u00e0 Symfony 7. Les guides officiels sont flous, les \u00e9tapes manquent de pr\u00e9cision, et quand une m\u00e9thode est d\u00e9pr\u00e9ci\u00e9e, on ne te dit pas toujours par quoi la remplacer. R\u00e9sultat : on se retrouve \u00e0 t\u00e2tonner pour des choses pourtant simples.<br><br>Avec les versions 6 et 7, Symfony introduit plusieurs mani\u00e8res de faire la m\u00eame chose. G\u00e9nial sur le papier, mais en pratique, \u00e7a complique tout. La documentation, qui devrait \u00eatre une boussole, est devenue une source de confusion. Trop d\u2019options, pas assez de clart\u00e9. J\u2019ai pass\u00e9 des heures durant un week-end \u00e0 essayer de faire fonctionner ne serait-ce qu\u2019une petite partie de mon site. \u00c0 bout de patience, j\u2019ai d\u00e9cid\u00e9 de tester une alternative.<br><br><strong>Un test pour une solution alternative<\/strong><br>Sur un coup de t\u00eate, j\u2019ai configur\u00e9 CodeIgniter dans un nouveau r\u00e9pertoire et l&rsquo;ai connect\u00e9 \u00e0 la base de donn\u00e9es pour voir ce que \u00e7a donnait. En moins de 30 minutes, j\u2019avais une page fonctionnelle qui servait mes donn\u00e9es exactement comme je le voulais. Trente minutes ! L\u00e0 o\u00f9 Symfony me faisait tourner en rond depuis des heures, CodeIgniter m\u2019a offert simplicit\u00e9 et efficacit\u00e9. Pas de configuration interminable, pas de documentation alambiqu\u00e9e : juste un framework qui fait le job.<br><br><strong>Pourquoi CodeIgniter et pas Laravel ?<\/strong><br>CodeIgniter n\u2019est pas nouveau pour moi. J\u2019ai d\u00e9j\u00e0 d\u00e9velopp\u00e9 plusieurs sites avec, et je connais sa l\u00e9g\u00e8ret\u00e9 et sa flexibilit\u00e9. C\u2019est exactement ce qu\u2019il me faut pour mon site. Laravel, qui est souvent cit\u00e9 comme une alternative moderne \u00e0 Symfony. Mais pour le type de site que je d\u00e9veloppe Laravel me semblait \u00ab\u00a0overkill\u00a0\u00bb: Trop de fonctionnalit\u00e9s dont je n\u2019ai pas besoin, alors que CodeIgniter va droit au but.<br><br><strong>Symfony n&rsquo;est pas pour autant un mauvais framework<\/strong><br>Ce framework reste une alternative solide pour des projets cons\u00e9quents, mais il n\u00e9cessite un suivi r\u00e9gulier avec les mises \u00e0 jour et des refactorings. Il est possible que je rencontre des probl\u00e8mes de mises \u00e0 jour avec CodeIgniter, mais comme ce framework est plus \u00ab\u00a0simple\u00a0\u00bb, il sera plus rapide \u00e0 adapter.<\/p>\n\n\n\n<p><br><strong>Bye Symfony !<\/strong><br>Symfony m\u2019a accompagn\u00e9 pendant longtemps, et j\u2019appr\u00e9cie sa puissance pour des projets d\u2019envergure. Mais pour mon cas d\u2019usage, il est devenu un frein plus qu\u2019un alli\u00e9. La migration vers Symfony 7 m\u2019a fait r\u00e9aliser que je perdais trop \u00e0 adapter le code au framework, au lieu de construire avec lui. CodeIgniter, lui, r\u00e9pond \u00e0 mon besoin : simplicit\u00e9, rapidit\u00e9, efficacit\u00e9.<br><br>Je tourne la page, mon site va rena\u00eetre sous CodeIgniter, et je suis impatient de retrouver le faire \u00e9voluer une fois la migration effectu\u00e9e.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pourquoi je quitte Symfony pour CodeIgniterApr\u00e8s des ann\u00e9es \u00e0 travailler avec Symfony, j\u2019ai pris une d\u00e9cision radicale : abandonner ce framework pour migrer mon site vers CodeIgniter. Mon site actuel repose sur Symfony 3.4, une version qui commence s\u00e9rieusement \u00e0 &hellip; <a href=\"https:\/\/www.ludovicfavre.ch\/blog\/2025\/02\/symfony-cest-fini-vive-codeigniter\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[41,70,1],"tags":[97],"class_list":["post-796","post","type-post","status-publish","format-standard","hentry","category-coding","category-php","category-uncategorized","tag-symfony"],"_links":{"self":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/comments?post=796"}],"version-history":[{"count":3,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/796\/revisions"}],"predecessor-version":[{"id":800,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/796\/revisions\/800"}],"wp:attachment":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/media?parent=796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/categories?post=796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/tags?post=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}