INTERVIEWS 
 
Jérôme Grondin
Ingénieur d'Etude
Apside
Jérôme Grondin (Aspide)
"Le remoting de Flash est trop peu utilisé face au couple HTML/JavaScript"
A l'origine utilisateur de Java, Jérôme Grondin est depuis passé au XHTML et au Flash, couplé à PHP. Il favorise les applications conçues pour le navigateur Web.
26/01/2006
 
JDN Développeurs. Depuis quand développez-vous pour le navigateur ?
  En savoir plus
 Apside Technologies
Dossier Réaliser, maintenir et faire évoluer ses sites Web pro
  Le site
Apside.fr
Jérôme Grondin. J'utilise le navigateur comme plate-forme de développement depuis 4 ans, principalement pour des applications Web. J'ai commencé par concevoir des interfaces de monitoring système et réseaux pour le groupe RTL. Depuis quelque temps, je développe essentiellement des applications de gestion de site Internet. Je travaille aujourd'hui sur le back-office du futur site de l'offre grand public de l'INA.

Quels sont les problèmes les plus récurrents lors de développements Web ?
L'ergonomie est certainement le point le plus important à mes yeux. Il est très difficile de produire une application Web ergonomique, simple, et aussi interactive qu'une application "lourde". Un autre point : parvenir à faire fonctionner l'application indifféremment sur n'importe quel navigateur, de n'importe quel système. Le débogage d'applications Web est un vrai casse-tête si on ne met pas en place dès le début des développements un certain nombre de règles.

Qu'est-ce qui vous a décidé à privilégier le navigateur Web plutôt qu'une technologie comme Java ?
La première application que j'ai dû créer devait être accessible de n'importe quel endroit dans l'entreprise, à partir d'un Palm, ou d'un PC. Après étude de plusieurs solutions, l'application Web est apparue comme la meilleure alternative, car elle était rapide, sécurisée, et facilement déployable.
Pourtant, je développais uniquement en Java, aussi bien du J2SE que du J2EE en passant par du J2ME. C'est un langage formidable, très bien conçu et structuré, mais il est parfois difficile d'entrer dans ce monde Java un peu hermétique. Le plus gros point négatif que je peux reprocher aux applications lourdes, c'est leur vitesse d'exécution, et la difficulté à déployer une nouvelle version. Avec une application Web, j'ai simplement besoin d'un navigateur, et d'un raccourci.

Quelles sont les technologies que vous choisissez au quotidien ?
J'utilise principalement du PHP sur architecture LAMP, le tout produisant un code XHTML/Javascript habillé par des CSS. J'utilise beaucoup le remote scripting, qui permet une réelle interactivité entre l'utilisateur et l'application. Le DOM me permet de modifier mon document à la volée, en toute transparence, simplement en appelant des scripts PHP qui me renvoient du XHTML. J'utilise du Flash avec Remoting pour produire rapidement une version de démonstration d'une application. J'utilise également PHP en ligne de commande pour créer de véritables démons système sous Linux, par exemple pour une application pour RTL qui surveille en temps réel la connectivité de leurs 40 sites de province ainsi que leurs serveurs de production.

Flash vous sert-il à autre chose que la création de prototypes ?
Flash est bien entendu un outil majeur qui permet de créer des applications ergonomiques et intuitives en un temps record. Je trouve en particulier que le Flash Remoting est une technologie très intéressante et très puissante : coupler mes classes PHP avec une interface utilisateur en Flash ouvre de nouveaux horizons en matière d'applications Web.
Mais trop peu d'entreprises utilisent cette technologie méconnue, au profit du HTML/Javascript, parfois plus lourd à mettre en place pour arriver aux mêmes résultats.

Le passage à PHP5 signifiera pour l'entreprise un renouvellement de son contrat PHP"
Quel avenir donnez-vous aux langages comme XUL ou le futur XAML ?
L'évolution générale du développement Web tend vers des langages XML comme XUL ou XAML. Nous n'utiliserons probablement plus des langages fonctionnels comme peuvent l'être PHP, mais plutôt des langages descriptifs qui permettront sans doute à des néophytes en développement de produire des interfaces de saisie ou de gestion rapidement, à la manière d'Access aujourd'hui.
L'avantage certain de ces langages est de percevoir l'application Web comme une application à part entière au sein du navigateur. Le problème à l'heure actuelle est évidemment de savoir quelle technologie l'emportera sur l'autre.

Quelles sont les limites d'un tel mode de développement ? Comment les avez-vous résolues ?
Le gros problème des applications Web, c'est bien entendu qu'on ne peut pas tout faire avec. L'application Web est restreinte au seul cadre du navigateur et doit évoluer avec celui-ci. Il faut donc en permanence veiller à ce que les nouvelles versions de navigateur fonctionnent avec les applications existantes et les applications en cours de développement. Par exemple, l'utilisation de Flash ou de Javascript pose un problème : il faut que le navigateur client prenne en charge ces technologies.

Ce sont des problématiques qui peuvent ne pas être primordiales dans le cas d'un back-office, où l'on connaît l'environnement du client, mais ce sont des questions essentielles lorsqu'on développe une application pour le public ou que l'on ne connaît pas l'environnement de l'utilisateur final. Il y a aussi la sécurité, l'accès aux fichiers locaux, le redimensionnement de la fenêtre et l'affichage qui en découle, le blocage des fenêtres pop-up, le code javascript bloqué par un antivirus, l'encodage des caractères, l'interprétation des CSS, l'effet des boutons de navigations sur l'application, etc.. Autant de questions que je me pose lorsque je commence un développement.

PHP 5 vous semble-t-il un passage obligatoire pour les développeurs PHP 4 ?
PHP5 apporte énormément d'améliorations, comme le modèle Objet ou la gestion du XML. Malheureusement, elles existaient déjà sous une forme différente, et les nouvelles versions ne sont pas essentielles pour l'entreprise. Le passage à la version 5 marquera pour beaucoup d'entreprises un renouvellement de contrat avec PHP.
Je vois l'avenir en PHP5. Le modèle Objet apporté par cette version est digne d'un Java ou d'un .NET, mais il va falloir faire migrer l'ensemble des applications utilisant le modèle de PHP4. Au delà même du nouveau modèle Objet, l'ensemble des applications PHP4 devra être validé sur PHP5, ce qui va prendre un certain temps.

On entend beaucoup parler d'Ajax en ce moment. Ce n'est pourtant pas nouveau"
Que pensez-vous de la popularité de la méthode Ajax ?
Je trouve qu'on entend beaucoup parler d'Ajax en ce moment. Ce n'est pourtant pas nouveau. J'ai toujours utilisé du remote scripting dans mes applications, à l'aide d'une iframe caché et de quelques artifices Javascript/DOM, afin de faire des requêtes asynchrones vers une base de données. L'Ajax n'est qu'une nouvelle manière d'appeler ce genre de technique.
L'avantage de ce type de remote scripting réside essentiellement dans le fait qu'on possède un objet Javascript permettant directement de gérer la requête, mais encore faut-il faire attention à la compatibilité entre les différents navigateurs.

  En savoir plus
 Apside Technologies
Dossier Réaliser, maintenir et faire évoluer ses sites Web pro
  Le site
Apside.fr
Comment voyez-vous l'avenir du navigateur/plate-forme ?
Les applications Web, et le navigateur en particulier, sont en passe de remplacer bon nombre d'applications lourdes, mais certainement pas toutes : les applications "temps réel", les gros systèmes, les systèmes critiques ont par exemple encore de longues années à vivre.
Mais les technologies Web actuelles sont assez matures pour permettre de développer des applications complexes et robustes. Encore faut-il faire évoluer les navigateurs pour que l'application web soit au coeur du système d'informations de l'entreprise, et non plus son simple reflet.
 
Propos recueillis par Xavier Borderie, JDN Développeurs

PARCOURS
 
 
Jérôme Grondin, 24 ans, est Ingénieur d'études Internet / Intranet spécialisé en Web applications

2005 Ingénieur d'études Internet chez APSIDE
2002 Développeur Web/applications systèmes chez RTL