PHP, un langage rétro moderne

J’ai écrit cette tribune pour le compte du bureau de l’AFUP pour un journal en ligne avant la tenue du forum PHP 2014 (celui ci est donc évoqué au futur). Elle n’a malheureusement pas été retenue. Peut-être me direz-vous pourquoi ? 🙂

Le langage PHP fêtera ses 20 ans en 2015. Il est à peu près aussi âgé que l’Internet.

Aujourd’hui PHP est le langage qui propulse le web, avec plus de 80% de part de marché et une croissance constante. Certains outils comme WordPress revendiquent à eux seuls près de 20% de part de marché.

PHP est un survivant des langages internet. Sa mascotte est naturellement un éléphant (un éléPHPant !) : PHP est un poids lourd, un incontournable si on veut travailler dans le web. Enfin, aujourd’hui, sa flexibilité lui permet d’opérer en dehors du périmètre web et plus aucune DSI ne peut l’ignorer.

Comment ce langage venu des temps pré-internet a t’il pu survivre face à l’effervescence du milieu ? Et pourquoi, 20 ans après, PHP est toujours le premier à l’arrivée  ?

Rétro

Il y a 15 ans, PHP était déjà un choix technologique raisonnable et intéressant.

PHP disposait déjà de très sérieux atouts :

  •      Un langage s’intégrant facilement dans du html,
  •      Des scripts s’exécutant sans compilation,
  •      Simple à apprendre et simple à héberger sur les systèmes mutualisés de l’époque,
  •      Open source et gratuit, multiplateforme et interopérable avec les infrastructures COM, .Net et Java.

Bien que ne présentant pas de modèle objet abouti et des performances brutes peu élevées ;  à partir de la version 4, livrée le 22 Mai 2000, de très nombreux développeurs ont commencé à utiliser le langage.

Car PHP est arrivé à un moment clé du web, où il fallait maximiser sa présence sur internet, de façon rapide et efficace.

Moderne

Avec la version 5.3 sortie le 30 juin 2009,  PHP – alors déjà majoritaire sur les serveurs web – a pris un virage résolument moderne en se dotant d’un modèle objet abouti et d’espaces de noms, permettant une explosion des contributions Open Source.

Les frameworks professionnels (comme Zend Framework, Cake PHP, Symfony) ont commencé à apparaître dès 2006 mais se popularisent fortement à cette période.

L’apparition de composer, un outil de packaging efficace et accessible, et remplaçant un PEAR vieillissant, vient compléter le tableau.  Le nombre de librairies sur packagist, à portée de clic de tous les développeurs, explose et atteint 40 000 aujourd’hui. C’est bien grâce aux fonctionnalités de PHP 5.3 (qui auraient sûrement du être PHP 6) que se créent les initiatives comme le PHP FIG visant à rendre les frameworks interopérables.

Les grands services PAAS (Windows Azure, Google Cloud Engine, Heroku …) proposent tous la compatibilité avec PHP. Tous les services majeurs sur le cloud (comme Amazon Web Service) fournissent un SDK en PHP.

Au fil des versions mineures de PHP, les performances sont fortement améliorées notamment au passage à PHP 5.4 et avec OPCache en PHP 5.5.

Enfin, un plan de release de versions excessivement lisible, incluant la certitude qu’un code restera compatible entre différentes versions de PHP 5, est mis en œuvre par les contributeurs au langage.

Tout en conservant l’ensemble des atouts de sa jeunesse, PHP a atteint sa pleine maturité et est une option incontournable pour les projets webs.

PHP reste retro : on peut toujours faire un script en 30s, l’uploader sur un serveur et ça marche ! Mais on peut aussi utiliser un framework complet, des tests unitaires, de l’intégration continue, du déploiement automatisé, un ORM etc. PHP est un langage rétro-moderne !

Enjeux autours de l’évolution de PHP

PHP est un standard industriel de fait. Les enjeux autour de son évolution sont maintenant les suivants :

La communauté

Se repérer au sein des différents projets PHP, outils et frameworks est un enjeu important pour les acteurs de la communauté PHP.  Ainsi au Forum PHP qui aura lieu à Paris les 23 et 24 octobre prochains, plusieurs core-développeurs des solutions les plus populaires sur PHP seront présents pour les présenter en personne : Laravel (un framework très populaire aux USA), Composer, CakePHP, WordPress, ezPublish, Sculpin…

Le partage de retours d’expériences

Les sujets forts du moment sont la cohabitation avec d’autres langages (au forum PHP, un retour d’expérience sur NodeJs et PHP au monde.fr est proposé), les problématiques devops (plusieurs conférences sont proposées sur docker, logstash, puppet, le monitoring, …), les tests et la qualité logiciel ainsi que sur des problématiques “fort trafic” (BlablaCar, VDM, JournalDuNet, L’Express, Maisons du Monde, Arte seront présents au forum PHP).

Le moteur du langage

PHP fonctionne sur un moteur Open Source (Zend Engine) mais d’autres acteurs comme Facebook avec HHVM et la communauté Python avec HippyVm proposent aujourd’hui de nouveaux moteurs PHP. Chacun annonce d’excellentes performances. Le PHP Group (auquel l’AFUP participe à titre consultatif) propose un profond refactoring du moteur, prévu pour la prochaine version majeure du langage.

Afin d’éclairer la communauté sur l’avenir du langage, une table ronde sera proposée avec comme participants, des contributeurs au cœur de PHP.

A propos de l’AFUP

L’AFUP, Association Francaise des Utilisateurs de PHP, est une association de loi 1901 dont le principal objectif consiste a promouvoir PHP auprès des professionnels et participer a son développement. Dans cette optique, l’AFUP organise depuis 2001 des rencontres a Paris et en Région, qui favorisent l’échange d’expertises.

A propos de l’auteur

Olivier Mansour est développeur chez M6Web, en charge en particulier des applications 6play et du second écran pour la chaine M6. Il a été président de l’AFUP en 2013.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s