Framework, Symfony: on vous explique

Un framework d’abord, qu’est-ce que c’est? Et Symfony?
Logo du framework Symfony
Logo du framework Symfony

Chez Kreatys, nous nous servons du framework Symfony pour développer nos projets web. Voyons ensemble ce que cela signifie concrètement.

Commençons par le commencement: le framework.

Framework se traduirait de l’anglais par « cadre de travail« , et désigne « un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d’un logiciel (architecture) » comme le dit si bien Wikipédia. Cet outil a pour but d’aider les développeurs en leur fournissant par exemple des normes de programmation, des outils développés par d’autres programmeurs, et leur permet ainsi de ne pas avoir à réinventer la roue à chaque projet!

Néanmoins, utiliser un framework ne garantit pas un bon code: c’est un outil, il n’y a aucune garantie que vous l’utiliserez correctement. Un peu comme si on vous donnait un stylo: c’est quand mieux que de le refabriquer soi-même à chaque fois, mais le simple fait d’avoir un stylo ne garantit pas que vous deviendrez Victor Hugo, vous restez responsable de l’usage que vous en faites. Comme ce grand homme l’a d’ailleurs dit, « tout ce qui augmente la liberté augmente la responsabilité ».
Ensuite, tous les développeurs ne servent pas de framework: certains trouvent en effet le cadre trop contraignant, limitant l’apprentissage et l’innovation. Il est vrai que lorsqu’on a un cadre, on ne va pas forcément chercher à en sortir. J’ai un stylo, pourquoi m’embêter à essayer d’en réinventer un? C’est tout à fait compréhensible, mais si on se limitait  à cet encadrement cela risquerait de brider toute créativité de la part de nos codeurs et les langages de programmation n’évolueraient plus.
Bien évidemment, nous n’en sommes pas là du tout 😉

L'avis de Victor Hugo sur les frameworks
L’avis de Victor Hugo sur les frameworks

Donc voilà pour les frameworks. Et Symfony du coup?

D’après eux-mêmes , « Symfony est un ensemble de composants PHP, un framework pour application web, une philosophie, ainsi qu’une communauté — le tout fonctionnant en harmonie. ».

Donc vous l’aurez compris, Symfony est utilisé par les développeurs web qui codent en PHP. Et ça tombe bien, nous en avons 2 avec nous à Kreatys! Nous leur avons brièvement demandé leur avis sur la question:
– Olivier : « Symfony, c’est très structuré, très cadré, ce qui est pratique quand on travaille à plusieurs sur un même projet car on comprend plus facilement le code de chacun. »
– Rémi : « Avant je travaillais sous CakePHP, et justement d’un côté j’aimais bien la souplesse qu’il offrait. En plus je trouve que c’est plus abordable, tu peux rapidement arriver à sortir des pages pour ton site en étant débutant, alors que Symfony est plus long à prendre en main.  Par contre c’est vrai que Cake pouvait devenir vite une usine à gaz, et fallait vraiment mettre les mains dans le cambouis.»
– Olivier :  « Oui, alors que là avec Symfony et leur bundles, c’est assez clair et efficace. En plus ils sont libres*, donc on trouve pas mal de ressources, de données partagées par les autres développeurs. »

En conclusion, Symfony est pour nos développeurs un moyen efficace de travailler en équipe sans problème, et de part son appartenance aux logiciels libres il prône des valeurs de collaboration et de partage qui nous sont importantes.
*logiciel libre: désigne un programme sous une licence permettant son utilisation, sa modification et sa distribution par tout le monde. Par exemple, Firefox, Ubuntu, VLC, OpenOffice ou encore Gimp, sont tous des logiciels libres.