Symfony est un framework PHP construit autour de composants et d'un écosystème. Né en 2005 et ayant traversé plusieurs versions jusqu'à la 7 actuelle, il est incontestablement un incontournable dans le monde du développement web professionnel. Grâce à Symfony, vous serez capable de transformer simplement et rapidement des besoins métier complexes en un logiciel en même temps fiable et maintenable dans le temps. Pour cela, Symfony s'appuie sur différents piliers. Le premier est l'architectural : Maîtriser Symfony, c'est maîtriser la conception d'un projet selon le modèle de conception MVC (Modèle-Vue-Contrôleur), le découper en bundles distribués de manière logique, et connaître et comprendre l'utilisation de modèles de conception plus avancés comme l'injection des dépendances ou le repository, par exemple. Le deuxième est fonctionnel : c'est la gestion des composants principaux du framework sur lesquels les projets Symfony s'appuient, comme le Router, le Security, la surcouche d'abstraction à la base de données comme Doctrine, le traitement des formulaires, élément central à de nombreux projets. Le troisième est méthodologique. Il concerne l'adoption de règles de codage, l'utilisation d'outils comme PHPStan, PHP-CS-Fixer, ou encore le recours à des tests pour éviter les régressions sur votre code au fur et à mesure de son évolution. Le dernier, l'écosystémique : c'est savoir évoluer au sein de l'écosystème de Symfony, d'utiliser entre autres Composer pour la gestion de vos dépendances, Twig pour la gestion des templates, ou encore API Platform pour la création d'APIs RESTful.
Dans le contexte professionnel d'aujourd'hui, Symfony est un framework qui occupe une place de choix. En effet, aujourd'hui, plus de 50 % des projets web professionnels réalisés grâce à PHP choisissent d'utiliser le framework Symfony. À ce sujet, on retrouve une diversité de marché : des grandes entreprises du CAC 40, en passant par de nombreuses entreprises comme BlaBlaCar, Spotify ou encore Dailymotion. La tendance du marché pousse d'ailleurs les géants du marché comme SensioLabs (la société à l'initiative du framework) à se tourner de plus en plus vers les entreprises privées pour leur proposer des services de support, training, mais également de l'audit et de la conduite de programme.
L'évolution de Symfony au fil des années est représentative de celle de l'écosystème PHP. Les premières itérations se sont davantage concentrées sur les bases de la structuration d'une application web, les évolutions récentes ont vu apparaître des fonctionnalités avancées telles qu'un système de messaging asynchrone, le support natif de WebSockets (Mercure), ou encore l'intégration facile et naturelle avec les frameworks JavaScript modernes via Symfony UX. Cette capacité à évoluer et à être à l'affût des tendances émergentes du développement web, tout en conservant une compatibilité ascendante qui prémunit les investissements métier, est l'une des forces du framework. Ainsi, Symfony est un partenaire de choix pour répondre aux besoins actuels.
C'est vers l'âge de dix-huit ans, dans le cadre de projets personnels et scolaires, que j'ai commencé à pratiquer le développement PHP natif. Très vite dans mon apprentissage, j'ai découvert Symfony.
Durant ce projet, j'ai développé une application de supervision du réseau de fibre optique sous la forme d'une Single Page Application (SPA) en utilisant Symfony 6. Ce contexte particulier m'a amené à rapidement maîtriser des fonctionnalités avancées du framework, notamment le mapping objet-relationnel (ORM), ainsi que la mise en place d'un système d'authentification sécurisé. La réussite de ce projet est passée par une collaboration avec le client afin de traduire précisément ses besoins en solutions techniques robustes et évolutives.
Easy-Check est un logiciel de gestion d'audits destiné aux infrastructures télécoms, dont l'objectif était de centraliser et simplifier la gestion des campagnes d'audit. Grâce à Symfony 7.2 avec PostgreSQL, j'ai pu concevoir une solution performante répondant aux exigences élevées de sécurité, de flexibilité et d'évolutivité demandées par l'entreprise. Mon rôle était essentiel : garantir un code structuré respectant rigoureusement les bonnes pratiques Symfony, tout en optimisant les processus métiers identifiés.
Le projet Bio Data réalisé pour l'entreprise Sequens m'a permis de confirmer ma maîtrise technique sous pression. Nous devions livrer un site web complexe, accompagné d'une vaste base de données, en seulement deux mois. Cette contrainte temporelle a été très formatrice, renforçant mon intérêt pour PHP et Symfony, mais également mes capacités en gestion d'équipe et en organisation de projet dans un cadre très exigeant. Mon rôle a consisté à coordonner les efforts techniques, structurer le code selon les bonnes pratiques et garantir les performances optimales de l'application livrée dans les délais.
Je me situe à 8,5/10 en Symfony après plus de 5 ans d'expérience, complétée notamment par mes missions chez Sudalys, où j'ai pu développer des projets alliant performance et sécurité. J'ai donc acquis une connaissance approfondie de l'architecture MVC, de la gestion des routes, de l'injection de dépendances et de l'ORM Doctrine avancé. Je commence aussi à avoir une expertise en sécurité, avec la mise en place de différents types de systèmes d'authentification (formLogin, JWT, OAuth). Je suis expérimenté dans le développement d'API RESTful via API Platform, associée à une documentation automatique via OpenAPI/Swagger. La qualité de mon code est garantie grâce à des tests automatisés faits avec PHPUnit et Behat. Presque 60 % de ma journée de travail reposent sur Symfony, auquel s'ajoutent aisément mes connaissances en PostgreSQL et en JavaScript (grâce à Symfony UX et Webpack Encore) pour former un socle technologique homogène.
Je cherche maintenant à améliorer mes résultats en maîtrisant des techniques comme l'utilisation d'Edge Side Includes (ESI), l'optimisation fine de la requête Doctrine et la mise en cache distribuée via Redis ou Memcached. Je souhaite également approfondir mon expertise en architecture microservices, en continuant à utiliser Symfony Messenger pour la communication asynchrone. De plus, je souhaite améliorer mes pipelines CI/CD avec l'intégration d'outils comme GitHub Actions et SonarQube, pour améliorer la qualité et la performance de mes déploiements. La migration d'applications legacy vers Symfony est aussi une précieuse opportunité d'amélioration que je souhaite mieux maîtriser.
Afin d'atteindre ces objectifs, je suis en train de me préparer à passer la certification Symfony, que je compte obtenir d'ici la fin 2025. J'interviens activement sur des projets open source pour faire connaître mon code à des pairs expérimentés et enrichir mes habitudes de travail quotidien. En parallèle, j'ai créé un environnement de développement personnel consacré à l'exploration de nouveaux acquis (comme CQRS ou l'utilisation avancée de Symfony UX). Cette approche globale me permet de transformer des besoins métiers complexes en solutions techniques robustes et évolutives tout en renforçant mon leadership technique et en agissant comme formateur avec les développeurs moins expérimentés.
Mon objectif sous Symfony est d’atteindre la note de 9.5/10 d’ici deux ans afin de devenir un expert capable de bâtir des architectures logicielles complexes tout en participant activement à l’écosystème. Cette ambition s’inscrit dans une stratégie de carrière à long terme où la maîtrise technique sert de tremplin vers des postes d’architecte logiciel. Pour y parvenir je me fixe un parcours en quatre temps. D’abord je veux hisser les performances d’applications à forte charge en prenant en main le composant Cache, le cache HTTP, l’optimisation des requêtes Doctrine et le profiling sous Blackfire. Ensuite je compte approfondir l’architecture microservices avec Symfony Messenger pour la communication asynchrone, tout en expérimentant CQRS et l’Event Sourcing grâce à un projet personnel qui couvrira aussi les transactions distribuées, la tolérance aux pannes via un circuit breaker et l’observabilité avec Prometheus et Grafana. Le troisième axe vise à consolider mes pratiques d’intégration et de déploiement continus : je gère déjà des pipelines complets dotés de tests et d’analyses SonarQube mais je suivrai une formation certifiante avant la mi‑deux mille vingt‑six pour explorer des stratégies avancées comme le blue green deployment. Enfin je veux piloter la migration d’un projet PHP existant vers la dernière version de Symfony en appliquant le Strangler Fig Pattern, en documentant l’expérience sous forme d’étude de cas et en créant un kit de migration réutilisable qui mêlera analyse statique, adaptateurs pour le code legacy et batteries de tests afin de prévenir toute régression.