symfony
                       Un Framework Open-Source
                           pour les Entreprises

                 ...
Sensio Labs
  • Sensio
                                                                                                   ...
symfony
  • Framework Web PHP
  • Basé sur
          – 9 ans d’expérience Sensio
          – Projets Open-Source existants...
Framework
        « Quelque soit l’application, un framework est conçu pour faciliter
        les développements en prenan...
CMS - Content Management System
  • CMS traditionnel
          – Fonctionnalités standards
          – Outil de contributi...
Les Buts de symfony

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

  • Développer plus vite

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

          Chaque ligne de code a un coût initial

      ...
Et Développer plus Vite
  • Ecrire moins de code

                                            moins de code
              ...
Devenir le Framework PHP
                            des Entreprises




Solutions Linux 2008      www.symfony-project.com...
Java, .Net … et PHP
  • Les grandes entreprises françaises basent leurs
    développements Web sur 3 technologies
        ...
PHP dans les entreprises
  • Les avantages du langage PHP
          – Développer rapidement un produit qui fonctionne
    ...
Ce qui change
  • PHP 5 : Un langage mature
          – Un langage réellement orienté objet

          – Des frameworks pe...
PHP 5 dans les entreprises
  • De plus en plus d’entreprises basculent des sites
    complexes en PHP 5

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

          – Un Framework Open-Source

          – Un...
Un Framework Open-Source
  • Licence MIT
          « Elle donne à toute personne recevant le logiciel le
            droit...
Une Documentation Abondante
  • Open-Source Documentation
          – The book (450 pages - GFDL)
          – Askeet Tutor...
Une Documentation Abondante




Solutions Linux 2008   www.symfony-project.com   fabien.potencier@sensio.com   www.sensiol...
Une Communauté Active
  • 200 plugins disponibles
  • 300 000 visiteurs par mois sur le site officiel
    www.symfony-proj...
Une version « Entreprise »
  • La version 1.0 a été publiée début 2007
          – ~1 mise à jour par mois (1.0.11 actuell...
Des Fonctionnalités Entreprises
  • Sécurité
  • Gestion des environnements et des déploiements
  • Tests unitaires et fon...
Sécurité
  • symfony est immunisé contre les principales
    attaques par défaut
          – XSS
          – CSRF
        ...
Gestion des Environnements
                          et des Déploiements
  • symfony gère la différence entre les
    envi...
Tests Unitaires et Fonctionnels
  • symfony automatise les tests des applications via
    la simulation d’un navigateur


...
Configurabilité et Extensibilité
  • symfony est entièrement configurable et
    facilement extensible grâce à un système ...
Modèle / Vue / Contrôleur
  • Séparation des couches applicatives
          – Règles métiers (Modèle)
          – Template...
Création du Back-Office
  • Création automatique d’une Console
    d’Administration de Production
          – Listes      ...
Outils pour le Développeur
  • symfony fourni les outils de débuggage au
    développeur




  • Pourquoi ?
          – Au...
Gestion du Cache
  • symfony gère de façon très fine le cache des
    applications




  • Pourquoi ?
          – Les appl...
URLs Propres
  • symfony gère les URLs de façon bi-directionnel

               /blog.php?section=symfony&article_id=18475...
Internationalisation
  • symfony gère l’internationalisation et la
    localisation des applications




  • Pourquoi ?
  ...
Support avancé des Formulaires
  • symfony a une gestion des formulaires très
    avancée et très modulaire (modèle MVC)

...
Un Framework pour les Professionnels
  •     Issue de l’expérience
  •     1.0 stable, maintenue et support commercial
  •...
Sensio S.A.
                                   26, rue Salomon de Rothschild
                                       92 286...
Des Références Significatives
  • Des milliers de sites ont été développés avec
    symfony
  • Yahoo!
          – Yahoo! ...
Prochain SlideShare
Chargement dans…5
×

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

2 492 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 492
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
78
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. symfony Un Framework Open-Source pour les Entreprises Fabien Potencier http://www.symfony-project.com/ http://www.sensiolabs.com/ Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  2. 2. Sensio Labs • Sensio Sensio – Agence Interactive Agence Interactive – Créée en 1998 Webmarketing Technologies Internet – Groupe de 150 personnes – 45 personnes dédiées à Internet • Spécialiste du monde Open-Source Créateur – Un pôle R&D dédié à l’Open-Source Framework symfony • Des clients Grands Comptes et Institutionnels Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  3. 3. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  4. 4. Framework « Quelque soit l’application, un framework est conçu pour faciliter les 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 » Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  5. 5. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  6. 6. Les Buts de symfony • Ne pas réinventer la roue en intégrant les Bonnes Pratiques • Développer plus vite • Devenir le Framework PHP des Entreprises Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  7. 7. Mieux Développer • Kent Beck (basé sur Yourdon et Constantine) Chaque ligne de code a un coût initial Coûtinitial = Coûtdéveloppement + Coûttests … et un coût pour la maintenir Coûtmaintenance >> Coûtinitial Coûtmaintenance = Coûtcompréhension + Coûtchangement + Coûttests + Coûtdéploiement Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  8. 8. Et Développer plus Vite • Ecrire moins de code moins de code  moins de complexité  moins de bugs  gain de productivité  gain de temps • Plus de temps pour les règles métiers, cas limites, … Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  9. 9. Devenir le Framework PHP des Entreprises Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  10. 10. 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 les applications non transactionnelles, temporaires et non stratégiques Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  11. 11. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  12. 12. Ce qui change • PHP 5 : Un langage mature – Un langage réellement orienté objet – Des frameworks performants basés sur les bonnes pratiques issues du monde Java et .Net – Des développeurs plus matures Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  13. 13. 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 Java et .Net Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  14. 14. 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” Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  15. 15. Un Framework Open-Source • Licence MIT « Elle donne à toute personne recevant le logiciel le droit illimité de l'utiliser, le copier, le modifier, le fusionner, le publier, le distribuer, le vendre et de changer sa licence. La seule obligation est de mettre le nom des auteurs avec la notice de copyright. » Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  16. 16. Une Documentation Abondante • Open-Source Documentation – The book (450 pages - GFDL) – Askeet Tutorial (250 pages) • Traductions en 12 langues – (Chinese) – Polski – Deutsch – Português – Español – Russian – Français – Ukrainian – Italiano – Če⌃tina – (Japanese) – Nederlands Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  17. 17. Une Documentation Abondante Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  18. 18. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  19. 19. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  20. 20. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  21. 21. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  22. 22. Gestion des Environnements et des Déploiements • symfony gère la différence entre les environnements de développement, de recette et d’exploitation symfony project:deploy production --go • 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 doit pas révéler d’informations sensibles en cas de problème Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  23. 23. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  24. 24. Configurabilité et Extensibilité • symfony est entièrement configurable et facilement extensible grâce à un système de plugins • 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  25. 25. 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é Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  26. 26. Création du Back-Office • Création automatique d’une Console d’Administration de Production – Listes – Filtres – Pagination – Validation – Tri – CRUD • Pourquoi ? – Tous les sites ont le même besoin – Fastidieux à développer et à tester – Sans valeur ajoutée Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  27. 27. Outils pour le Développeur • symfony fourni les outils de débuggage au développeur • Pourquoi ? – Augmenter la productivité du développeur Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  28. 28. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  29. 29. URLs Propres • symfony gère les URLs de façon bi-directionnel /blog.php?section=symfony&article_id=18475 /blog/2008-01-30/symfony-bonne-annee • 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  30. 30. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  31. 31. 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 Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  32. 32. 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 Web Professionnelle Pragmatique Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  33. 33. Sensio S.A. 26, rue Salomon de Rothschild 92 286 Suresnes Cedex FRANCE Tél. : +33 1 40 99 80 80 Fax : +33 1 40 99 83 34 Contact Fabien Potencier fabien.potencier@sensio.com http://www.sensiolabs.com/ http://www.symfony-project.com/ Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com
  34. 34. Des Références Significatives • Des milliers de sites ont été développés avec symfony • Yahoo! – Yahoo! Bookmarks – Yahoo! Answers – del.icio.us Solutions Linux 2008 www.symfony-project.com fabien.potencier@sensio.com www.sensiolabs.com

×