Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
2 JRES 2011 (24 novembre 2011) Sommaire Qu'est-ce qu'un framework de développement Web ? Présentation de Symfony 2 Retours d'expérience sur l'utilisation de Symfony à Mercator Océan Conclusion
3 JRES 2011 (24 novembre 2011) Qu'est-ce qu'un framework? « Cadres d'applications » permettant de créer les fondations d'une application Web Modèle MVC Objectifs : Développer plus vite Développer mieux design patterns « don't repeat yourself » « separation of concerns » tests unitaires et fonctionnels Source : Wikipedia
4 JRES 2011 (24 novembre 2011) Le projet Symfony Framework MVC écrit en PHP 5 et diffusé depuis 2005 sous licence open source par Sensio Labs Communauté d'utilisateurs, contributeurs et développeurs internationale très active Très bonne documentation Long Term Support (LTS) releases (3 ans) : version en cours symfony 1.4 (nov. 2012) Références : Yahoo !, Dailymotion, etc. phpBB, Drupal, etc.
5 JRES 2011 (24 novembre 2011) Symfony 2 Réécriture majeure de la version précédente symfony 1 => Symfony 2 Symfony (16/11/2011) prochaine LTS : Symfony 2.1 (à paraître) « Full-stack » framework et composants découplés utilisables de façon indépendante Prérequis : PHP ou supérieur accélérateur PHP fortement conseillé
6 JRES 2011 (24 novembre 2011) Principales fonctionnalités Tout se présente comme un « bundle » Services et conteneur de services ORM Doctrine 2 et moteur de template Twig Tests unitaires et fonctionnels : PHPUnit Autres fonctionnalités : configuration : PHP, YAML, XML ou annotations système de routage (URLs « propres ») Web Debug Toolbar et Profiler reverse proxy en PHP
7 JRES 2011 (24 novembre 2011) Mercator Océan Décrit, analyse et prévoit l'état de l'océan : simulation haute résolution à l’échelle du globe assimilation de données satellitaires et in situ exploitation opérationnelle depuis 2001 Applications : sécurité maritime défense environnement recherche industrie Source : Mercator Océan
8 JRES 2011 (24 novembre 2011) Applications développées à Mercator Applications de gestion gestions des congés du personnel module de saisie des temps sur projets interactions avec l'ERP CEGID et OBM (Open Business Management) Catalogue des produits océanographiques reprise d'une base de données existante (PostgreSQL) interface d'administration (SonataAdminBundle) interfaces de recherche
9 JRES 2011 (24 novembre 2011) Retours d'expérience Symfony 2 : est facile à prendre en main est pertinent même pour des projets de petite taille se distingue par la qualité de sa documentation est un projet jeune Attention : la prise en main est facile, mais... la maîtrise l'est moins ! requiert une bonne connaissance des notions de programmation orientée objet et des design patterns exemple : utilisation du conteneur de services
10 JRES 2011 (24 novembre 2011) Conclusion Quel est le meilleur framework ? Le choix est problématique ! Quelques critères : pérennité et taille de la communauté documentation support références Le meilleur framework est celui qui vous convient le mieux !