JDN
Développeurs : Parlons d'abord de l'arrivée de
la version finale de PHP 5.0. Pouvez-vous nous donner
les principales raisons de ce changement de version, pour
ceux qui n'ont pas suivi l'évolution. En particulier,
qu'est-ce qui peut justifier de passer de PHP4 à PHP5
?
Cyril PIERRE de GEYER : PHP 5 est une évolution
de PHP qui va simplifier et professionnaliser le développement
d'applications.
Bien que PHP 4 supporte une pléthore de SGBD et de
nombreuses extensions d'interfaçages, il peut arriver
que l'on se retrouve bloqué face à un système propriétaire.
La solution généralement utilisée si aucune connexion
native n'est possible est de passer par des flux XML.
Avec PHP 4 c'était possible mais compliqué.
PHP 5 apporte des nouveautés d'importance côté XML.
D'une part, l'intégration de la librairie libxml2 amène
une implémentation DOM standard et d'autre part SimpleXML
permet de manipuler extrêmement facilement des flux
XML. Dans les cas où SimpleXML ne serait pas adapté,
les fonctionnalités traditionnelles DOM / SAX / SOAP
/ XML-RPC / de PHP permettront de répondre au besoin.
Le changement le plus attendu est le nouveau moteur
de PHP, le Zend Engine 2 qui permet une programmation
orientée objet comparable à celle de Java. Tous les
aficionados de la POO devraient s'y retrouver.
Enfin la nouvelle base de données embarquée dans PHP
5 : SQLite devrait donner une nouvelle envergure aux
applications de type client riche.
Avec toutes ces améliorations PHP s'apparente désormais
plus à une plate-forme d'entreprise qu'à un simple
langage de programmation. Pourquoi ? Tout d'abord c'est
un langage évolué. Ensuite, PHP ne se limite pas à la
production d'une seule interface pour exposer sa logique
métier. Il est possible d'utiliser PHP pour faire une
sortie HTML mais également pour des clients riches,
pour des webservices, pour des fichiers Word, open office
et PDF et même en ligne de commande.
En quoi ces évolutions aideront
les développeurs à mieux travailler au quotidien ?
Bien qu'autorisant toujours la programmation procédurale
classique, PHP rend maintenant envisageables des développements
Objets complets sans limitation. Les avancées sur ce
modèle et les nouvelles fonctionnalités comblent l'essentiel
des différences sur ce sujet vis à vis des langages
plus réputés comme Java.
Par ailleurs, les nombreuses nouvelles fonctionnalités
vont aider le développeur à augmenter sa productivité.
On peut particulièrement penser aux interfaces XML qui
ont été complètement refaites.
Quel
sera, selon vous, le temps d'adoption de cette nouvelle
version par les hébergeurs et les entreprises ?
Le temps d'adoption d'une nouvelle version, même majeure,
est toujours long.
La migration des anciennes applications risque de prendre
du temps mais étant donné les améliorations notables
de PHP5 il y a de fortes chances pour que son adoption
soit rapide pour les nouveaux développements dans les
entreprises. Plus on sera dans un contexte d'applications
pointues et professionnelles, plus ce sera rapide.
Sera-t-il toujours possible
de faire du PHP4 sur un serveur ne disposant que de
PHP5 ?
Bien sûr. En fait pour tout ce qui ne touche pas
à la programmation objet, cela sera compatible. Par
contre, si vous avez utilisé les Objets de la version
4, il peut y avoir quelques modifications nécessaires
pour migrer. Cela dit, il existe une directive de configuration
(zend.ze1_compatibility_mode)
qui permet de garder l'ancien comportement sur la gestion
des objets.
De toutes façons, le portage des applications non compatibles
ne devrait pas être très long. Les scripts posant réellement
de gros problèmes de transition devraient être rares.
On dit que PHP5 cherche
avant tout à se rapprocher de Java. Est-ce une affirmation
justifiée ?
PHP s'est rapproché de Java de deux façons. La première
au niveau compatibilité et interactions. La seconde
au niveau du code.
L'année dernière déjà lors des Java Days, Zend (la
principale société derrière PHP) et Sun ont signé un
accord de partenariat pour développer une extension
permettant à leurs deux technologies d'interagir.
Lors de la conférence PHPQuebec, un développeur de Zend
m'a annoncé que l'extension était en phase d'assurance
qualité et que sa sortie devrait suivre celle de PHP5.
Ceci dit, je pense que la question était plutôt en
rapport avec le nouveau modèle Objet de PHP 5. Effectivement,
il y a un rapprochement puisque les deux se ressemblent
beaucoup. Mais PHP 5 ne se limite pas à la programmation
Orientée-Objet. Comme .Net, PHP accepte plusieurs langages
de programmation (script, Objet).
PHP, par sa facilité, a
souvent été mis dans la section des langages de prototypage
: il faut ensuite terminer l'application dans un langage
plus "robuste". Pensez-vous que PHP5 pourra faire disparaître
l'idée qu'il ne s'agirait pas d'un "vrai" langage comme
Java (avec J2EE) ou C# (avec ASP.NET) aux yeux de certains
professionnels ?
C'est l'une des forces de PHP qui l'a amené à être déconsidéré
: c'est un outil qui se veut facile de prise en main.
C'est vrai qu'avec PHP, vous pourrez commencer à faire
des applications simples après seulement quelques jours
d'apprentissage. De nombreuses personnes se sont arrêtées
là et ne savent pas qu'il est possible d'aller beaucoup
plus loin : générer des images, utiliser des webservices,
se connecter à quasiment toutes les bases de
données du marché, créer des clients riches avec phpGTK,
interagir avec Java/Word/Excel/PDF, traiter des fichiers
XML,...
|
|
Le
vrai manque de PHP 4 est dans la programmation
orientée objets. Ce n'est plus vrai avec PHP
5. |
|
Le vrai manque de PHP 4 est dans la programmation orientée
objets. Ce n'est plus vrai avec PHP 5.
Concernant la robustesse et les performances de PHP,
j'invite toutes les personnes qui doutent à consulter
le livre blanc de l'AFUP. On y apprend notamment que
6 des 10 plus gros sites français en terme de volumétrie
utilisent PHP et que c'est la technologie dynamique
la plus utilisée sur Internet devant ASP.net et Java.
Bref, s'il existe encore des gens qui doutent de PHP,
c'est qu'ils ne se sont pas suffisamment intéressés
au sujet.
Vous êtes co-auteur, avec
Eric Daspet, du livre "PHP5 avancé" aux Editions Eyrolles.
C'est l'un des premiers titres en français sur PHP5.
Quel est selon vous son (petit ou gros) "plus" par rapport
à la flopée d'ouvrages qui ne manquera pas d'être publiée
dans les mois qui viennent ?
L'arrivée de PHP 5 n'a été qu'un prétexte à l'écriture
de ce livre. Eric est très versé dans le respect des
normes et son expertise technique est très forte. De
mon coté mon expérience de développement et de formation
chez Anaska me donne une approche à la fois technique
et pédagogue.
Nous sommes extrêmement impliqués dans la communauté
française et de là découle un autre avantage
c'est que le livre est écrit par des Français pour des
Français (chiffres, sites de références, retours d'expériences,
...).
Nous voulions un livre qui se veut être un compagnon
de travail. Un livre qui ne soit pas une copie de l'excellente
documentation en ligne mais un ouvrage de référence
qu'on garde toujours à portée de main.
Nous avons finalisé l'écriture après la Release Candidate
2 de PHP 5 (25/04/04), à un moment où l'équipe avait
décidé de ne plus faire que de la correction de bugs
et ne rien changer aux fonctionnalités. Nous avons attendu
d'être certains que rien ne rendrait le livre obsolète
avant de le faire imprimer.
Vous êtes également président
de l'AFUP. Quel est son rôle et en quoi le développeur
PHP lambda peut-il profiter de son existence ?
L'association française des utilisateurs de PHP (www.afup.org)
a pour objectif de promouvoir le PHP. Nous avons de
nombreuses activités dont les principales sont la réalisation
du livre blanc de l'AFUP (http://www.afup.org/wp.pdf)
qui fait un état de l'art de PHP en France et l'organisation
du Forum PHP (18 et 19 novembre 2004).
Le développeur lambda, en cotisant à l'association,
nous aide à avoir les moyens de communiquer sur PHP
et d'en faire la promotion. Il a également accès à une
liste de diffusion et est tenu au courant des informations
PHP en avance.
|