SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
13e Rencontres Mondiales du Logiciel Libre
FuelPHP : A framework, yes – Automagic, no!




                                            Julian Espérat
                                        Sébastien Drouyer

                                                     Genève
                                              10 juillet 2012



                   #FuelRMLL
                                                     1/29
Vos questions sur Twitter
            #FuelRMLL




#FuelRMLL
                                2/29
Sommaire
 Introduction

 Oil : la ligne de commande

 Pourquoi nous aimons FuelPHP

 Les Packages et l'ORM

 Le futur de FuelPHP

 Questions



                       #FuelRMLL
                                   3/29
Conférenciers




      Sébastien Drouyer
           @sdrdis




       Julian Espérat
       @savageman86

                   #FuelRMLL
                               4/29
À propos de Novius
  Créée en 1996, basée à Lyon et
  Paris, 40 personnes dont 25
  développeurs.

  Deux métiers : agence web,
  édition logicielle.

  Nos clients : Les Échos,
  Cinémathèque Française, FIS...

  Nos technos : web et libres
  uniquement (LAMP, HTML,
  CSS, JS).


                      #FuelRMLL
                                   5/29
À propos de Novius OS
  8 ans d'expérience dans le
  CMS.

  CMS open-source nouvelle
  génération, conçu pour
  l'Internet multi-canal.

  Entre le CMS et le web OS.

  Basé sur les dernières
  technologies web : HTML5,
  jQuery UI, Wijmo et FuelPHP.



                      #FuelRMLL
                                  6/29
Genèse de Fuel PHP
  « FuelPHP est né de la frustration des développeurs avec les
  frameworks actuels. »


  1118 watchers et 166 forks sur Github
  2336 followers sur Twitter


  Création fin 2010
  1.0 – 31 juillet 2011
  1.1 – 13 décembre 2011
  1.2 – 3 juin 2012




                          #FuelRMLL
                                                                 7/29
Core Team de FuelPHP

    Dan Horrigan / CodeIgniter, PyroCMS


    Harro Verton / @WanWizard / Data mapper ORM, ExiteCMS


    Phil Sturgeon / @philsturgeon / PyroCMS, Code Igniter


    Jelmer Schreuder / @jschreuder


    Frank de Jonge / @frankdejonge / the doc guy




                     #FuelRMLL
                                                            8/29
Philosophie de FuelPHP
  S’inspire des meilleures idées des autres frameworks


  Nouveau départ avec PHP 5.3


  Simple, flexible et léger


  "community-driven"


  Configuration over convention – no automagic!




                          #FuelRMLL
                                                         9/29
Inspiration des autres frameworks




     Simplicité


     Léger et rapide


     Facile à apprendre


     Peu de dépendances serveur




                       #FuelRMLL
                                    10/29
Inspiration des autres frameworks




     Flexibilité dans la structure des fichiers


     Hiérarchie des répertoires


     Excellent Query Builder




                       #FuelRMLL
                                                  11/29
Inspiration des autres frameworks




     Ligne de commande


     Migrations


     Scaffolding


     ORM (Active Record)




                    #FuelRMLL
                                    12/29
Inspiration des autres frameworks




     HMVC / REST


     Templates


     Authentification / ACL


     Envoi de mail




                      #FuelRMLL
                                    13/29
Sommaire
 Introduction

 Oil : la ligne de commande

 Pourquoi nous aimons FuelPHP

 Les Packages et l'ORM

 Le futur de FuelPHP

 Questions



                       #FuelRMLL
                                   14/29
Oil : la ligne de commande FuelPHP


  Package et utilitaire de FuelPHP




  Inspiré de Ruby on Rails




  Philosophie : optionel, ligne de commande pour simplifier le
  développement




                        #FuelRMLL
                                                                 15/29
Sommaire
 Introduction

 Oil : la ligne de commande

 Pourquoi nous aimons FuelPHP

 Les Packages et l'ORM

 Le futur de FuelPHP

 Questions



                       #FuelRMLL
                                   16/29
Syntaxe sexy et concise




                #FuelRMLL
                            17/29
Utilisation d'un fichier de configuration




                 #FuelRMLL
                                            18/29
Exemples de drivers
natifs
  Config : php, yml, json, ini
  Session : cookie, file,
  memcached, db, redis
  Cache : file, memcached,
  apc, redis
  Image : gd, imagick,
  imagemagick
  View : php
  Parser : twig, mustache,
  markdown, smarty, dwoo,
  haml, phptal



                       #FuelRMLL
                                   19/29
Le fichier Config_Json de Fuel PHP




                #FuelRMLL
                                     20/29
Appels statiques et DI
                             Injection de dépendance :
                             choix de l'instance et de sa
                             configuration sans réécrire de
                             code pour celui qui l'utilise




                 #FuelRMLL
                                                      21/29
Extension d'une classe du Core




                #FuelRMLL
                                 22/29
#FuelRMLL
            23/29
Sommaire
 Introduction

 Oil : la ligne de commande

 Pourquoi nous aimons FuelPHP

 Les Packages et l'ORM

 Le futur de FuelPHP

 Questions



                       #FuelRMLL
                                   24/29
Les Packages et l'ORM
  Possibilité d'ajouter des
  packages
  ●   Tous dans fuel/packages/
  ●   Simple modification dans le
      fichier de configuration


  Packages installés de base
  ●   Auth
  ●   Email
  ●   Oil
  ●   Orm
  ●   Parser

                         #FuelRMLL
                                     25/29
Les Packages et l'ORM
  Orm
  ●   Très largement inspiré d'Active Record
  ●   Gère les relations entre objets
         ●   has_one
         ●   belongs_to
         ●   has_many
         ●   many_to_many

  ●   Gère les observers
         ●   Comportement sur les colonnes
         ●   CreatedAt : date de création
         ●   UpdatedAt : date de mise à jour




                             #FuelRMLL
                                               26/29
Sommaire
 Introduction

 Oil : la ligne de commande

 Pourquoi nous aimons FuelPHP

 Les Packages et l'ORM

 Le futur de FuelPHP

 Questions



                       #FuelRMLL
                                   27/29
Futur de FuelPHP


  Composer / PSR-1


  Package ORM en mode legacy


  Refactoring Asset / Pagination / Profiler


  Réécriture de Validation / Form / Fieldset




                         #FuelRMLL
                                               28/29
Merci pour votre attention. Des questions ?

http://www.fuelphp.com
http://www.novius-os.org




                              Sébastien Drouyer : @sdrdis
                                  Julian Espérat : @savageman86

                                                         Genève
                                                  10 juillet 2012



                  #FuelRMLL
                                                        29/29

Weitere ähnliche Inhalte

Andere mochten auch

Consigna no vii y no viii corregida
Consigna no vii y no viii corregidaConsigna no vii y no viii corregida
Consigna no vii y no viii corregidacarollescure
 
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...Xavier Souris
 
Tema 2: Caprichos infantiles
Tema 2: Caprichos infantilesTema 2: Caprichos infantiles
Tema 2: Caprichos infantilesfaliyo13
 
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANA
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANAConsigna NO VIII ELKIS, CAROL, KATHERINE, YULIANA
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANAcarollescure
 
Atelier Numérique de Territoire : le référencement
Atelier Numérique de Territoire : le référencementAtelier Numérique de Territoire : le référencement
Atelier Numérique de Territoire : le référencementKate De Gourdon
 
Tous les mémes Vincenzo
Tous les mémes VincenzoTous les mémes Vincenzo
Tous les mémes Vincenzorcmuziek14
 
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse Normande
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse NormandePlan d'étude sur le championnat du monde de Kayak Polo en Suisse Normande
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse NormandeFrmfr Basse-Normandie
 
Tema 1: Letras nutritivas
Tema 1: Letras nutritivasTema 1: Letras nutritivas
Tema 1: Letras nutritivasfaliyo13
 
mercado electronico
mercado electronicomercado electronico
mercado electronicoUNIANDES
 
Présentation Novius OS - AFUP Lyon
Présentation Novius OS - AFUP LyonPrésentation Novius OS - AFUP Lyon
Présentation Novius OS - AFUP LyonNovius OS
 
Innovation Hubs Gran Concepción - Co-Creation Workshop Slides
Innovation Hubs Gran Concepción - Co-Creation Workshop SlidesInnovation Hubs Gran Concepción - Co-Creation Workshop Slides
Innovation Hubs Gran Concepción - Co-Creation Workshop Slidesinnovationhubs
 
Programme 32ème congrès médecine du travail
Programme 32ème congrès médecine du travailProgramme 32ème congrès médecine du travail
Programme 32ème congrès médecine du travailPhilippe Porta
 
L'archive ouverte HAL-UBO dans le contexte de l'accès libre
L'archive ouverte HAL-UBO dans le contexte de l'accès libreL'archive ouverte HAL-UBO dans le contexte de l'accès libre
L'archive ouverte HAL-UBO dans le contexte de l'accès libreCatherine_Bertignac
 
Cómo elaboramos un texto expositivo
Cómo elaboramos un texto expositivoCómo elaboramos un texto expositivo
Cómo elaboramos un texto expositivovictorcanteraruiz
 

Andere mochten auch (19)

Consigna no vii y no viii corregida
Consigna no vii y no viii corregidaConsigna no vii y no viii corregida
Consigna no vii y no viii corregida
 
Málaga la bella
Málaga la bellaMálaga la bella
Málaga la bella
 
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...
 
Tema 2: Caprichos infantiles
Tema 2: Caprichos infantilesTema 2: Caprichos infantiles
Tema 2: Caprichos infantiles
 
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANA
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANAConsigna NO VIII ELKIS, CAROL, KATHERINE, YULIANA
Consigna NO VIII ELKIS, CAROL, KATHERINE, YULIANA
 
Atelier Numérique de Territoire : le référencement
Atelier Numérique de Territoire : le référencementAtelier Numérique de Territoire : le référencement
Atelier Numérique de Territoire : le référencement
 
2014_droits_autoarchiver
2014_droits_autoarchiver2014_droits_autoarchiver
2014_droits_autoarchiver
 
Ponencia
PonenciaPonencia
Ponencia
 
Tous les mémes Vincenzo
Tous les mémes VincenzoTous les mémes Vincenzo
Tous les mémes Vincenzo
 
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse Normande
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse NormandePlan d'étude sur le championnat du monde de Kayak Polo en Suisse Normande
Plan d'étude sur le championnat du monde de Kayak Polo en Suisse Normande
 
Tema 1: Letras nutritivas
Tema 1: Letras nutritivasTema 1: Letras nutritivas
Tema 1: Letras nutritivas
 
mercado electronico
mercado electronicomercado electronico
mercado electronico
 
Présentation Novius OS - AFUP Lyon
Présentation Novius OS - AFUP LyonPrésentation Novius OS - AFUP Lyon
Présentation Novius OS - AFUP Lyon
 
Innovation Hubs Gran Concepción - Co-Creation Workshop Slides
Innovation Hubs Gran Concepción - Co-Creation Workshop SlidesInnovation Hubs Gran Concepción - Co-Creation Workshop Slides
Innovation Hubs Gran Concepción - Co-Creation Workshop Slides
 
Programme 32ème congrès médecine du travail
Programme 32ème congrès médecine du travailProgramme 32ème congrès médecine du travail
Programme 32ème congrès médecine du travail
 
Tema 15
Tema 15Tema 15
Tema 15
 
L'archive ouverte HAL-UBO dans le contexte de l'accès libre
L'archive ouverte HAL-UBO dans le contexte de l'accès libreL'archive ouverte HAL-UBO dans le contexte de l'accès libre
L'archive ouverte HAL-UBO dans le contexte de l'accès libre
 
Cómo elaboramos un texto expositivo
Cómo elaboramos un texto expositivoCómo elaboramos un texto expositivo
Cómo elaboramos un texto expositivo
 
Tema 15
Tema 15Tema 15
Tema 15
 

Ähnlich wie RMLL 2012 - Conférence FuelPHP

Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !
Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !
Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !Cyril Reinhard
 
Synchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementSynchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementgplanchat
 
Total Lubrifiants Canada - Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)
Total Lubrifiants Canada -  Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)Total Lubrifiants Canada -  Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)
Total Lubrifiants Canada - Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)TOTAL LUBRIFIANTS CANADA
 

Ähnlich wie RMLL 2012 - Conférence FuelPHP (6)

Fuel php nantes 2012
Fuel php nantes 2012Fuel php nantes 2012
Fuel php nantes 2012
 
Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !
Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !
Pourquoi Drupal est un meilleur CMS/WEM que les solutions Proprietaires !
 
Présentation de PHP
Présentation de PHPPrésentation de PHP
Présentation de PHP
 
Synchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementSynchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplement
 
Symfony Best Practices
Symfony Best PracticesSymfony Best Practices
Symfony Best Practices
 
Total Lubrifiants Canada - Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)
Total Lubrifiants Canada -  Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)Total Lubrifiants Canada -  Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)
Total Lubrifiants Canada - Concept Tp Fuel Eco Biolubrifiants Mars 09 (2)
 

Mehr von Novius OS

CMS day : Conférence marketing social
CMS day : Conférence marketing socialCMS day : Conférence marketing social
CMS day : Conférence marketing socialNovius OS
 
Présentation Novius OS à l'AFUP Lyon
Présentation Novius OS à l'AFUP LyonPrésentation Novius OS à l'AFUP Lyon
Présentation Novius OS à l'AFUP LyonNovius OS
 
Create Once Publish Everywhere Anytime
Create Once Publish Everywhere AnytimeCreate Once Publish Everywhere Anytime
Create Once Publish Everywhere AnytimeNovius OS
 
Create Once Publish Everywhere Anytime (version française)
Create Once Publish Everywhere Anytime (version française)Create Once Publish Everywhere Anytime (version française)
Create Once Publish Everywhere Anytime (version française)Novius OS
 
Partage de contenu avec un CMS moderne
Partage de contenu avec un CMS modernePartage de contenu avec un CMS moderne
Partage de contenu avec un CMS moderneNovius OS
 
Future-Ready Content Management
Future-Ready Content ManagementFuture-Ready Content Management
Future-Ready Content ManagementNovius OS
 

Mehr von Novius OS (6)

CMS day : Conférence marketing social
CMS day : Conférence marketing socialCMS day : Conférence marketing social
CMS day : Conférence marketing social
 
Présentation Novius OS à l'AFUP Lyon
Présentation Novius OS à l'AFUP LyonPrésentation Novius OS à l'AFUP Lyon
Présentation Novius OS à l'AFUP Lyon
 
Create Once Publish Everywhere Anytime
Create Once Publish Everywhere AnytimeCreate Once Publish Everywhere Anytime
Create Once Publish Everywhere Anytime
 
Create Once Publish Everywhere Anytime (version française)
Create Once Publish Everywhere Anytime (version française)Create Once Publish Everywhere Anytime (version française)
Create Once Publish Everywhere Anytime (version française)
 
Partage de contenu avec un CMS moderne
Partage de contenu avec un CMS modernePartage de contenu avec un CMS moderne
Partage de contenu avec un CMS moderne
 
Future-Ready Content Management
Future-Ready Content ManagementFuture-Ready Content Management
Future-Ready Content Management
 

RMLL 2012 - Conférence FuelPHP

  • 1. 13e Rencontres Mondiales du Logiciel Libre FuelPHP : A framework, yes – Automagic, no! Julian Espérat Sébastien Drouyer Genève 10 juillet 2012 #FuelRMLL 1/29
  • 2. Vos questions sur Twitter #FuelRMLL #FuelRMLL 2/29
  • 3. Sommaire Introduction Oil : la ligne de commande Pourquoi nous aimons FuelPHP Les Packages et l'ORM Le futur de FuelPHP Questions #FuelRMLL 3/29
  • 4. Conférenciers Sébastien Drouyer @sdrdis Julian Espérat @savageman86 #FuelRMLL 4/29
  • 5. À propos de Novius Créée en 1996, basée à Lyon et Paris, 40 personnes dont 25 développeurs. Deux métiers : agence web, édition logicielle. Nos clients : Les Échos, Cinémathèque Française, FIS... Nos technos : web et libres uniquement (LAMP, HTML, CSS, JS). #FuelRMLL 5/29
  • 6. À propos de Novius OS 8 ans d'expérience dans le CMS. CMS open-source nouvelle génération, conçu pour l'Internet multi-canal. Entre le CMS et le web OS. Basé sur les dernières technologies web : HTML5, jQuery UI, Wijmo et FuelPHP. #FuelRMLL 6/29
  • 7. Genèse de Fuel PHP « FuelPHP est né de la frustration des développeurs avec les frameworks actuels. » 1118 watchers et 166 forks sur Github 2336 followers sur Twitter Création fin 2010 1.0 – 31 juillet 2011 1.1 – 13 décembre 2011 1.2 – 3 juin 2012 #FuelRMLL 7/29
  • 8. Core Team de FuelPHP Dan Horrigan / CodeIgniter, PyroCMS Harro Verton / @WanWizard / Data mapper ORM, ExiteCMS Phil Sturgeon / @philsturgeon / PyroCMS, Code Igniter Jelmer Schreuder / @jschreuder Frank de Jonge / @frankdejonge / the doc guy #FuelRMLL 8/29
  • 9. Philosophie de FuelPHP S’inspire des meilleures idées des autres frameworks Nouveau départ avec PHP 5.3 Simple, flexible et léger "community-driven" Configuration over convention – no automagic! #FuelRMLL 9/29
  • 10. Inspiration des autres frameworks Simplicité Léger et rapide Facile à apprendre Peu de dépendances serveur #FuelRMLL 10/29
  • 11. Inspiration des autres frameworks Flexibilité dans la structure des fichiers Hiérarchie des répertoires Excellent Query Builder #FuelRMLL 11/29
  • 12. Inspiration des autres frameworks Ligne de commande Migrations Scaffolding ORM (Active Record) #FuelRMLL 12/29
  • 13. Inspiration des autres frameworks HMVC / REST Templates Authentification / ACL Envoi de mail #FuelRMLL 13/29
  • 14. Sommaire Introduction Oil : la ligne de commande Pourquoi nous aimons FuelPHP Les Packages et l'ORM Le futur de FuelPHP Questions #FuelRMLL 14/29
  • 15. Oil : la ligne de commande FuelPHP Package et utilitaire de FuelPHP Inspiré de Ruby on Rails Philosophie : optionel, ligne de commande pour simplifier le développement #FuelRMLL 15/29
  • 16. Sommaire Introduction Oil : la ligne de commande Pourquoi nous aimons FuelPHP Les Packages et l'ORM Le futur de FuelPHP Questions #FuelRMLL 16/29
  • 17. Syntaxe sexy et concise #FuelRMLL 17/29
  • 18. Utilisation d'un fichier de configuration #FuelRMLL 18/29
  • 19. Exemples de drivers natifs Config : php, yml, json, ini Session : cookie, file, memcached, db, redis Cache : file, memcached, apc, redis Image : gd, imagick, imagemagick View : php Parser : twig, mustache, markdown, smarty, dwoo, haml, phptal #FuelRMLL 19/29
  • 20. Le fichier Config_Json de Fuel PHP #FuelRMLL 20/29
  • 21. Appels statiques et DI Injection de dépendance : choix de l'instance et de sa configuration sans réécrire de code pour celui qui l'utilise #FuelRMLL 21/29
  • 22. Extension d'une classe du Core #FuelRMLL 22/29
  • 23. #FuelRMLL 23/29
  • 24. Sommaire Introduction Oil : la ligne de commande Pourquoi nous aimons FuelPHP Les Packages et l'ORM Le futur de FuelPHP Questions #FuelRMLL 24/29
  • 25. Les Packages et l'ORM Possibilité d'ajouter des packages ● Tous dans fuel/packages/ ● Simple modification dans le fichier de configuration Packages installés de base ● Auth ● Email ● Oil ● Orm ● Parser #FuelRMLL 25/29
  • 26. Les Packages et l'ORM Orm ● Très largement inspiré d'Active Record ● Gère les relations entre objets ● has_one ● belongs_to ● has_many ● many_to_many ● Gère les observers ● Comportement sur les colonnes ● CreatedAt : date de création ● UpdatedAt : date de mise à jour #FuelRMLL 26/29
  • 27. Sommaire Introduction Oil : la ligne de commande Pourquoi nous aimons FuelPHP Les Packages et l'ORM Le futur de FuelPHP Questions #FuelRMLL 27/29
  • 28. Futur de FuelPHP Composer / PSR-1 Package ORM en mode legacy Refactoring Asset / Pagination / Profiler Réécriture de Validation / Form / Fieldset #FuelRMLL 28/29
  • 29. Merci pour votre attention. Des questions ? http://www.fuelphp.com http://www.novius-os.org Sébastien Drouyer : @sdrdis Julian Espérat : @savageman86 Genève 10 juillet 2012 #FuelRMLL 29/29