Les principales raisons pour lesquelles nous utilisons Symfony pour le développement d'applications web

Les principales raisons pour lesquelles nous utilisons Symfony pour le développement d'applications web
Categories
Technologies
Author

Benoit Schneider

Managing Technical Director
Date

Chez Outsourcify, nous travaillons sur des projets de différentes tailles, des petits sites de quelques pages aux applications métier complexes. Selon le cas, nous recommandons différentes solutions techniques (nous réalisons beaucoup de Javascript SPA et WordPrességalement), mais pour les cas les plus complexes, lorsque nous devons choisir une technologie pour construire de grandes applications web qui nécessitent plusieurs semaines ou mois de travail avec plusieurs de nos développeurs web impliqués, Symfony est notre cadre de choix.

Mon histoire avec Symfony

Pour être honnête, il y a d’abord une raison personnelle pour laquelle j’ai choisi Symfony comme framework PHP dans notre entreprise. Je suis Français et j’ai été en contact avec la première version de Symfony dès le début car elle a été initialement développée par un Français, Fabien Potencier, puis soutenue par son agence de développement web, SensioLabs. Je ne me souviens même pas exactement comment j’ai appris à le connaître, mais il était certainement plus facile pour moi d’apprendre son existence sur les sites en français. Le fait qu’une documentation et des tutoriels en français étaient disponibles a également aidé. C’était il y a plus de 10 ans et nous l’utilisons depuis lors, au fur et à mesure de l’évolution du cadre.

J’ai travaillé à l’époque (2002/2003) en tant que développeur consultant en informatique pour de grands groupes à Paris (EDF, GDF, Alstom) et le langage de programmation standard pour les grandes applications métiers était Java dans ces entreprises, un langage que j’ai commencé à apprendre dès mon entrée en fonction après avoir obtenu mon diplôme d’ingénieur informatique. Ces premières années en tant que développeur, je travaillais sur la maintenance et l’évolution du code des applications existantes créées avec des frameworks/bibliothèques Java : Spring, Struts, Hibernate surtout.

Pendant mon temps libre, j’ai parfois développé des sites Web personnels (par exemple, le Eklektik Rock webzine, que j’ai reconstruit plusieurs fois) et j’ai utilisé PHP à la place, ce langage me semblait déjà à l’époque plus facile à utiliser dans un environnement local simple sur mon ordinateur personnel, il était juste plus facile de faire bouger les choses avec PHP. J’essayais les différents frameworks disponibles, le premier que je maîtrisais était Mojavi, que j’ai même adopté pour un petit projet pour un client à l’époque.

Quand j’ai décidé de quitter mon travail à Paris pour m’installer en Thaïlande, j’avais déjà découvert la première version de Symfony qui est sortie en 2005. La transition des bibliothèques Java que j’utilisais au travail vers un framework MVC comme Symfony était assez simple, les frameworks PHP modernes sont très similaires à Spring MVC. Propel (à l’époque, l’ORM proposait avec Symfony, remplacé depuis par Doctrine) avait des similitudes avec Hibernate.

En devenant freelance, il m’a semblé évident que je n’allais pas continuer à utiliser le langage de programmation Java, non pas que cela aurait été impossible pour moi, mais la facilité d’utilisation et d’installation sur des serveurs PHP bon marché, et le fait que Symfony était open source étaient des arguments en sa faveur. Je ne travaillais plus en équipe, je travaillais à distance pour des clients distants et je pense avoir fait le bon choix avec Symfony, sur les projets sur lesquels je travaillais à l’époque (j’ai commencé avec une application de réservation d’hôtel) mais aussi sur le long terme car Symfony a évolué depuis lors et est à mes yeux un des meilleurs frameworks PHP. Je suppose qu’il doit aussi être utilisé aujourd’hui par certaines des équipes des grandes entreprises françaises dans lesquelles j’ai travaillé il y a 10 ans.

Parmi tant de frameworks PHP populaires, pourquoi choisir Symfony ?

Il serait présomptueux de dire que j’ai essayé tous les autres frameworks PHP mais j’en ai essayé plusieurs à différents moments, par exemple Zend, CakePHP, CodeIgniter, et plus récemment Laravel, le principal concurrent de Symfony. C’est très personnel mais je suis toujours revenu à Symfony, même à Laravel, qui reprend en fait la plupart de ses concepts, et en fait plusieurs composants qui sont copiés directement de Symfony, ne m’ont pas semblé aussi clairs et surtout aussi solides que Symfony. Aujourd’hui que je dirige des équipes de plusieurs développeurs PHP au sein de ma propre agence de développement web, c’est encore plus logique.

Symfony possède toutes les fonctionnalités que l’on peut attendre d’un framework web, une excellente documentation, un écosystème de plugins complets (plus de 1000 bundles), tout ce qui peut accélérer la création d’applications web professionnelles et faciles à maintenir. Il s’agit d’une série de composants open-source, totalement libres d’utilisation et ses bibliothèques fournissent des outils standardisés qui peuvent être utilisés dans de nombreux projets différents et évitent les tâches répétitives. Il suit le modèle de conception du Model View Controller (MVC), qui permet de séparer les préoccupations et de rendre le travail de chacun plus clair lorsque l’on travaille en équipe.
Ce framework open source est né en 2005 et a été le premier framework à supporter la version 5.3 de PHP, il a depuis évolué avec PHP vers la dernière version 7.2 de PHP, il a une énorme communauté d’utilisateurs et de contributeurs dans le monde entier et est aujourd’hui le framework PHP le plus utilisé dans de nombreux pays du monde (dont bien sûr la France mais pas la Thaïlande où Laravel a la préférence des développeurs PHP).

Principales raisons de choisir Symfony

Une architecture flexible : le framework Symfony est un framework bien organisé, facile à utiliser et à apprendre. Son architecture permet aux développeurs de créer des applications web durables de la manière la plus simple possible. Symfony a tout ce qu’on attend d’un framework moderne, une structure claire qui vous permet de retrouver facilement votre code comme les autres, grâce à des composants réutilisables et une série de bonnes pratiques que l’utilisation du framework implique. Ses performances, bien que pas toujours idéales, sont excellentes.

Innovation: La communauté entière a développé un sens de la curiosité qui va bien au-delà de PHP, et ses créateurs ont également travaillé pour faire progresser PHP dans son ensemble, avec certains composants Symfony maintenant utilisés par d’autres frameworks, CMS, ou bibliothèques connues. Beaucoup de ses concepts viennent de Java, comme l’injection de dépendance, mais Symfony a aidé à les adapter au monde PHP. La Debug Toolbar et la Profiler Toolbar sont un exemple d’outil qui aide les programmeurs à développer de manière productive, il est difficile d’imaginer le codage PHP sans cela.

Interopérabilité: Symfony permet de créer des applications qui répondent aux besoins de toute entreprise, à condition qu’elles soient basées sur le Web. Il respecte les standards PHP existants : PHPUnit, conventions de nommage des classes, etc. Il vous permet également d’utiliser certains de ses composants tels que la gestion de traduction, l’injection de dépendances, le routage, la gestion des formulaires, et plus encore, sans nécessairement utiliser le framework dans son intégralité. Il fait également bon usage des bibliothèques externes telles que Doctrine ou Swiftmailer plutôt que d’essayer de réinventer ce qui fonctionne bien ailleurs.

Écosystème: Écrit en PHP, un grand nombre de plug-ins tiers utiles (appelés bundles). C’est pratiquement difficile de ne pas trouver un paquet qui peut vous aider à faire tout ce que vous voulez. Le framework gagne également en popularité et en reconnaissance pour sa facilité d’installation sur n’importe quel serveur et ses performances stables sous Linux (même sous Windows). Il supporte toutes les bases de données telles que MySQL, PostgreSQL, SQLite, MongoDB. Il prend même en charge la validation automatisée des formulaires et la validation des entrées utilisateur pour éviter les injections SQL et les attaques XSS.

Réputation: Rapidement adopté dans le monde entier par les développeurs PHP depuis son lancement en 2005, Symfony offre aujourd’hui un environnement stable, à la fois populaire et reconnu internationalement. Le nombre de ses références a considérablement augmenté depuis son lancement, on peut même dire qu’il a participé à la démocratisation du PHP et à son utilisation par les grandes entreprises alors que le langage avait l’image d’un manque de robustesse dans un environnement professionnel encore récent (et l’a toujours, pourrait-on dire mais je ne suis pas d’accord). Symfony est également une communauté active de développeurs et de contributeurs qui participent à l’amélioration continue du framework et des outils associés.

Coût: Symfony a automatiquement de faibles frais d’utilisation étant totalement open source. Il vous permet de développer des applications robustes et personnalisées pour toutes sortes d’entreprises, et permet aux développeurs de contrôler entièrement la configuration et la personnalisation de ces applications. Il dispose d’une collection d’outils pour aider les programmeurs à tester, déboguer et documenter le processus de développement en fonction des spécifications de l’entreprise. Les seuls coûts impliqués sont le travail des développeurs et l’hébergement.

Nous fournissons des services de développement symfony. Si vous souhaitez discuter avec un développeur Symfony de notre équipe, veuillez nous contacter à Outsourcify.

Nous avons utilisé Symfony pour développer diverses applications pour des secteurs tels que les réseaux sociaux, la gestion de contenu, la facturation en ligne, les marchés B2B, la gestion des stocks, le commerce électronique, la gestion d’agences de voyages, les comparateurs d’assurance,les inscriptions immobilières, le CRM, etc.

')}

Benoit Schneider · Managing Technical Director

After studying to become a Web Engineer at the UTBM in France, Benoit experienced working in various IT departments of large companies in Paris as a web developer then as a project manager before becoming a freelance web consultant in 2010, and finally co-founded Outsourcify in Thailand.

Add comment

Related blog articles