Lors de mon stage, j'ai eu l'occasion de discuter un peu avec des collègues qui ne développaient toujours pas en PHP. Je me demande pourquoi est-ce l'image de PHP n'est pas aussi « bonne » que celle de Java ?

Cette personne m'a fait un retour d'expérience avec PHP :

« Nous avions commencé un projet en utilisant PHP et cela nous convenait parfaitement car le développement a été rapide, simple et efficace. Mais quelques temps après, le client a demandé certaines évolutions que nous n'étions plus en mesure de développer sur notre application sans devoir tout casser... Du coups, pour éviter de perdre trop de temps dans ce basard, nous avons préféré recommencer l'application en Java. »

Pourquoi avoir craché sur PHP alors que Java n'est pas forcément le meilleur de choix en terme de portabilité et de simplicité ?

PHP et les autres langages

Je ne trouve pas PHP plus anarchique que Java ou .Net. PHP permet cette anarchie mais c'est à vous, architectes, de vous former et de savoir utiliser les bonnes méthodes et outils pour commencer le développement d'un projet évolutif, sécurisé et léger.
Des langages comme Java ou .NET sont beaucoup plus stricts dans les notions de paquetages et obligent les développeurs à garder une certaine rigueur... et encore !

Il faut bien le rappeler, dans tous les langages, les développements peuvent être anarchiques donc ceci n'est pas un reproche majeur à tenir en compte. Question de suivi.

PHP offre aujourd'hui la possibilité d'appliquer les principaux design patterns à vos applications ainsi qu'une implémentation objet du langage même si PHP ne sera jamais un langage 100% objet, mais c'est ce qui fait sa force.

Il est certain que PHP n'atteindra jamais la richesse des paquetages disponibles en Java ou .NET mais le peu qu'il y a est déjà plus que suffisant, et sont de très bonne qualité !

Un site Web, une application GTK ou alors un script shell ?

PHP permet de se répandre un peu partout pour vous suivre dans vos envies (comment je fais mon commercial là ^^). Selon vos besoins, il peut s'adapter très aisément à l'environnement d'exécution.
Il peut intervenir à tous les niveaux de votre application :

  • L'exécution de tâches automatisées CRON ;
  • Des simples scripts CLI de maintenance sur votre serveur ;
  • Des scripts de services toujours exécutés en CLI sur votre serveur ;
  • Pour le développement d'une application fenêtrée GTK ;
  • Le développement d'une application Web aussi simple ou complexe soit-elle ;
  • etc.

Avec PHP, vous pouvez lier une application GTK avec un Web service en passant par vos CRON et shell scripts full PHP. Puissant non ?

Intégration de PHP

Et oui, PHP est maintenant présent dans 95% des packs standard d'hébergement. Trop souvent encore disponible en version 4 et 5, les hébergeurs ont bien compris que ce langage serait celui de demain en ce qui concerne les applications Web. Sa souplesse d'intégration ne vaudra jamais celle de Java ou de .NET car mine de rien, l'avantage majeur est sa popularité.

Via le mode CGI, il peut carrément y avoir plusieurs versions de PHP installées sur le même serveur ou même simplement avec Apache en faisant écouter le serveur sur des ports différents (super pratique en phase de dev') !

Vous utilisez déjà PHP, en version 5.3 ?

Si ça n'est pas le cas, je vous propose de lire un article court mais intéressant sur le gain de performance de la toute dernière version de PHP : Bench PHP 5.2 vs PHP 5.3 par Pascal Martin.

PHP se réserve un bel avenir

Mon but n'est pas de traduire le contenu de cet article mais je vous recommande de le lire. Les points que j'ai estimé manquants ont été écrit ci-dessus (ou pas).