rmll 2012 - conférence fuelphp
DESCRIPTION
L'équipe Novius OS a animé aux 13ème Rencontres Mondiales du Logiciel Libre à Genève une conférence dédiée au framework FuelPHP.FuelPHP est un nouveau framework PHP, poussé par sa communauté et à la personnalité forte : "lightweight, load what you need and configuration over convention. No automagic here !". FuelPHP sera-t-il à PHP ce que Rails est à Ruby, un framework sexy et à succès ? Pendant cette conférence, nous regarderons de plus près ce qui différencie PHP des autres frameworks et pourquoi il a beaucoup fait parler de lui. Nous nous pencherons aussi sur le futur du framework, qu’en attendre dans les mois et années à venir.TRANSCRIPT
1/29#FuelRMLL
13e Rencontres Mondiales du Logiciel Libre FuelPHP : A framework, yes – Automagic, no!
Julian EspératSébastien Drouyer
Genève10 juillet 2012
2/29#FuelRMLL
Vos questions sur Twitter #FuelRMLL
3/29
#FuelRMLL
Sommaire
Introduction
Oil : la ligne de commande
Pourquoi nous aimons FuelPHP
Les Packages et l'ORM
Le futur de FuelPHP
Questions
4/29
#FuelRMLL
Conférenciers
Sébastien Drouyer@sdrdis
Julian Espérat@savageman86
5/29
#FuelRMLL
À 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).
6/29
#FuelRMLL
À 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.
7/29
#FuelRMLL
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
8/29
#FuelRMLL
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
9/29
#FuelRMLL
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!
10/29
#FuelRMLL
Inspiration des autres frameworks
Simplicité
Léger et rapide
Facile à apprendre
Peu de dépendances serveur
11/29
#FuelRMLL
Inspiration des autres frameworks
Flexibilité dans la structure des fichiers
Hiérarchie des répertoires
Excellent Query Builder
12/29
#FuelRMLL
Inspiration des autres frameworks
Ligne de commande
Migrations
Scaffolding
ORM (Active Record)
13/29
#FuelRMLL
Inspiration des autres frameworks
HMVC / REST
Templates
Authentification / ACL
Envoi de mail
14/29
#FuelRMLL
Sommaire
Introduction
Oil : la ligne de commande
Pourquoi nous aimons FuelPHP
Les Packages et l'ORM
Le futur de FuelPHP
Questions
15/29
#FuelRMLL
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
16/29
#FuelRMLL
Sommaire
Introduction
Oil : la ligne de commande
Pourquoi nous aimons FuelPHP
Les Packages et l'ORM
Le futur de FuelPHP
Questions
17/29
#FuelRMLL
Syntaxe sexy et concise
18/29
#FuelRMLL
Utilisation d'un fichier de configuration
19/29
#FuelRMLL
Exemples de driversnatifs
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
20/29
#FuelRMLL
Le fichier Config_Json de Fuel PHP
21/29
#FuelRMLL
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
22/29
#FuelRMLL
Extension d'une classe du Core
23/29
#FuelRMLL
24/29
#FuelRMLL
Sommaire
Introduction
Oil : la ligne de commande
Pourquoi nous aimons FuelPHP
Les Packages et l'ORM
Le futur de FuelPHP
Questions
25/29
#FuelRMLL
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
● Oil
● Orm
● Parser
26/29
#FuelRMLL
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
27/29
#FuelRMLL
Sommaire
Introduction
Oil : la ligne de commande
Pourquoi nous aimons FuelPHP
Les Packages et l'ORM
Le futur de FuelPHP
Questions
28/29
#FuelRMLL
Futur de FuelPHP
Composer / PSR-1
Package ORM en mode legacy
Refactoring Asset / Pagination / Profiler
Réécriture de Validation / Form / Fieldset
29/29#FuelRMLL
Merci pour votre attention. Des questions ?
http://www.fuelphp.com http://www.novius-os.org
Sébastien Drouyer : @sdrdis Julian Espérat : @savageman86
Genève10 juillet 2012