présentation symfony epita
DESCRIPTION
Présentation de symfony à l'EPITA le 22 avril 2010TRANSCRIPT
![Page 1: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/1.jpg)
Noël GUILBERT – Présentation Symfony EPITA
22/04/2010
![Page 2: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/2.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony, qu’est-ce que c’est ?
Un framework PHP 5 Open-Source
Issu de l’expérience de Sensio Labs dans le développement d’application web
Ensemble d’outils conçus pour faciliter les développements et éviter les tâches répétitives
Destiné aux professionnels
22/04/2010
![Page 3: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/3.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Sensio Labs
Web agency
70 personnes dédiées au développementWeb
Spécialistes de l’Open-Source
22/04/2010
WebmarketingInternet
Technologies
SensioWeb Agency
Creator of thesymfony
framework
![Page 4: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/4.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony, ce n’est pas que du code
Une documentation Open-source :
Plusieurs livres officiels :
Practical Symfony (350 pages)
The Reference guide (150 pages)
More with Symfony
(320 pages, disponibles en 5 langues)
22/04/2010
![Page 5: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/5.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony, ce n’est pas que du code
Des ouvrages dans différents pays:
22/04/2010
![Page 6: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/6.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony, ce n’est pas que du code
Différents évènements et conférences : Symfony camp, Symfony day, Symfony Live,
sprints, bug hunt days, …
22/04/2010
![Page 7: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/7.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Une version « entreprise »:
Version 1.4 : supportée pendant 3 ans (jusqu’à fin 2012)
Environ une release par mois: Correction de bugs Pas de nouvelle fonctionnalité La mise à jour est simple et sans danger La migration depuis une version antérieure est simple
Support commercial Documentation stable et maintenue Formations Conseil
22/04/2010
![Page 8: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/8.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Objectifs Développer plus vite, et surtout mieux
Promouvoir l’utilisation de bonnes pratiques de développement
Réaliser des applications évolutives et maintenables
Se concentrer uniquement sur la logique métier
Ne pas réinventer la roue
22/04/2010
![Page 9: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/9.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Développer plus vite Ecrire moins de code
Plus de temps pour la logique métier, les cas limites, …
Moins de code
Moins de complexité
Moins de bugs
Plus de productivité
Plus de temps
Moins de code
Moins de complexité
Moins de bugs
Plus de productivité
Plus de temps
22/04/2010
![Page 10: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/10.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Fonctionnalités Architecture MVC Internationalisation / Localisation ORM Support avancé des formulaires Sécurité Gestion des environnements Outils de développement et de debug Configurable et extensible Cache Générateur d’interface d’administration Tests unitaires et fonctionnels URLs « propres » CLI Emails
22/04/2010
![Page 11: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/11.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Architecture MVC 3 couches logiques :
Model: logique métier View : présentation Controller: logique
applicative
Avantages : Meilleure
encapsulation Code réutilisable Testable unitairement Robuste
Response
client
internet
server
controller
view
model
22/04/2010
![Page 12: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/12.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Url propres Symfony gère les URLs propres
Pourquoi ? SEO « user-friendly » Masque l’implémentation technique
/blog.php?section=symfony&article_id=18475/blog.php?section=symfony&article_id=18475
/blog/2010-04-22/symfony-a-l-epita/blog/2010-04-22/symfony-a-l-epita
22/04/2010
![Page 13: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/13.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Outils pour le développeur Symfony est fourni avec des outils de débogage
Pourquoi ? Faciliter le débogage Améliorer la productivité du développeur
22/04/2010
![Page 14: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/14.jpg)
Noël GUILBERT – Présentation Symfony EPITA
CLI Symfony possède un certain nombre d’outils
en ligne de commande pour faciliter le développement:
Génération de code Exécution des tests fonctionnels et unitaires Génération de la base de données Installation de plugins Configurations diverses Déploiements Etc…
22/04/2010
![Page 15: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/15.jpg)
Noël GUILBERT – Présentation Symfony EPITA
CLI$> php symfony
22/04/2010
![Page 16: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/16.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Configurable et extensible
Symfony est configurable et facilement extensible
Système de plugins
Pourquoi ? Le web évolue vite Chaque projet a des besoins spécifiques Un framework ne peut, et ne doit pas tout faire Faciliter les contributions externes
22/04/2010
![Page 17: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/17.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Sécurité
Symfony est protégé par défaut contre les principales vulnérabilités :
Injection SQL
XSS (Cross-site Scripting)
CSRF (Cross Site Request Forgeries)
22/04/2010
![Page 18: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/18.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Environnements
Symfony dispose d’une notion d’environnements :
Développement
Test
Production
Pourquoi ? Le développeur doit pouvoir diagnostiquer les problèmes
rapidement: barre de debug, erreurs, etc…
Le site en production doit avoir le cache activé, masquer les informations sensibles en cas de problème, …
22/04/2010
![Page 19: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/19.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Tests fonctionnels et unitaires
Symfony dispose d’un framework de test unitaire spécialement adapté : Lime
Symfony automatise les tests des applications par la simulation d’un navigateur
Pourquoi ? Les tests manuels ne sont pas fiables et reproductibles Une application testée contient moins de bugs
22/04/2010
![Page 20: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/20.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Cache
symfony gère de façon très fine le cache des applications
Plusieurs mécanismes de cache sont supportés :fichier, APC, memcache, …
Permet d’améliorer la scalabilité des applications rapidement
22/04/2010
![Page 21: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/21.jpg)
Noël GUILBERT – Présentation Symfony EPITA
I18N et L10N
Symfony possède nativement un support de l’I18N et de la L10N
Facilite l’internationalisation des applications
22/04/2010
![Page 22: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/22.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Object Relational Mapping
Réalise le mapping entre une base de donnée relationnelle et un modèle orienté objet
Couche d’abstraction de base de données
Manipulation de base de données à travers une interface orientée objet
Deux ORMs sont disponibles : Doctrine et Propel
22/04/2010
![Page 23: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/23.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Abstraction de base de données
Chaque SGBD a ses spécificités
Permet de basculer d’un SGBD à un autre facilement
Vous n’avez plus de SQL à écrire !
22/04/2010
![Page 24: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/24.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Doctrine et Propel
Bien intégrés à Symfony : Configuration en YAML Ligne de commandes I18n Admin-generator Documentation Tutoriels
22/04/2010
![Page 25: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/25.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Décrire la structure de votre base de données
22/04/2010
ShopProduct:
actAs:
Timestampable: ~
Sluggable:
fields: [reference, name]
columns:
reference: { type: string(15), notnull: true, unique: true }
name: { type: string(100), notnull: true }
description: { type: clob, notnull: true }
stock: { type: integer(4), notnull: true, default: 0 }
price: { type: float, notnull: true }
Nom de la classe
Comportements automatiques
Définition des colonnes
![Page 26: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/26.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Du schéma à la base de données
22/04/2010
ShopProduct:
columns:
name:
type: string(100),
notnull: true
CREATE TABLE shop_product (
id integer NOT NULL PRIMARY KEY
AUTO_INCREMENT,
name varchar(100) NOT NULL
);
![Page 27: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/27.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Des objets à la base de données
22/04/2010
INSERT INTO shop_product (‘reference’,
‘name’, ‘price’) VALUE (‘AZERTY’, ‘Blue
couch’, 299.9);
UPDATE shop_product set name = ‘Red couch’
WHERE id = 1;
![Page 28: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/28.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Intégré à la barre de debug
22/04/2010
![Page 29: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/29.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
Symfony a une gestion des formulaires très avancée et très modulaire
Toutes les applications ont des formulaires
La définition des formulaires est longue et fastidieuse
La validation des données « à la main » est fastidieuse
![Page 30: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/30.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
Les support des formulaires permettent d’encapsuler leur cycle de vie complet :
Champs de saisies
Validation
Processus métier : sauvegarde, traitement des données, etc…
Intégration avec les ORMs pour la manipulation des données
![Page 31: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/31.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
![Page 32: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/32.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
![Page 33: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/33.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
Gestion des erreurs :
![Page 34: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/34.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Support avancé des formulaires
22/04/2010
Intégré à la barre de debug:
![Page 35: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/35.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Emails avec SwiftMailer
22/04/2010
Symfony est fourni avec une des meilleures solutions en PHP d’emailing : SwiftMailer
Cette solution est complètement intégrée
avec symfony :
Environnements
Files d’attente
Tests fonctionnels
Debuggage
![Page 36: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/36.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Emails avec SwiftMailer
22/04/2010
Envoyer un email
![Page 37: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/37.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Emails avec SwiftMailer
22/04/2010
Tester l’envoi d’un email
![Page 38: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/38.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Emails avec SwiftMailer
22/04/2010
Configuration
Stratégies d’envoi
Désactivée par défaut dans les environnements de test et de
développement
Possibilité de rediriger tous les mails vers une adresse unique
Pratique pour tester l’envoi des emails
En temps réel
En file d’attente
![Page 39: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/39.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Emails avec SwiftMailer
22/04/2010
L’envoi des emails est intégré à la barre de debug
![Page 40: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/40.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Générateur de Back-Office
Génération automatique d’interfaces d’administration : Listes Pagination Tris CRUD Filtres Validation
Pourquoi ? Tous les sites ont un back-office Fastidieux à développer et à tester Aucune valeur ajoutée pour le développeur
22/04/2010
![Page 41: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/41.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Générateur de Back-Office
22/04/2010
![Page 42: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/42.jpg)
Noël GUILBERT – Présentation Symfony EPITA
22/04/2010
Démonstration
![Page 43: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/43.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Réalisation d’un back office de gestion des étudiants
Lister les étudiants, 10 par page afficher la photo, nom, prénom et promo de
chaque étudiant Trier par défaut les étudiants par ordre
alphabétique Moteur de recherche multi-critères Formulaires de création et d’édition Upload de photo Validation des données saisies Suppression d’un étudiant
22/04/2010
![Page 44: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/44.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Demo terminée!
22/04/2010
![Page 45: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/45.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony : que nous réserve l’avenir ?
22/04/2010
![Page 46: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/46.jpg)
22/04/2010Noël GUILBERT – Présentation Symfony EPITA
Une évolution majeure de symfony 1.x : Full stack Configurable Extensible Testable
Une nouvelle architecture: Utilisation des nouveautés de PHP 5.3
![Page 47: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/47.jpg)
Symfony 2 : ne pas réinventer la roue
Réutilisation des meilleurs composants du monde Open-Source :
Doctrine 2
PHPUnit
SwiftMailer
Zend_Log
Noël GUILBERT – Présentation Symfony EPITA
22/04/2010
![Page 48: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/48.jpg)
PHP 5.3
Namespaces
Closures / Lambda functions
Late state binding
Noël GUILBERT – Présentation Symfony EPITA
22/04/2010
![Page 49: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/49.jpg)
Symfony 2 : Quelles nouveautés ?
22/04/2010
Meilleures performances
Composants autonomes
Injection de dépendance
Request Handler
Bundles
Noël GUILBERT – Présentation Symfony EPITA
![Page 50: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/50.jpg)
Symfony 2 : Plus rapide ?
22/04/2010
Symfony 2 est 2,5x plus rapide que symfony 1.4.x
… et environ 60x plus rapide que Flow 3 (en version alpha)
http://symfony-reloaded.org/fast
Noël GUILBERT – Présentation Symfony EPITA
![Page 51: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/51.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony Components
22/04/2010
Librairies autonomes
Chaque composant à un périmètre et une documentation spécifique
http://components.symfony-project.org/
![Page 52: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/52.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Symfony Components
22/04/2010
BrowserKit
Console
CssSelector
DependencyInjection
DomCrawler
EventDispatcher
Finder
OutputEscaper
Process
RequestHandler
Templating
Yaml
![Page 53: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/53.jpg)
Injection de dépendance
22/04/2010
Permet de gérer les dépendances entre les classes de votre projet
Inspiré par le framework Java Spring
Documentation : http://components.symfony-project.org/dependency-injection/
Noël GUILBERT – Présentation Symfony EPITA
![Page 54: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/54.jpg)
Injection de dépendance
22/04/2010
<?php
class User{ protected $storage;
public function __construct(Storage $storage) { $this->storage = $storage; }}
Noël GUILBERT – Présentation Symfony EPITA
![Page 55: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/55.jpg)
Conteneur d’Injection de dépendance
22/04/2010
Une méthode pour organiser les dépendances
Chaque classe est un service, que l’on peut définir au format YAML :
Noël GUILBERT – Présentation Symfony EPITA
services: user: class: User arguments: [@user.storage]
user.storage: class: Storage
![Page 56: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/56.jpg)
Conteneur d’Injection de dépendance
22/04/2010Noël GUILBERT – Présentation Symfony EPITA
![Page 57: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/57.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Request Handler
22/04/2010
Micro-kernel très rapide pour le développement de framework d’application web
![Page 58: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/58.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Request Handler
22/04/2010
A la base de l’implémentation des contrôleurs dans Symfony 2
Concept très simple: Le point d’entrée est une requête Le point de sortie est une réponse
La requête peut être ce que vous voulez L’objet réponse doit implémenter une
méthode send()
![Page 59: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/59.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Request Handler
22/04/2010
![Page 60: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/60.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Les bundles
22/04/2010
Les bundles sont l’équivalent des plugins dans symfony 1.x
Tout est bundle: Symfony est un bundle Le code de votre application sera dans un bundle
Une application est un ensemble de bundles
![Page 61: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/61.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Les bundles
22/04/2010
Les bundles sont configuré dans le kernel de l’application
![Page 62: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/62.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Bundles
22/04/2010
Springbok : ticketing system http://github.com/naneau/springbok/
![Page 63: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/63.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Bundles
22/04/2010
Shopping cart http://github.com/noelguilbert/symfony-demo
![Page 64: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/64.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Sensio Labs Recrute !
22/04/2010
Chefs de projets web Développeurs
Stages CDI
Envoyez votre CV à [email protected]
![Page 65: Présentation symfony epita](https://reader036.vdocuments.fr/reader036/viewer/2022081401/558e67df1a28ab9b218b475c/html5/thumbnails/65.jpg)
Noël GUILBERT – Présentation Symfony EPITA
Questions ?
Noël GUILBERThttp://www.noelguilbert.com/
@noelguilbert
22/04/2010