SlideShare una empresa de Scribd logo
1 de 50
PHP, ce truc de vieux
ou pas ?
@omansour
https://toggl.com/programming-princess
PHP : Personal Home Page
Tools
Crée par Rasmus Lerdorf (étudiant)
Juin 1995 - "La syntaxe elle-même était similaire à celle
du Perl, bien que beaucoup plus limitée, plus simple, et
un peu incohérente"
(http://php.net/manual/fr/history.php.php)
mai 1998 : 1% des serveurs utilisaient PHP/FI
PHP 3 => première version de
PHP
juin 1998
extensions en C, se
connecte à tout !
projet universitaire de Andi
Gutmans et Zeev Zuraski
mod Apache
10% des serveurs web
1998 !!!
PHP : PSD => Macromedia
Fireworks <table> pixel.gif .php
édition courageuse des fichiers
et insertion du PHP
Pendant ce temps :
Java : JSE 1.2 (JIT, Swift,
etc…)
Python 1.5
PHP 4 => les outils
mi 1999 : Zend Engine
2000 - 2001 :
Wordpress, Drupal,
Joomla (Mambo) etc.
DRUPALCONN 2014 - Austin, USA
PHP 5(.3) => explosion de
l’OSS
2004 : PHP 5.0
Zend Engine 2 + OOP
2009 : PHP 5.3
les espaces de nom,
closures
http://www.journaldunet.com/developpeur/php/xavier-lacot-forum-php-2012.shtml
PHP 5.x => l’accélération et les
frameworks
2011 : premier commit sur
packagist
2012 : PHP 5.4 opcache
2013 : PHP 5.5 generator,
finaly
PSR, adoption de composer,
intégration des frameworks
dans les outils
PHP 7 => mind = blow
fin 2015 : sortie de PHP
7.0
double les perfs
scalar + return type
declarations, classes
anonymes etc…
PAGES - TOOLS - FRAMEWORKS
“PHP has 100% market share in the
porn industry. And that makes a lot
of PHP.”
Rasmus Lerdorf - 2012
PHP est un langage
d’amateur
bourré de faille de
sécurité
lent
n’est pas “enterprise
ready”
Il y a une instruction goto
“fractal of bad design"
“The PHP singularity"
“PHP is meant to die”
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ (2012)
https://blog.codinghorror.com/the-php-singularity/ (2012)
https://software-gunslinger.tumblr.com/post/47131406821/php-is-meant-to-die (2013)
Vous devez arrêter de faire du
PHP pour …
JAVA / Python (2000)
Ruby on Rails (2005)
Javascript / NodeJS (2013)
Golang (2016)
Clojure, Haskell, Erlang (next ?)
PHP est très simple ! (dev +
architecture)
super stable + BC
compatibility
Les facteurs externes sont au
top
* hébergement
* open source, docs,
communauté
* libs
* recrutement
“taking PHP seriously”
“PHP the right way”
“Ewww, you use PHP
?”
https://www.infoq.com/presentations/php-history (2013)
http://www.phptherightway.com/
https://blog.mailchimp.com/ewww-you-use-php/ (2014)
“J’ai migré un drupal 4 monolithique
pas maintenu depuis 2 ans en
micro services nodeJS”
conclusion : Javascript > PHP
Les développeurs
Aiment être utile
Aiment la nouveauté, apprendre
Ont une vision sur ce qu’il faut faire
Ont des préférences, des habitudes
Connaissent les détails
https://www.sitepoint.com/phps-creator-rasmus-lerdorf/5/
Rasmus : “I hate
programming”
“Ultimately all language issues get
settled when users vote with their
feet.”
Tcl War of 1994 - John Ousterhout’s (who created
Tcl)
“Le mieux est l’ennemi du
bien.”
Voltaire - 1772
Le plus dur pour un architecte est
de trouver les meilleurs
compromis.
(et de nommer les choses, voire d’invalider le cache
;) )
PHP @ m6web (6play)
PHP7, Symfony, composer,
satis, atoum, …
fast API
~ 20 développeurs
bo, commandes, démons,
web apps
CI, TU, 15 déploiements par
jour
http://tech.m6web.fr/video-phptour-worker-php/
Faut il tout changer et
prendre des risques pour
10% de rps ?
Ou 10% sur le hardware.
“Une superbe stack que
personne ne comprend, ne sert à
rien.”
Olivier Mansour - BlendWebMix 2016
Jusqu’ici, le langage choisi
n’a pas été un frein.
Mais on a bossé un peu … quand même.
http://tech.m6web.fr/la-poo-canada-dry
Qu’est ce qui est important ?
(l’amour bien sur)
“Languages, libraries and
frameworks don't scale.
Architectures do.”
Cal Henderson - CTO @ slack
scalability != performance
Take PHP seriously
avec un framework (?!?!!!!!!!!)
des pratiques modernes (micro service, TDD, CI,
profiling, monitoring, …)
avec les pieds des développeurs !
https://hackernoon.com/ruby-vs-python-the-definitive-faq-5cb0046292be
PHP sucks !?
PHP est à double tranchant
N’est pas un langage pour débuter !
Il faut ouvrir ses yeux (et ses oreilles) et ne pas rester sur ses
acquis
Les problèmes sont résolus (manque de challenge ?)
programmation fonctionnelle, immutabilité, multi-threading, etc
… :/
“Ça, c’est une truelle loulou
!”
Valérie D.
PHP is the new JAVA
C’est un truc de vieux ! Et tant mieux !
PHP n’est PAS un mauvais choix (en lui même)
Pour M6 Web c’est “bien” et pour vous ?
Il faut le challenger
Javascript !!!!!!
Le futur de PHP est (toujours)
radieux
PHP a 20 ans,
La roadmap est pleine ! Les contributeurs OSS sont
chauds,
L’évolution des outils et des frameworks continus,
PHP will no more die (reactphp / kraken).
“That’s
rocket
science”
oui, en 2016 !
Merci !
http://tech.m6web.fr/jobs
@techm6web
@omansour

Más contenido relacionado

Destacado

Mindmap Rotter & Mischel
Mindmap Rotter & MischelMindmap Rotter & Mischel
Mindmap Rotter & MischelSherlyn Sense
 
Behat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatBehat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatSamuel ROZE
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Colin O'Dell
 
Teoría de cognicion social
Teoría de cognicion socialTeoría de cognicion social
Teoría de cognicion socialAl Cougar
 

Destacado (7)

Mindmap Rotter & Mischel
Mindmap Rotter & MischelMindmap Rotter & Mischel
Mindmap Rotter & Mischel
 
Behat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatBehat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than that
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015
 
The Commando Devops
The Commando DevopsThe Commando Devops
The Commando Devops
 
Amazon EC2:Masterclass
Amazon EC2:MasterclassAmazon EC2:Masterclass
Amazon EC2:Masterclass
 
Teoría de cognicion social
Teoría de cognicion socialTeoría de cognicion social
Teoría de cognicion social
 
100 preguntas-sobre-sexualidad-adolescente
100 preguntas-sobre-sexualidad-adolescente100 preguntas-sobre-sexualidad-adolescente
100 preguntas-sobre-sexualidad-adolescente
 

Similar a PHP, ce truc de vieux

AFUP & PHP @ Supelec
AFUP & PHP @ SupelecAFUP & PHP @ Supelec
AFUP & PHP @ Supelecjulien pauli
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPjulien pauli
 
PHP : Une Plateforme Industrialisable Au Service De L'Agilité
PHP : Une Plateforme Industrialisable Au Service De L'AgilitéPHP : Une Plateforme Industrialisable Au Service De L'Agilité
PHP : Une Plateforme Industrialisable Au Service De L'AgilitéPHPPRO
 
Haxe 4, un Typescript pour PHP ?
Haxe 4, un Typescript pour PHP ?Haxe 4, un Typescript pour PHP ?
Haxe 4, un Typescript pour PHP ?François Barbut
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 
Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp Tunisie
 
Ecrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenableEcrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenableChristophe Villeneuve
 
cours-gratuit.com--coursMySql-id2218.pdf
cours-gratuit.com--coursMySql-id2218.pdfcours-gratuit.com--coursMySql-id2218.pdf
cours-gratuit.com--coursMySql-id2218.pdfGroupeExcelMarrakech
 
Phpotes #1 - 10.09.13
Phpotes #1 - 10.09.13Phpotes #1 - 10.09.13
Phpotes #1 - 10.09.13AnDaolVras
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blogPHPPRO
 
Symfony2 Presentation
Symfony2 PresentationSymfony2 Presentation
Symfony2 Presentationyllieth
 
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
Annexe1   éTude Comparative Sur Les Moteurs De RechercheAnnexe1   éTude Comparative Sur Les Moteurs De Recherche
Annexe1 éTude Comparative Sur Les Moteurs De RechercheMohamed Ben Bouzid
 
PhPotes: Drupal
PhPotes: DrupalPhPotes: Drupal
PhPotes: DrupalAnDaolVras
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 eechdalel
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 

Similar a PHP, ce truc de vieux (20)

AFUP & PHP @ Supelec
AFUP & PHP @ SupelecAFUP & PHP @ Supelec
AFUP & PHP @ Supelec
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
 
PHP : Une Plateforme Industrialisable Au Service De L'Agilité
PHP : Une Plateforme Industrialisable Au Service De L'AgilitéPHP : Une Plateforme Industrialisable Au Service De L'Agilité
PHP : Une Plateforme Industrialisable Au Service De L'Agilité
 
43_pps.pdf
43_pps.pdf43_pps.pdf
43_pps.pdf
 
Haxe 4, un Typescript pour PHP ?
Haxe 4, un Typescript pour PHP ?Haxe 4, un Typescript pour PHP ?
Haxe 4, un Typescript pour PHP ?
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php
 
Ecrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenableEcrire et déployer une appli PHP maintenable
Ecrire et déployer une appli PHP maintenable
 
cours-gratuit.com--coursMySql-id2218.pdf
cours-gratuit.com--coursMySql-id2218.pdfcours-gratuit.com--coursMySql-id2218.pdf
cours-gratuit.com--coursMySql-id2218.pdf
 
Phpotes #1 - 10.09.13
Phpotes #1 - 10.09.13Phpotes #1 - 10.09.13
Phpotes #1 - 10.09.13
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blog
 
Lp web tp3_idse
Lp web tp3_idseLp web tp3_idse
Lp web tp3_idse
 
Symfony2 Presentation
Symfony2 PresentationSymfony2 Presentation
Symfony2 Presentation
 
Symfony à la télé
Symfony à la téléSymfony à la télé
Symfony à la télé
 
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
Annexe1   éTude Comparative Sur Les Moteurs De RechercheAnnexe1   éTude Comparative Sur Les Moteurs De Recherche
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
 
PhPotes: Drupal
PhPotes: DrupalPhPotes: Drupal
PhPotes: Drupal
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
Conference Php Web Services
Conference Php Web ServicesConference Php Web Services
Conference Php Web Services
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 

Más de Olivier Mansour

Le second écran chez M6Web, another (php) brick in the wall !
 Le second écran chez M6Web, another (php) brick in the wall ! Le second écran chez M6Web, another (php) brick in the wall !
Le second écran chez M6Web, another (php) brick in the wall !Olivier Mansour
 
Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Olivier Mansour
 
Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Olivier Mansour
 
Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Olivier Mansour
 
Acheter des prestations IT et web
Acheter des prestations IT et webAcheter des prestations IT et web
Acheter des prestations IT et webOlivier Mansour
 

Más de Olivier Mansour (6)

Devfacts are coming
Devfacts are comingDevfacts are coming
Devfacts are coming
 
Le second écran chez M6Web, another (php) brick in the wall !
 Le second écran chez M6Web, another (php) brick in the wall ! Le second écran chez M6Web, another (php) brick in the wall !
Le second écran chez M6Web, another (php) brick in the wall !
 
Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013
 
Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013
 
Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013
 
Acheter des prestations IT et web
Acheter des prestations IT et webAcheter des prestations IT et web
Acheter des prestations IT et web
 

PHP, ce truc de vieux

  • 1. PHP, ce truc de vieux ou pas ? @omansour
  • 2.
  • 3.
  • 4.
  • 5.
  • 7. PHP : Personal Home Page Tools Crée par Rasmus Lerdorf (étudiant) Juin 1995 - "La syntaxe elle-même était similaire à celle du Perl, bien que beaucoup plus limitée, plus simple, et un peu incohérente" (http://php.net/manual/fr/history.php.php) mai 1998 : 1% des serveurs utilisaient PHP/FI
  • 8. PHP 3 => première version de PHP juin 1998 extensions en C, se connecte à tout ! projet universitaire de Andi Gutmans et Zeev Zuraski mod Apache 10% des serveurs web
  • 9. 1998 !!! PHP : PSD => Macromedia Fireworks <table> pixel.gif .php édition courageuse des fichiers et insertion du PHP Pendant ce temps : Java : JSE 1.2 (JIT, Swift, etc…) Python 1.5
  • 10. PHP 4 => les outils mi 1999 : Zend Engine 2000 - 2001 : Wordpress, Drupal, Joomla (Mambo) etc.
  • 11. DRUPALCONN 2014 - Austin, USA
  • 12. PHP 5(.3) => explosion de l’OSS 2004 : PHP 5.0 Zend Engine 2 + OOP 2009 : PHP 5.3 les espaces de nom, closures http://www.journaldunet.com/developpeur/php/xavier-lacot-forum-php-2012.shtml
  • 13. PHP 5.x => l’accélération et les frameworks 2011 : premier commit sur packagist 2012 : PHP 5.4 opcache 2013 : PHP 5.5 generator, finaly PSR, adoption de composer, intégration des frameworks dans les outils
  • 14. PHP 7 => mind = blow fin 2015 : sortie de PHP 7.0 double les perfs scalar + return type declarations, classes anonymes etc…
  • 15. PAGES - TOOLS - FRAMEWORKS
  • 16. “PHP has 100% market share in the porn industry. And that makes a lot of PHP.” Rasmus Lerdorf - 2012
  • 17.
  • 18.
  • 19. PHP est un langage d’amateur bourré de faille de sécurité lent n’est pas “enterprise ready” Il y a une instruction goto “fractal of bad design" “The PHP singularity" “PHP is meant to die” https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ (2012) https://blog.codinghorror.com/the-php-singularity/ (2012) https://software-gunslinger.tumblr.com/post/47131406821/php-is-meant-to-die (2013)
  • 20. Vous devez arrêter de faire du PHP pour … JAVA / Python (2000) Ruby on Rails (2005) Javascript / NodeJS (2013) Golang (2016) Clojure, Haskell, Erlang (next ?)
  • 21.
  • 22. PHP est très simple ! (dev + architecture) super stable + BC compatibility Les facteurs externes sont au top * hébergement * open source, docs, communauté * libs * recrutement “taking PHP seriously” “PHP the right way” “Ewww, you use PHP ?” https://www.infoq.com/presentations/php-history (2013) http://www.phptherightway.com/ https://blog.mailchimp.com/ewww-you-use-php/ (2014)
  • 23.
  • 24. “J’ai migré un drupal 4 monolithique pas maintenu depuis 2 ans en micro services nodeJS” conclusion : Javascript > PHP
  • 25.
  • 26.
  • 27. Les développeurs Aiment être utile Aiment la nouveauté, apprendre Ont une vision sur ce qu’il faut faire Ont des préférences, des habitudes Connaissent les détails
  • 29. “Ultimately all language issues get settled when users vote with their feet.” Tcl War of 1994 - John Ousterhout’s (who created Tcl)
  • 30. “Le mieux est l’ennemi du bien.” Voltaire - 1772
  • 31. Le plus dur pour un architecte est de trouver les meilleurs compromis. (et de nommer les choses, voire d’invalider le cache ;) )
  • 32. PHP @ m6web (6play) PHP7, Symfony, composer, satis, atoum, … fast API ~ 20 développeurs bo, commandes, démons, web apps CI, TU, 15 déploiements par jour
  • 33.
  • 35. Faut il tout changer et prendre des risques pour 10% de rps ? Ou 10% sur le hardware.
  • 36. “Une superbe stack que personne ne comprend, ne sert à rien.” Olivier Mansour - BlendWebMix 2016
  • 37. Jusqu’ici, le langage choisi n’a pas été un frein. Mais on a bossé un peu … quand même.
  • 39. Qu’est ce qui est important ? (l’amour bien sur)
  • 40.
  • 41.
  • 42. “Languages, libraries and frameworks don't scale. Architectures do.” Cal Henderson - CTO @ slack scalability != performance
  • 43. Take PHP seriously avec un framework (?!?!!!!!!!!) des pratiques modernes (micro service, TDD, CI, profiling, monitoring, …) avec les pieds des développeurs !
  • 45. PHP sucks !? PHP est à double tranchant N’est pas un langage pour débuter ! Il faut ouvrir ses yeux (et ses oreilles) et ne pas rester sur ses acquis Les problèmes sont résolus (manque de challenge ?) programmation fonctionnelle, immutabilité, multi-threading, etc … :/
  • 46. “Ça, c’est une truelle loulou !” Valérie D.
  • 47. PHP is the new JAVA C’est un truc de vieux ! Et tant mieux ! PHP n’est PAS un mauvais choix (en lui même) Pour M6 Web c’est “bien” et pour vous ? Il faut le challenger Javascript !!!!!!
  • 48. Le futur de PHP est (toujours) radieux PHP a 20 ans, La roadmap est pleine ! Les contributeurs OSS sont chauds, L’évolution des outils et des frameworks continus, PHP will no more die (reactphp / kraken).