34
Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com symfony Un Framework Open-Source pour les Entreprises Fabien Potencier http://www.symfony-project.com/ http://www.sensiolabs.com/

symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

symfonyUn Framework Open-Source

pour les Entreprises

Fabien Potencierhttp://www.symfony-project.com/

http://www.sensiolabs.com/

Page 2: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Sensio Labs• Sensio

– Agence Interactive– Créée en 1998– Groupe de 150 personnes– 45 personnes dédiées à Internet

• Spécialiste du monde Open-Source– Un pôle R&D dédié à l’Open-Source

• Des clients Grands Comptes et Institutionnels

Webmarketing TechnologiesInternet

SensioAgence Interactive

CréateurFramework symfony

Page 3: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

symfony• Framework Web PHP• Basé sur

– 9 ans d’expérience Sensio– Projets Open-Source existants

• Conçu pour gérer :– Sites professionnels– Problématiques complexes– Environnements exigeants

Page 4: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Framework« Quelque soit l’application, un framework est conçu pour faciliterles développements en prenant en charge les tâches récurrentes,fastidieuses et répétitives à la place du développeur. »

• Composants logiciels génériques– Préfabriqués– Intégrés– Répondent aux problématiques Web

• Professionnalisation des développements– Structuration– Standardisation– Industrialisation– Pérennité « Cadre de travail »

Page 5: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

CMS - Content Management System• CMS traditionnel

– Fonctionnalités standards– Outil de contribution standard– Le site s’adapte au CMS

• CMS basé sur symfony– Briques logicielles CMS– Extensibilité pour des application métiers– Le CMS s’adapte au site

Page 6: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Les Buts de symfony

• Ne pas réinventer la roue en intégrant les BonnesPratiques

• Développer plus vite

• Devenir le Framework PHP des Entreprises

Page 7: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Mieux Développer• Kent Beck (basé sur Yourdon et Constantine)

Chaque ligne de code a un coût initial

… et un coût pour la maintenir

Coûtinitial = Coûtdéveloppement + Coûttests

Coûtmaintenance >> Coûtinitial

Coûtmaintenance = Coûtcompréhension + Coûtchangement + Coûttests + Coûtdéploiement

Page 8: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Et Développer plus Vite• Ecrire moins de code

• Plus de temps pour les règles métiers, cas limites, …

moins de code

moins de complexité

moins de bugs

gain de productivité

gain de temps

Page 9: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Devenir le Framework PHPdes Entreprises

Page 10: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Java, .Net … et PHP• Les grandes entreprises françaises basent leurs

développements Web sur 3 technologies– Java– .Net– PHP

• PHP était généralement utilisé pour lesapplications non transactionnelles, temporaireset non stratégiques

Page 11: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

PHP dans les entreprises• Les avantages du langage PHP

– Développer rapidement un produit qui fonctionne– Héberger facilement et à moindre coût

• Inconvénients du PHP 4– Un langage non Orienté Objet– 1 développeur = 1 framework> Des sites non maintenables

Page 12: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Ce qui change• PHP 5 : Un langage mature

– Un langage réellement orienté objet

– Des frameworks performants basés sur les bonnespratiques issues du monde Java et .Net

– Des développeurs plus matures

Page 13: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

PHP 5 dans les entreprises• De plus en plus d’entreprises basculent des sites

complexes en PHP 5

– L’agilité et les performances d’un langage de script

– La maturité et des outils comparables au monde Javaet .Net

Page 14: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Les Principaux Atouts• symfony… au-delà du code, c’est également…

– Un Framework Open-Source

– Une Documentation Open-Source

– Une Communauté Active et Internationale

– Une Version “Entreprise”

Page 15: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Un Framework Open-Source• Licence MIT

« Elle donne à toute personne recevant le logiciel ledroit illimité de l'utiliser, le copier, le modifier, lefusionner, le publier, le distribuer, le vendre et dechanger sa licence. La seule obligation est de mettrele nom des auteurs avec la notice de copyright. »

Page 16: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Une Documentation Abondante• Open-Source Documentation

– The book (450 pages - GFDL)– Askeet Tutorial (250 pages)

• Traductions en 12 langues– 中文 (Chinese)– Deutsch– Español– Français– Italiano– 日本語 (Japanese)

– Polski– Português– Russian– Ukrainian– Če⌃tina– Nederlands

Page 17: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Une Documentation Abondante

Page 18: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Une Communauté Active• 200 plugins disponibles• 300 000 visiteurs par mois sur le site officiel

www.symfony-project.org

• Une conférence dédiée : symfonyCamp

Page 19: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Une version « Entreprise »• La version 1.0 a été publiée début 2007

– ~1 mise à jour par mois (1.0.11 actuellement)• corrections bugs, sécurité, compatibilité nouvelles versions

de PHP• pas de nouvelles fonctionnalités• mise à jour simple et sûre

– Support Commercial– Documentation stable– Formations

Page 20: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Des Fonctionnalités Entreprises• Sécurité• Gestion des environnements et des déploiements• Tests unitaires et fonctionnels• Configurabilité et extensibilité• Modèle / Vue / Controleur• Admin Generator• Outils pour le développeur• Gestion du cache• URL propres• Internationalisation• Support avancé des formulaires

Page 21: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Sécurité• symfony est immunisé contre les principales

attaques par défaut– XSS– CSRF– SQL Injection

• Pourquoi ?– Les attaques XSS sont très facilement exploitables– Les audits sont facilités

Page 22: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Gestion des Environnementset des Déploiements

• symfony gère la différence entre lesenvironnements de développement, de recette etd’exploitation

• Pourquoi ?– Le développeur doit pouvoir diagnostiquer les

problèmes rapidement (erreurs dans le navigateur,pas de cache, …)

– Le site en exploitation doit activer le cache et ne doitpas révéler d’informations sensibles en cas deproblème

symfony project:deploy production --go

Page 23: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Tests Unitaires et Fonctionnels• symfony automatise les tests des applications via

la simulation d’un navigateur

• Pourquoi ?– Les tests manuels des clients ne sont pas fiables… et

généralement pas réalisés– Une application testée contient moins de bugs et

devient maintenable

Page 24: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Configurabilité et Extensibilité• symfony est entièrement configurable et

facilement extensible grâce à un système deplugins

• Pourquoi ?– Le Web évolue très vite– Certains clients ont des demandes spécifiques– Le framework ne doit/peut pas tout gérer– Ouverture pour les contributions externes

Page 25: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Modèle / Vue / Contrôleur• Séparation des couches applicatives

– Règles métiers (Modèle)– Templates navigateur (Vue)

• Structuration des fichiers et des arborescences• Conventions

• Pourquoi ?– Ne pas réinventer la roue– Maintenabilité– Evolutivité

Page 26: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Création du Back-Office• Création automatique d’une Console

d’Administration de Production– Listes– Pagination– Tri

• Pourquoi ?– Tous les sites ont le même besoin– Fastidieux à développer et à tester– Sans valeur ajoutée

– Filtres– Validation– CRUD

Page 27: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Outils pour le Développeur• symfony fourni les outils de débuggage au

développeur

• Pourquoi ?– Augmenter la productivité du développeur

Page 28: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Gestion du Cache• symfony gère de façon très fine le cache des

applications

• Pourquoi ?– Les applications développées doivent pouvoir « monter

en charge »– Rajouter des serveurs coûte cher

Page 29: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

URLs Propres• symfony gère les URLs de façon bi-directionnel

• Pourquoi ?– Les URLs représentent l’interface d’un site Web– Elles sont indexées par les moteurs, copiées/collées dans des

e-mails, bookmarkées par les utilisateurs– Elles sont indépendantes de l’implémentation technique

/blog.php?section=symfony&article_id=18475

/blog/2008-01-30/symfony-bonne-annee

Page 30: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Internationalisation• symfony gère l’internationalisation et la

localisation des applications

• Pourquoi ?– Ne pas réinventer la roue (la liste des pays ne change

pas tous les jours)– Les règles de localisation sont complexes et

normalisées

Page 31: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Support avancé des Formulaires• symfony a une gestion des formulaires très

avancée et très modulaire (modèle MVC)

• Pourquoi ?– Toutes les applications ont des formulaires– La définition des formulaires et de leurs cycles de vie

est long et sans valeur ajoutée– La gestion de la validation « à la main » est fastidieuse

Page 32: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Un Framework pour les Professionnels

• Issue de l’expérience• 1.0 stable, maintenue et support commercial• Communauté large et compétente• Extensibilité• Stabilité de l’API• Documentation Open-Source

Une vision du WebProfessionnelle

Pragmatique

Page 33: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

Sensio S.A.26, rue Salomon de Rothschild

92 286 Suresnes CedexFRANCE

Tél. : +33 1 40 99 80 80Fax : +33 1 40 99 83 34

ContactFabien Potencier

[email protected]

http://www.sensiolabs.com/ http://www.symfony-project.com/

Page 34: symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)

Solutions Linux 2008 www.symfony-project.com [email protected] www.sensiolabs.com

• Des milliers de sites ont été développés avecsymfony

• Yahoo!– Yahoo! Bookmarks– Yahoo! Answers– del.icio.us

Des Références Significatives