Maelle
Lead community manager Lorem ipsum
Développé par la société française SensioLabs, le framework PHP Symfony est un incontournable des solutions de développement web pour réaliser un site internet ou une solution digitale sur mesure. Largement utilisé dans le monde francophone par les développeuses et développeurs PHP, ce framework open-source est un parfait exemple de réussite française que l’on va expliciter dans cet article. 

Qu’est-ce que Symfony ?


Source : sensiolabs.com

À l’image de Codeigniter, ou Laravel, Symfony est un framework PHP, c'est-à-dire, une structure, une architecture qui va permettre de créer une solution web avec des fondations prédéfinies. Le but de ce framework est de gagner du temps de développement, car le cadre du projet web est déjà structuré. Il est le squelette de départ de votre application. La société SensioLabs possède une centaine d’employés avec des bureaux en France et en Allemagne. Elle a contribué à la création d’autres produits innovants tels que Twig (solution open-source moteur de template PHP), API Platform (création simplifiée d’une API pour communiquer avec d’autres applications) ou encore  Blackfire (outil de test et monitoring des performances d’un site). 

SensioLabs crée en 2005 la première version de Symfony Framework reposant sur un pattern MVC. Ce pattern assez bien connu des devs, est, en fait l’acronyme de MODEL, VIEW, CONTROLLER, il s’agit encore une fois d’un modèle architectural d’interface logiciel permettant de séparer les responsabilités de chaque partie. Comme l’explique Openclassrooms : “

  • Modèle : Le modèle contient les informations relatives à l’état du système. Ce sont les fonctionnalités brutes de l’application.
  • Vue : La vue présente les informations du modèle à l’utilisateur. Elle sert d’interface visuelle et/ou sonore pour l’utilisateur.
  • Contrôleur : Le contrôleur garantit que les commandes utilisateurs soient exécutées correctement, modifiant les objets du modèle appropriés, et mettant à jour l’application. C’est finalement les rouages de l’application, et c’est la couche qui apporte une interaction avec l’utilisateur.  “


Source : openclassrooms.com


Entre facilité de débuggage et de réalisation de tests unitaires, le pattern MVC est largement plébiscité par les programmeurs et c’est pourquoi le développement de solution open-source PHP avec Symfony est une aubaine pour les puristes. Chez Akyos, nous l’utilisons quotidiennement depuis 2018 pour développer des solutions web adaptées aux besoins variés de nos clients. 


Quels sont ses avantages ? 


Symfony Framework regorge d’avantages, il est innovant, robuste, pratique, organisé et permet une flexibilité unique sur le marché. Les développeurs le recommandent notamment pour les bundles et les composants, les entreprises pour l’extensibilité, la communauté et l’entretien. 


Les Bundles 


En marketing, on connaît ce terme pour paquetage ou offre groupée mais en développement on parle surtout de lot ou de librairie. Dans le cas du Framework Symfony PHP, les bundles sont très utilisés par les créateurs. Il s’agit grossièrement de modules ou plug-in (cc Wordpress) qui vont contenir des éléments notables de code rangés en dossiers et fichiers, on retrouve des contrôleurs, des ressources, des services, des images… Le but du bundle est d’optimiser le temps de création en utilisant des librairies déjà développées par d’autres devs pour constituer une solution digitale sur mesure. Les bundles sont disponibles et compatibles avec n’importe quel projet (s’ils ont bien été codés et s’ils sont rendus publics). Ils sont un des avantages clés du framework open-source car on concatène tous les savoirs et les temps de devs pour créer des solutions réutilisables pour chaque projet. En mettant à disposition des fonctionnalités communes pré-établies, la solution donne aux techniciens la chance de se focaliser sur les problématiques métiers de nos clients. 

Les composants 


Les composants ou components sont une bibliothèque de code PHP avec des fonctionnalités spécifiques, on en recense une trentaine stable sur les versions les plus actuelles de Symfony Framework (5.4, 6, 6.1). On peut utiliser ces composants pour n’importe quel site web ou application web même en dehors de Symfony (Laravel, application PHP…). Voici une liste non exhaustive de composants réutilisables : 

“1) Asset - Gère la génération d'URL et le contrôle de version des éléments Web tels que les feuilles de style CSS, les fichiers JavaScript et les fichiers image.
2) Messenger - Gestion de tâches longues en file d’attente
3) Notifier - Envoi de mails, SMS, notifications via différents services tels que SendInBlue, Mailjet, etc..

Découvrez la liste des composants utiles dans cet article : Les composantes de Symfony
Vous l’aurez compris, le but est encore une fois de faire gagner du temps aux créateurs et donc de réduire les coûts : les fonctionnalités déjà présentes n’ont pas à être de nouveau développées pour chaque projet. Par ailleurs, l’absence de dépendance des bundles et composants permet d’adapter le site à tous vos besoins.

La flexibilité et la personnalisation 


Par définition, le Framework Symfony offre une flexibilité exceptionnelle à l’architecture de votre solution web, grâce aux bundles et aux components, on évite les dépendances dans le squelette de votre projet, vous pouvez à tous moments choisir de modifier votre site sans pour autant déconstruire l'existant. Le framework PHP offre la possibilité de construire brique par brique et permet de sélectionner uniquement les fonctionnalités que vous souhaitez. On est donc bien loin des CMS classiques qui sont préformatés et dont la personnalisation est trop complexe pour répondre à vos problématiques (cc : Magento). Il est extrêmement intéressant pour une agence telle que la nôtre de passer par ce genre de framework car nous pouvons exploiter des bundles déjà créés d’un client à un autre, ce qui peut réduire les coûts de facturation finaux. 

Le prix et la communauté


S’agissant d’une solution open-source, le Framework est entièrement gratuit et mis à la disposition de toutes et tous. On compte aujourd’hui 600 000 développeurs Symfony à travers le monde (source : SensioLabs.com), soit autant de projets de partage de bundles possibles. La communauté est engagée et on retrouve un large panel de documentations disponible gratuitement sur le web. SensioLabs de son côté ne lésine pas sur les moyens pour former, accompagner et promouvoir sa solution à travers le monde. D’ailleurs pour l’anecdote, Johan et Lilian (des petits gars de chez nous) étaient partis à la Symfony Live Paris 2020 et ils avaient passé un bon moment et affiné leurs compétences, notamment en étudiant le développement d’API et des nouveaux composants de Symfony. C’est grâce à ce genre d’acteur investi du marché du développement web et notre professionnalisme que notre équipe est constamment informée des nouveautés sur les enjeux du devs et pérennisent en continu l’efficacité des solutions web proposées. Symfony propose également une assistance et un support technique. 

Lilian et Johann, nos développeurs AKYOS à la Symfony Live Paris 2020



Un entretien facilité - une solution web pérenne dans le temps 


Supporté par l'ensemble des systèmes d’exploitation et multilingues, l’interface logiciel Symfony est aujourd’hui un incontournable du développement web. Comme la documentation, les mises à jour et les acteurs sont divers et variés. Il est clair que le Framework Symfony n’a pas fini de s’inscrire dans la mouvance du web 2.0, les updates sont réguliers (des nouveautés tous les 6 mois), la communauté est de plus en plus grande et de plus en plus de grands outils utilisent ses composants (cc Prestashop) ce qui laisse présager encore un long avenir pour ce framework PHP. 


Quels sont ses inconvénients ? 


Bon, en réalité on ne voulait pas faire cette sous rubrique parce qu’on est convaincus du truc, mais on va quand même, dans un souci d’objectivité, vous parlez des quelques inconvénients du framework : 

  • Clairement, Symfony n’est pas à la portée de tous et on est très loin des CMS classiques types Wordpress, Prestashop, Shopify qui sont accessibles même aux amateurs avec un peu de volonté. Ici, on parle véritablement de maîtriser la dernière version du langage PHP, l’UML (rien à voir avec les machines qui volent),  les bundles et les composants pour développer de manière performante, intelligente et rapide des applications webs. C’est un pur outil de développement auquel un non-initié ne peut absolument pas toucher.

  • Bien que les concepts de base soient facilement abordables pour un développeur, maîtriser Symfony afin de construire une application professionnelle de grande ampleur n’est pas à la portée des débutants et il faut plusieurs mois, voire, plusieurs années afin d’acquérir de solides compétences. La formation des nouveaux développeurs est donc naturellement plus longue que pour la prise en main de Wordpress par exemple.



Pourquoi l’utiliser pour votre site web ? 


Ce framework est particulièrement adapté pour construire des applications en ligne telles que des CRM, des outils de gestion d’entreprise ou de traitement de données, ou encore des outils back-end pour gérer l’API et la base de données de vos applications mobiles. Il convient également parfaitement pour des sites vitrines ou e-commerces incluant des fonctionnalités avancées ou des personnalisations poussées.

L’utilisation des CMS peut-être limitante et contraignante en termes de capacité, de personnalisation, de déploiement, ce n’est pas le cas pour une application web Symfony. À titre d’exemple, alors que les templates CMS ne vous permettent qu’une infime configuration d’une interface utilisateur pré-établie, avec Symfony nous créons de A à Z votre site jusqu’au back-office. L’ensemble de vos utilisations, fonctions et designs sont développés manuellement, Symfony est donc réellement sans limite. Le temps de développement est parfois plus long car beaucoup plus de possibilités mais l’adaptabilité à vos besoins est infinie. 

C’est également une solution pérenne : chaque nouvelle version majeure (tous les 2 ans) est stable, bien testée, avec des mises à jour régulières de performances et sécurité pendant 3 ans. Développer une application Symfony c’est la garantie d’avoir un site qui s’inscrit réellement dans la durée et qui est modifiable rapidement sans changer entièrement l’architecture de votre outil. En tant que framework très répandu parmi les développeurs, il vous sera par ailleurs facile de trouver une agence web qui maîtrise cette technologie.

Si vous avez des demandes spécifiques concernant des fonctionnalités poussées sur vos sites ou applications web, n’hésitez pas à demander à votre prestataire un développement sous Symfony.


Exemples de Symfony célèbres


Vous connaissez tous sans doute la célèbre application de musique Spotify ? C’est l’équivalent suédois de Deezer. L’application est réalisée en partie avec le framework Symfony et des composants packagist.org.

Capture d’écran des sites et applications développés grâce au Framework Symfony PHP


Vogue France et Pays-Bas sont tous deux développés avec Symfony, un gage de qualité et de fiabilité à la hauteur de l’enjeu de marque haut de gamme.

Capture d’écran des sites et applications développés grâce au Framework Symfony PHP


Opendata.swiss est un outil qui permet de retrouver les données de l’administration publique suisse, il répertorie, catégorise et offre un accès simplifié aux données libres du gouvernement.


Capture d’écran des sites et applications développés grâce au Framework Symfony PHP


Trivago, Blablacar, Dailymotion, Prestashop, Drupal (l’entièreté de ces CMS sont développés avec Symfony, c’est pour ça qu’on vous dit que c’est nettement plus puissant et plus personnalisable qu’un CMS classique) ou encore Pornhub (on vous voit) sont également développés grâce à ce framework PHP. Ces utilisations par des structures à la notoriété importante témoignent plus que jamais de la fiabilité et de la pérennité de Symfony.  


Exemples de réalisations Akyos 



De notre côté, nous avons aussi déployé le framework Symfony dans des projets relevant de fonctionnalités plus exigeantes tels que : 


Sensation Vin - Dégustation de vin en Bourgogne 

Nous avons réalisé le site avec le framework Symfony afin de suivre un cahier des charges de gestion des réservations très strict et complexe.

Voir le site : sensation-vin.com



SEGER - Promoteur immobilier 


Promoteur immobilier dijonnais spécialisé dans la réalisation d’immeubles d’habitations haut de gamme sur l’ensemble du territoire français. Un graphisme exigeant nécessitant la rapidité et la puissance du Framework Symfony.

Découvrez le site : www.seger.fr


L'application des commerçants, l'écran connecté Shop'In Dijon





Le développement a été réalisé avec le framework Symfony et permet aux commerçants de gérer et modifier directement en ligne leur page dédiée ainsi que les offres promotionnelles qu’ils souhaitent mettre en avant. La possibilité de créer des jeux-concours avec tirage au sort aléatoire des gagnants a également été intégrée. Il s’agit d’un écran connecté spécifiquement dédié aux commerçants. 

Ces trois projets présentés font partie des premiers que nous avons réalisés, ils sont donc des projets historiques datant de plusieurs années. On constate une pérennité et une stabilité évidente au sein des front-offices. 

À notre actif, on compte aussi des sites et applications plus récents tels que : 

… 

En bref :  le développement de sites et d’applications web via le framework Symfony PHP est incroyablement puissant, rapide d'exécution, innovant, moderne et complètement personnalisable. Comme il existe des librairies existantes et des fonctionnalités enrichies, le coût de développement devient très intéressant au vu des performances proposées. 
Vous voulez en savoir plus sur Symfony et le déploiement de solutions sur mesure pour votre site ou application ? N’hésitez pas à nous contacter directement via le formulaire de contact ou par téléphone. 

Découvrez également notre dernier article sur le qu’est-ce-que le growth hacking ?



Maelle
Lead community manager Lorem ipsum

Partager cette actualité

Autres articles de Maelle

Avis sur Google Analytics (GA4) - Les + et les -

Sortie en fin d’année 2020, Google Analytics 4 aussi connu par les plus experts d’entre nous sous le nom de GA4, a bousculé plus d’une habitude des collaborateurs avec qui je travaille, un nouveau paradigme, une interface de lecture complètement revue.
Lire la suite

Les Reels d’Instagram pour concurrencer TikTok

Afin de concurrencer TikTok, Instagram lance en juin 2020 les "Reels" : de petites vidéos créatives, de 60 secondes maximum. À l’instar de son concurrent, Instagram ne mise pas que sur la musique ou sur la danse. Zoom sur la fonctionnalité Reel.
Lire la suite

Google Tag Manager, c'est quoi ?

Vous connaissez ou avez déjà entendu parlé de Google Analytics, de Google Ads, de Google Data Studio mais connaissez vous Google Tag Manager ?
Lire la suite

À quoi sert la Google Search Console ?

Vous souhaitez optimiser les performances de votre site internet ? Qu’il s’agisse d’ergonomie ou encore de référencement naturel, la Google Search Console peut vraiment vous aider dans ce processus.
Lire la suite

Pourquoi Symfony est une bonne solution pour votre site web ?

Symfony est un framework open source qui utilise PHP comme langage de programmation. C'est un outil puissant pour développer des projets de grandes envergures. Découvrez ce framework à l'architecture MVC.
Lire la suite