Partage

Quels avantages à utiliser un framework comme Symfony ?


Avantages de Symfony

Quels avantages à utiliser un framework comme Symfony ?

Pour rappel : un framework PHP est constitué de plusieurs composants qui cohabitent parfaitement entre eux et forment une base de développement solide. Symfony a été développé par des français et c’est à ce jour l’un des meilleurs du marché.

Post last updated: 9 février 2021

Introduction

Pour rappel : un framework PHP est constitué de plusieurs composants qui cohabitent parfaitement entre eux et forment une base de développement solide. Symfony a été développé par des français et c’est à ce jour l’un des meilleurs du marché.

Symfony permet une organisation propre du projet en imposant des normes et des conventions

Grâce aux normes et conventions que chaque développeur sur un projet Symfony doit respecter, on obtient une organisation solide des fichiers et du code. Les avantages sont multiples :

Nos développeurs maîtrisent Symfony, ils pourront donc facilement intégrer un projet développé à partir du framework, contrairement à un projet développé en PHP natif, où il n'y a pas de normes ni règles imposées. Sous Symfony, les fichiers doivent respecter une syntaxe particulière et doivent se trouver au bon endroit dans l’arborescence du projet. Cela garantit une facilité de maintenance sur le long terme et les développeurs maîtrisant le framework savent donc rapidement dans quel fichier il faut aller pour apporter des modifications. L’architecture MVC (Modèle Vue Contrôleur) permet de découper le code par fonctionnalité, d’un côté la logique métier de l’application, d’un autre le visuel, et en dernier le modèle de données. Ainsi, des intégrateurs web n’auront aucun mal à intervenir sur la partie visuel du projet, sans avoir à intervenir sur des fichiers PHP complexes.

Symfony favorise la réutilisation de code, la création de tests automatisés (tests unitaires avec phpUnit ou Atoum et tests fonctionnels avec phpUnit ou Behat) et le respect des recommandations PHP-FIG (Des recommandations mondiales pour une meilleure interopérabilité entre les projets web PHP). Il permet donc de produire du code de qualité.

Garantie de la sécurité et des très bonnes performances

Symfony est un framework PHP de qualité car il prend au sérieux les questions de sécurité web et de performance.

La sécurité dans le framework Symfony

Symfony intègre des mesures de sécurité préventives pour lutter contre les failles et attaques XSS, CSRF et injection SQL. Contrairement à un développement PHP maison où il faut penser systématiquement à protéger chaque requête, formulaire. Symfony embarque systématiquement ces mécanismes de sécurité, un pare-feu sans avoir à les implémenter à chaque fois.

Autre avantage de cet outil, par rapport à l’utilisation d’un CMS (comme WordPress, Drupal ou Joomla) est qu’il va être moins ciblé par les hackers qui concentrent leurs efforts sur les CMS répandus sur le web et dont l’architecture et les URLs sont prédictibles.

Performances et cache sous Symfony

De base, le framework Symfony est rapide, d’autant plus combiné avec PHP 7 que nous utilisons au sein d’Efficience IT (n'hésitez pas à nous contacter). Mais son plus gros avantage réside dans les possibilités d'amélioration des performances qu’il offre nativement : L’optimisation du code pour les “accélérateurs” comme APC ou OPcache permettant d’éviter de recompiler le code PHP à chaque appel et donc pouvoir afficher plus rapidement les pages du site.

Les fonctions de cache HTTP natives permettant de mettre en place facilement une stratégie côté visiteur et côté serveur.

Symfony fédère une communauté de développeurs importante

C’est un framework reconnu dans le monde et présent dans le TOP 3 mondial des frameworks PHP open sources, grâce sa communauté internationale : Une fiabilité du code des composants du socle: La communauté fait un réel travail de qualité et d’amélioration du code notamment à travers les pull request du projet Github. La création et mise à disposition de Bundles (plugins) open source permettant de gagner du temps dans le développement. On retrouve plus de 3000 bundles open source actifs sur Symfony (en 2016).

Une documentation complète et à jour. Des personnes qui peuvent vous dépanner en cas de problème sur votre projet Symfony via des plateformes comme Stackoverflow, Slack, forums de développeurs.

De nombreux articles présentant des astuces et retours d’expérience intéressants pour faire les bons choix d’architecture ou techniques.

Symfony : une technologie qui rendra vos équipes autonomes

Si vous faites développer votre projet par Efficience IT, il sera possible d’internaliser à terme votre projet. En utilisant ce framework, nous pouvons former vos collaborateurs sur l’application ou l’API afin de les rendre le plus indépendant possible. Le nombre d’offres de Développeurs Web Symfony sur le marché est un bon indicateur sur la fiabilité de la technologie et son adoption massive.

Symfony est-il adapté à votre projet ?

En pratique, le framework peut répondre à tous types de projets web, API, outils métiers

Utiliser Symfony pour la création d’un site vitrine ? Oui et non ...

Tout dépend du type de site vitrine, si ce dernier apporte une dimension dynamique plus complexe qu’une gestion d’articles, de pages de contenus ou qu’un formulaire de contact, il peut y avoir un intérêt. Par exemple, si vous adossez un système d’espace client, une interconnexion avec un système informatique comme un ERP / CRM, un formulaire avancé, du paiement en ligne … Dans ces cas, il peut y avoir une plus-value à utiliser Symfony.

Dans le cas contraire, privilégiez l’utilisation d’un CMS comme Wordpress, Drupal (dont la version 8 repose sur les composants Symfony), ou encore Bolt, un CMS basé sur Symfony (qui vous permettra plus de souplesse pour vos évolutions futures).

Pour le développement d’un espace connecté de type Intranet ou Extranet ? Oui !

Symfony répond totalement au besoin pour la création d’intranet ou extranet. Le système de rôles et de gestion des utilisateurs embarqué permet de développer rapidement une plateforme de ce type avec personnalisation des droits d’accès et rôles de chacun…

Dans le cadre de la réalisation d’un outil métier avec des workflows complexes ? Oui !

Pour réaliser des outils métiers, que ce soit des ERP ou CRM sur mesure, comme des outils sur mesure pour optimiser des tâches quotidiennes dans une entreprise, Symfony est parfaitement adapté.

On dit souvent qu’il s’agit d’un des frameworks PHP open source les plus adapté pour le monde professionnel de part sa robustesse, sa stabilité et sa modularité (très important pour ce type de projet en constante évolution), ce qui en fait un framework de choix pour ce type de projet.

Pour créer une API ou des webservices ? Oui !

Symfony étant basé sur une architecture HTTP, son utilisation est idéale pour créer des webservices RESTFULL. Tout est natif dans le framework, de la conception des endpoints jusqu’à la sécurité des accès.

Et pour une plateforme avec de fortes contraintes de temps réel ? Oui et non ...

Si le projet demande des échanges temps réel comme un système de chat live, une plateforme de jeux vidéos, de statistiques financières / bourse … Symfony n’est pas la solution la plus adaptée. Il est préférable de partir sur une solution de type Asynchrone qui pourra traiter plus facilement cette problématique.

Toutefois, Symfony peut être utilisé comme socle backend et couplé à une API, tout en utilisant pour la partie frontend des technos plus adaptées comme React.js ou Vue.js. L’avantage de confier son projet à une Dev’house est de bénéficier de l’expertise des développeurs sur Symfony et de pouvoir la combiner avec une expertise sur d’autres technologies. L’application ou l’API sera donc élaborer avec les outils les plus adaptés aux développement fonctionnalités retenues.

Poursuivez votre lecture sur ce(s) sujet(s) :