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.

drupal drupal drupal drupal drupal drupal

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:




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:


Outils de veille utilisés :


Afin d’effectuer ma veille technologique, j’ai utilisé le site Symfony, le blog SensioLabs et Twitter.

Twitter est un réseau social basé sur le partage d’informations. Il permet de suivre les comptes concernant Php, Symfony et d'autres technologies du monde du développement.