Académique Documents
Professionnel Documents
Culture Documents
Symfony est un framework complet conçu pour optimiser le développement d'applications web
grâce à plusieurs fonctionnalités clés. Pour commencer, il sépare les règles métier d'une
application Web, la logique du serveur et les vues de présentation. Il contient de nombreux
outils et classes visant à raccourcir le temps de développement d'une application web complexe.
En outre, il automatise les tâches courantes afin que le développeur puisse se concentrer
entièrement sur les spécificités d'une application. Le résultat final de ces avantages signifie qu'il
n'est pas nécessaire de réinventer la roue chaque fois qu'une nouvelle application web est
construite!
Symfony a été entièrement écrit en PHP 5. Il a été testé de manière approfondie dans divers
projets réels et est actuellement utilisé pour des sites Web d'affaires électroniques à forte
demande. Il est compatible avec la plupart des moteurs de bases de données disponibles, y
compris MySQL, PostgreSQL, Oracle et Microsoft SQL Server. Il fonctionne sur les
plateformes * nix et Windows. Commençons par regarder de plus près ses caractéristiques.
• Facile à installer et à configurer sur la plupart des plates-formes (et garanti pour fonctionner
sur les plates-formes standard * nix et Windows)
• Indépendant du moteur de base de données
• Simple à utiliser, dans la plupart des cas, mais suffisamment flexible pour s'adapter aux cas
complexes
• Basé sur la prémisse de la convention sur la configuration, le développeur doit configurer
uniquement les éléments non conventionnels.
• Conforme à la plupart des meilleures pratiques Web et des modèles de conception
• Prêt pour l'entreprise - adaptable aux politiques et aux architectures de technologies de
l'information (TI) existantes et suffisamment stable pour les projets à long terme
• Code très lisible, avec des commentaires phpDocumentor, pour une maintenance facile
• Facile à étendre, permettant l'intégration avec d'autres bibliothèques de fournisseurs
Si vous voulez développer un site web simple avec cinq à dix pages, un accès limité à une base
de données, et aucune obligation d'assurer ses performances ou de fournir de la documentation,
alors vous devriez rester avec PHP seul. Vous ne bénéficieriez pas beaucoup d'un framework
d'application Web, et l'utilisation de l'orientation objet ou d'un modèle MVC ralentirait
probablement votre processus de développement. En remarque, symfony n'est pas optimisé
pour fonctionner efficacement sur un serveur partagé où les scripts PHP peuvent s'exécuter
uniquement en mode CGI (Common Gateway Interface).
D'un autre côté, si vous développez des applications web plus complexes, avec une lourde
logique métier, PHP seul ne suffit pas. Si vous envisagez de maintenir ou d'étendre votre
application à l'avenir, vous aurez besoin de votre code pour être léger, lisible et efficace. Si vous
voulez utiliser les dernières avancées en matière d'interaction utilisateur (comme Ajax) de
manière intuitive, vous ne pouvez pas écrire des centaines de lignes de JavaScript. Si vous
voulez vous amuser et vous développer rapidement, PHP seul sera probablement décevant.
Dans tous ces cas, symfony est pour vous.
Et, bien sûr, si vous êtes un développeur web professionnel, vous connaissez déjà tous les
avantages des frameworks d'applications web, et vous en avez besoin d'un qui est mature, bien
documenté et qui a une grande communauté. Ne cherchez plus, car symfony est votre solution.
En 2003, Fabien a passé un certain temps à se renseigner sur les outils de développement open
source existants pour les applications web en PHP. Il a constaté qu'aucun d'entre eux ne
satisfaisait aux exigences décrites précédemment. Lorsque PHP 5 a été publié, il a décidé que
les outils disponibles avaient atteint une maturité suffisante pour être intégrés dans un
framework complet. Il a ensuite passé une année à développer le noyau de symfony, basant son
travail sur le framework Mojavi Model-View-Controller (MVC), le mapping objet-relationnel
Propel (ORM) et les helpers de templates Ruby on Rails.
Fabien a à l'origine construit symfony pour les projets de Sensio, car disposer d'un cadre efficace
à votre disposition constitue un moyen idéal de développer des applications plus rapidement et
plus efficacement. Il rend également le développement Web plus intuitif, et les applications qui
en résultent sont plus robustes et plus faciles à maintenir. Le cadre est entré dans les motifs de
preuve quand il a été employé pour construire un site Web de commerce électronique pour un
détaillant de lingerie, et a ensuite été appliqué à d'autres projets.
Après avoir utilisé avec succès symfony pour quelques projets, Fabien a décidé de le publier
sous une licence open source. Il l'a fait pour faire don de ce travail à la communauté, pour
bénéficier du feed-back des utilisateurs, pour montrer l'expérience de Sensio et parce que c'est
amusant.
Pour que symfony soit un projet Open Source réussi, il fallait disposer d'une documentation
complète, en anglais, pour augmenter le taux d'adoption. Fabien a demandé à François
Zaninotto. Il a fallu beaucoup de temps, mais lorsque le projet a été rendu public, il a été
suffisamment documenté pour attirer de nombreux développeurs. Le reste est l'histoire.
La communauté Symfony
Dès le lancement du site web de symfony, de nombreux développeurs du monde entier ont
téléchargé et installé le framework, lu la documentation en ligne et construit leur première
application avec symfony, et le buzz a commencé à monter.
Les frameworks d'applications Web devenaient populaires à cette époque, et le besoin d'un
framework complet en PHP était élevé. Symfony a offert une solution convaincante en raison
de sa qualité de code impressionnante et de sa quantité importante de documentation - deux
avantages majeurs par rapport aux autres acteurs de la catégorie du framework. Les
contributeurs ont rapidement commencé à faire surface, proposant des correctifs et des
améliorations, relisant la documentation et exécutant d'autres tâches indispensables.
Aujourd'hui, le forum symfony, les listes de diffusion et le canal IRC (Internet Relay Chat)
offrent des points de support idéaux, avec apparemment chaque question recevant en moyenne
quatre réponses. Les nouveaux arrivants installent symfony tous les jours, et les sections wiki
et extraits de code hébergent une grande quantité de documentation fournie par les utilisateurs.
Le nombre d'applications symfony connues augmente en moyenne de cinq par semaine, en
comptant.