Veille technologique
Le framework Symfony
Présentation
Symfony : un framework nouvelle génération en constante évolution
Actuellement disponible en différentes versions grâce au support à long terme, Symfony est un des framework les plus prisés du web, qui, plus qu’un simple support de travail, est une technologie alliant rapidité de dévelopemment, sécurité, modularité et évolutivité du code .
Symfony a la faculté de regrouper un ensemble de normes et un axe de développement qui permet une excellente efficacité et productivité. Necessitant un apprentissage consequent pour comprendre sa logique, une fois cette dernière acquise par le developpeur, ce dernier devient un élément de choix sur le marché du travail.
Différents projets et technologies utilise Symfony. C'est le cas de Drupal, un des cms les plus avancés du monde, un excellent choix pour tout site de presse. Piwik, un projet open source leader dans l'analyse web, utilise aussi Symfony.
Comme exemples d'applications Web, Dailymotion et Blablacar utilisent tout deux ce framework.
Sensiolabs, entreprise française, regroupe les créateurs de Symfony. Ils distribuent leur framework gratuitement, et celui ci est open source.
Cela permet d'avoir le soutien d'une grande communauté de développeurs, et de faire évoluer Symfony en fonction des retours et besoins de la communauté.
SensioLabs propose aussi d'autres produits open source, comme Twig, un moteur de template simple, puissant et extensible. Il est inclu nativement dans Symfony.
En atteignant le milliard de téléchargement, Symfony s'assure un avenir en étant utilisé par une grande communauté de développeurs.
Historique
SensioLabs est à l'origine du framework Sensio Framework, qui a développé ce framework pour répondre à des problématiques récurrentes pour d'autres développeurs.
Le projet est alors devenu open source, en sortant sous le nom de Symfony en janvier 2007. Une deuxième version sort en juillet 2011, puis une troisième en novembre 2015.
La première version de Symfony a donc comme but d'éviter de recreer toujours les mêmes taches pour chaque application web. Une base structurée pour commencer rapidement à travailler sur les spécificités du projet.
Symfony 2 est une grande évolution dans la philosophie du framework, est apporte son lot de nouveauté: La nouvelle structure bundle , Twig en moteur de template, Doctrine 2 comme ORM intégré, et certaines spécificités du langage Java comme les déclarations de services.
Symfony 3, lui, amène beaucoup de clarté avec en objectif une meilleure productivité. Cette version propose un nouveau dossier var, pour contenir les sessions, les logs et les caches, un dossier test à la racine du projet, au lieu d'un dossier test dans chaque bundle. En résumé, une structure de projet plus clair.
Pourquoi choisir Symfony ?
Symfony est une bonne solution pour un client voulant un site web en se reservant le droit de le faire évoluer par la suite.
Avec Symfony 3 et son modèle orienté bundle, chaque partie du site peu être pensé comme des blocs indépendants formant un tout une fois associé.
Pour le développement, la maintenance ou l'évolution du site, on peu donc travailler sur un bundle indépendemment du reste du code, facilitant le travail en équipe.
Symfony est suivi par ses développeurs et a droit a de nouvelle version régulièrement, apportant chacune leur lots de retouche et nouveauté.
Pour l'année 2017, c'est le 30 novembre que nous avons eu droit à une mise à jour majeur, avec en feature star une version allégé du framework, amenant un gain de productivé conséquent.
Les principaux atout de Symfony sont donc:
- Sa maintenance sur des versions stables, pour des applications en production toujours au top.
- Son innovation permanente et son évolution en fonction des besoins des développeurs
- Un nombre conséquent de ressources avec une documentation complète et mise à jour régulièrement
- Sa très grande communauté et ses bundles
- Son respect des standards Php
- Une marge de progression non frustrante pour les développeurs débutants
- Une productivité excellente sur les projets pour les développeurs experts
La dernière version: Symfony 4
Cette version ce veut plus automatisé au niveau de la configuration.
On peux désormais définir des règles communes pour plusieurs classes et services, plutôt que les configurer individuellement.
Une nouveauté, Symfony Flex, automatise aussi l'instalation des dépendances pour les bundles Symfony. Un ajout très pratique.
Le code à fournir pour son applications est aussi moins spécifique à Symfony. De ce fait, le code est donc plus standard qu'avant.
Avec l'ajout de ces facilitées, ce n'est pas seulement le développeur Symfony débutant qui en profite.
Le gains de productivité pour les développeurs experts est conséquent.
La maintenance des projets, avec une nouvelle structure réduisant le nombre de fichier de configuration et les dossiers et sous dossiers du code, est facilité.
Des allers-retours réduit font gagner un temps précieux.
En résumé, Symfony 4 facilite à la fois le travail des débutants et des experts Symfony. L'apprentisage est plus fluide, et la création de projet est plus simple.
Aussi, en perdant moins de temps sur la configuration et la navigation entre cette derniere et le code metier, la productivité est vraiment augmenté pour les developpeurs Symfony expérimentés
Migration d'un projet de Symfony 3 à Symfony 4
La migration d'un projet vers la nouvelle version de Symfony nécessite l'adaptation du projet à la nouvelle structure de Symfony 4. Deux étapes majeures sont indispensables:
- La première, comme dans tout framework, c'est de vérifier quelles fonctionnalités sont dépréciées, ici sous Symfony 3. Ayant été retiré sous symfony 4, il faut adapter son application pour ne plus utiliser les fonctionnalités obsolètes. Et là, votre application tournera déjà avec symfony 4, sans toutefois profiter de ses avantages.
- La deuxième, c'est d'adapter la configuration existante aux nouvelles conventions de configurations Symfony 4, disponibles sur la documentation en ligne Symfony. Il est aussi préférable de refaire la structure des repertoires, conformement à celle du nouveau squelette de Symfony 4, pour bénéficier intégralement des avantages de Symfony 4. Voilà, vous avez effectué le plus important pour votre migration vers Symfony 4 !