Laurent Ribardière (4D) "Après Mac et Windows, notre IDE va s'étendre également à Linux"

Conçu pour réaliser des développements de logiciel de bureau, l'environnement cible également les projets d'application Web. Dans sa dernière version, son moteur supporte PHP.

Fondé en 1984, le français 4D édite un environnement de développement logiciel. Centré initialement sur la technologie d'Apple et les systèmes Mac, l'IDE est devenu multiplate-forme depuis le milieu des années 1990, en s'étendant notamment à Windows. L'offre est livrée avec une base de données et un serveur d'applications propres. Parmi ses clients, la société affiche à la fois des éditeurs de progiciels, mais également des DSI de grands comptes ou des sociétés de services informatiques.

JDN Développeurs. On observe de plus en plus d'éditeurs qui se tournent vers le SaaS et le cloud. Est-ce le cas de vos clients ?

Laurent Ribardière. Nous avons effectivement observé l'émergence ce nouveau modèle depuis quelques années. Nos clients historiques ont vu apparaitre des concurrents avec un positionnement pur SaaS. Ils se sont assez vite adaptés en commercialisant de la même manière leur offre en mode hébergé avec une tarification par abonnement. La plupart du temps, ils ont opté pour un mode de diffusion en client/serveur sans modifier leur logiciel. Mais depuis environ deux ans, on constate qu'ils engagent de plus en plus des projets de redéveloppement de leur application pour passer à une interface Web mieux adaptée.

Faites-vous évoluer votre offre pour faciliter le passage vers ce nouveau modèle de distribution d'applications ?

Nous répondons d'ores et déjà à ce besoin avec notre plate-forme actuelle qui est capable de supporter des développements Web. Mais, nous préparons le lancement d'un nouvel environnement, qui devrait avoir lieu courant 2011, pour mieux répondre aux besoins liés aux déploiements en mode cloud et SaaS, et aux migrations vers ce nouvel univers. Pour cette nouvelle génération, nous avons fait le choix de la rupture technologique. Mais, la compatibilité ascendante pourra continuer d'être gérée avec les anciennes applications basées sur 4D.

Un moteur qui a évolué du 32 bits ou 64 bits

Quelles sont les principales évolutions de la version 12 de votre plate-forme ?

Elles se situent dans la continuité de la version précédente. Nous avons intégré de nouveaux dispositifs de synchronisation de données pour faciliter la mise en œuvre de processus de réplication sur des serveurs miroirs.  L'idée étant pour le client final de disposer d'un serveur de secours capable de prendre le relai en cas de défaillance du serveur principal.

Nous avons également ajouté des possibilités de synchronisation partielle par le biais d'un mécanisme de requêtes par filtre. Typiquement, elles facilitent la synchronisation d'une partie des données entre plusieurs implantations en fonction des informations dont elles ont besoin. La synchronisation des données peut également être réalisée désormais vers un iPhone ou un iPad, et ce en fonction de règles métier ou de rôles utilisateur.

Nous avons également étendu notre moteur pour passer du 32 bits au 64 bits. Ce qui va permettre aux applications reposant sur notre plate-forme de supporter un plus grand nombre d'utilisateurs simultanés et de traiter de plus gros volumes de données. Dans certaines configurations, nous estimons qu'elles peuvent atteindre 400 à 500 connexions simultanées.

Où en est l'ouverture de votre plate-forme en termes d'OS et de langages de développement ?

Initialement, l'environnement 4D était centré sur le développement pour le système d'Apple. A partir de 1994, nous nous sommes ouverts à Windows. Au départ, la plate-forme se limitait également au langage 4D. En 1996, nous avons commencé à prendre en charge les technologies Web. Nous avons introduit une couche d'échange de données reposant sur XML, ainsi que la possibilité de bâtir des interfaces Web. Nous savons gérer les requêtes Ajax. Nous avons également introduit un éditeur de formulaires qui permet de combiner des éléments d'interfaces en HTML avec des widgets natif Mac ou Windows.

Dans la version 12, le moteur exécute également du code PHP en natif. Jusqu'ici, l'exécution de ce type d'application devait passer par celle de scripts CGI, ce qui était moins performant.

Où en êtes-vous du côté des technologies Windows ? Et envisagez-vous de prendre en compte Linux ?

Notre moteur de gestion d'interfaces supporte les API Windows GDI et GDI+. C'est également le cas de l'API DirectDraw pour faire fonctionner des applications pour l'infrastructure Microsoft WPF. Nous avons également fait évoluer le moteur pour s'intégrer à Windows Server 2008 R2. La version 11 était déjà optimisée pour supporter des développements pour Windows 7. Une version de notre environnement prenant en compte Linux est en prévue.

Votre environnement s'accompagne de sa propre base de données. Quelles sont les possibilités d'ouverture de votre plate-forme dans ce domaine ?

Avec la version 11 de notre plate-forme, notre base de données a été réécrite. Elle prend désormais en charge SQL, tout en étant capable de supporter de plus gros volumes de données. Le fait de disposer d'une base intégrée présente de nombreux avantages. Il n'est pas nécessaire de passer par une couche intermédiaire pour accéder aux données. Il est possible de gérer les requêtes directement par le biais du langage 4D, ce qui est plus performant.

Il est aussi possible de s'ouvrir à d'autres bases, comme Oracle, Sybase ou SQL Server, via des interfaces natives vers ces serveurs de données que nous supportons par ailleurs. Pour faciliter le passage d'une base à l'autre, nous supportons également des drivers ODBC.

Quelle est votre approche en matière de modélisation d'applications, et d'automatisation des développements ? 

L'IDE 4D est conçu pour s'adapter aux méthodes de gestion de projet agile. L'idée est de proposer une approche à travers laquelle une demande de modification est simple à prendre en compte. Par exemple, le lien entre deux tables est directement utilisable dans l'éditeur, et peut être modifié sans engendrer de conséquences sur le reste du code. De même des règles peuvent être appliquées pour gérer l'intégrité des données, qui peuvent être aisément modifiées ensuite. Cette approche permet une grande productivité des développements qui évite de passer par l'étape de modélisation.  

Dans la même logique, nous travaillons sur des évolutions visant à améliorer la gestion des entités par domaine.

En 1983, Laurent Ribardière, encore en "Math Spé", développe son premier logiciel de gestion de fichiers (ABC Base). Un an plus tard, afin de publier son logiciel, il crée la société ACI, rebaptisée 4D en mars 2000, société dans laquelle il demeure actionnaire majoritaire. Il reste aujourd'hui le directeur technique de 4D.

Crédit photo : Véronique Le Lann