CakePHP Rapid Application Developement EPITA, 22/04/2010
Présentation <ul><li>Guillaume Sautereau, 34 ans
ingénieur Supélec
IRL : Responsable Pôle de Compétence eCommerce chez Smile
« Baker » à ses heures perdues depuis 2007 </li></ul>
Historique du projet <ul><li>Créé par Michal Tatarynowicz en 2005
Inspiré par Ruby on Rails
« convention over configuration »
Placé sous licence MIT
Aujourd'hui, une grande communauté </li></ul>
Principes et acronymes <ul><li>MVC
ORM
DRY
TDD
LOL! </li></ul>
Comment ça marche ? <ul><li>on télécharge le code
on le place quelque part (par exemple pas loin du document root d'un serveur Apache)
on créé une base de données
on lance « bake » et on crée successivement : </li><ul><li>modèles
contrôleurs
vues </li></ul><li>et voilà ! </li></ul>
Une demo ? <ul><li>Allez, une petite démo.
Un petit livre d'or ? </li></ul>
Démo : la base de données <ul>Créons la base de données et une table </ul>CREATE DATABASE  ` guestbook ` ; CREATE   TABLE ...
Démo : créer l'application <ul><li>On lance ensuite l'utilitaire bake en ligne de commande pour créer son application et g...
Création de l'application
Création du fichier de configuration
Ça marche ? <ul><li>On fait pointer un virtual host sur le dossier « webroot » de l'application et on obtient, à l'adresse...
Un modèle On créé un modèle et on définit quelques règles de validation sur ses champs.
Prochain SlideShare
Chargement dans…5
×

Présentation de CakePHP, 22/04/2010

4 901 vues

Publié le

Présentation du framework CakePHP aux étudiants de l'EPITA le 22/04/2010

Publié dans : Technologie
  • Soyez le premier à commenter

Présentation de CakePHP, 22/04/2010

  1. 1. CakePHP Rapid Application Developement EPITA, 22/04/2010
  2. 2. Présentation <ul><li>Guillaume Sautereau, 34 ans
  3. 3. ingénieur Supélec
  4. 4. IRL : Responsable Pôle de Compétence eCommerce chez Smile
  5. 5. « Baker » à ses heures perdues depuis 2007 </li></ul>
  6. 6. Historique du projet <ul><li>Créé par Michal Tatarynowicz en 2005
  7. 7. Inspiré par Ruby on Rails
  8. 8. « convention over configuration »
  9. 9. Placé sous licence MIT
  10. 10. Aujourd'hui, une grande communauté </li></ul>
  11. 11. Principes et acronymes <ul><li>MVC
  12. 12. ORM
  13. 13. DRY
  14. 14. TDD
  15. 15. LOL! </li></ul>
  16. 16. Comment ça marche ? <ul><li>on télécharge le code
  17. 17. on le place quelque part (par exemple pas loin du document root d'un serveur Apache)
  18. 18. on créé une base de données
  19. 19. on lance « bake » et on crée successivement : </li><ul><li>modèles
  20. 20. contrôleurs
  21. 21. vues </li></ul><li>et voilà ! </li></ul>
  22. 22. Une demo ? <ul><li>Allez, une petite démo.
  23. 23. Un petit livre d'or ? </li></ul>
  24. 24. Démo : la base de données <ul>Créons la base de données et une table </ul>CREATE DATABASE ` guestbook ` ; CREATE TABLE `guestbook` . `guestbooks` ( `id` INT ( 11 ) NOT NULL , `title` VARCHAR ( 50 ) NOT NULL , `message` TEXT NOT NULL , `created` DATETIME NOT NULL , `modified` DATETIME NOT NULL , `email` VARCHAR ( 50 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM
  25. 25. Démo : créer l'application <ul><li>On lance ensuite l'utilitaire bake en ligne de commande pour créer son application et générer la configuration accès à la base de données </li></ul>cake/console/cake bake -app ~/Sites/guestbook
  26. 26. Création de l'application
  27. 27. Création du fichier de configuration
  28. 28. Ça marche ? <ul><li>On fait pointer un virtual host sur le dossier « webroot » de l'application et on obtient, à l'adresse http://localhost/guestbook : </li></ul>
  29. 29. Un modèle On créé un modèle et on définit quelques règles de validation sur ses champs.
  30. 30. Un contrôleur
  31. 31. Des vues
  32. 32. Et voilà le travail ! En se connectant à l'adresse http://localhost/guestbooks/guestbooks/add
  33. 33. Validation sur les champs
  34. 34. Index paginé
  35. 35. Fonctionnalités (1) <ul><li>génération de code et scaffolding
  36. 36. Authentification
  37. 37. ACL
  38. 38. i18n et l10n
  39. 39. gestion du cache
  40. 40. mode console
  41. 41. Formulaire et validation
  42. 42. sécurité </li></ul>
  43. 43. Fonctionnalités (2) <ul><li>DRY = don't repeat yourself </li><ul><li>Behavior pour factoriser du code entre plusieurs modèles
  44. 44. Components pour les contrôleurs
  45. 45. Helpers pour les vues
  46. 46. Plugins pour des « mini applications » </li></ul></ul>
  47. 47. CakePHP, pour qui ? <ul><li>Les gens qui recherchent une certaine simplicité : ça reste du PHP qui ressemble à du PHP
  48. 48. Adapté aux petites applications comme aux grosses applications pas trop complexes
  49. 49. Pas de grosse contrainte en terme de configuration serveur (PHP4 supporté) </li></ul>
  50. 50. Quelques sites : RSSTalker
  51. 51. PlugMyEvent
  52. 52. Almost Musique
  53. 53. Des points faibles ? <ul><li>Un rythme de mise à jour « lent » ?
  54. 54. Des performances en retrait ?
  55. 55. Une documentation limitée ?
  56. 56. Une communauté désorganisée ?
  57. 57. Un framework moins populaire que Symfony ou Zend Framework ?
  58. 58. Un framework moins « professionnel » que Symfony ou Zend Framework ? </li></ul>
  59. 59. Communauté(s) <ul>site officiel : http://www.cakephp.org <ul><li>Site de la communauté française : http://www.cakephp-fr.org/
  60. 60. forum : http://forum.cakephp-fr.org
  61. 61. CakePHP Questions : http://cakeqs.org/fre
  62. 62. http://github.com/cakephp
  63. 63. http://www.formation-cakephp.com/
  64. 64. http://cherryonthe.popnews.com </li></ul></ul>
  65. 65. Roadmap <ul><li>CakePHP 1.2 : sorti en 2008, actuellement en version 1.2.6
  66. 66. CakePHP 1.3 : sortie imminente ! Actuellement en version 1.3RC4
  67. 67. CakePHP 2 : fin du support de PHP 4, compatible uniquement avec PHP 5.2 </li></ul>
  68. 68. Lithium ? <ul><li>CakePHP 1.2, CakePHP 1.3, CakePHP 2, Cake3, ...
  69. 69. Et soudain, c'est le drame : le fork !
  70. 70. Gwoo et Nate Abele, deux anciens membres de la « core team » de CakePHP
  71. 71. Framework compatible uniquement avec PHP 5.3
  72. 72. tire partie de ses avancées : SPL, namespaces, fonctions anonymes...
  73. 73. interopérabilité avec les autres frameworks : PSR-0
  74. 74. pour l'instant : un truc de geeks mais... à suivre ! </li></ul>
  75. 75. Au fait ! <ul><li>Ma société, Smile, recrute !
  76. 76. Si vous cherchez un stage ou un emploi (développement Framework Symfony, Zend Framework, CakePHP, eCommerce avec Magento...), contactez-moi : [email_address]
  77. 77. http://www.smile.fr </li></ul>
  78. 78. Fin <ul><li>Des questions ? </li></ul>

×