L'essentiel de l'activité d'une entreprise est basé sur des applications, qu'il s'agisse de 'task managers' ou de plateformes de communication en passant par des tableaux de bord qui chargent automatiquement des chiffres de vente. Mais il arrive qu'un processus ne puisse pas, ou pas parfaitement, être supporté par des outils commerciaux existants. Les plateformes de développement en 'low-code' sont conçues pour permettre aux organisations de construire leurs propres applications personnalisées sans pour ce faire devoir recruter une équipe de développeurs ou lancer un projet d'externalisation.

Le 'low-code' pour les débutants

L'entreprise d'origine néerlandaise Mendix se positionne comme le leader du marché dans ce segment. " Lorsque nous avons démarré, personne ne savait ce qu'était le 'low-code', déclare Derek Roos, CEO et cofondateur de Mendix, sur le podium de Mendix World, la conférence utilisateurs de l'entreprise. Mais désormais, Gartner suit quelque 200 fournisseurs en 'low-code', tandis que d'ici 2022, 50% des applis utiliseront une forme ou une autre de 'low-code'. "

Bref, il semble bien que le 'low-code' soit un marché en plein boom, ce qui explique que Siemens ait racheté Mendix l'an dernier. Ce boom s'explique également par l'évolution du paysage IT où il faut lancer toujours plus d'applications dans des délais sans cesse plus courts. " Le défi principal n'est désormais plus technologique, mais humain, poursuit Roos. On fait face à une pénurie d'informaticiens alors même qu'un bureau d'avocats ou une banque ne peut plus avoir un avantage concurrentiel avec AWS ou Salesforce. Nous constatons par ailleurs une multiplication par 5 de la demande d'applis. Faire travailler plus rapidement ces quelques développeurs ne résoudra pas la question. " Un défi supplémentaire en termes de rapidité de déploiement des applis est la stabilité. " You can't just move fast and break things ", estime toujours Roos, se moquant ainsi d'une ancienne devise de Facebook. " Les attentes ont changé. Si vous êtes une banque grand public, vous ne pouvez vous permettre de rater le lancement de votre appli de banque mobile. Et en tant que fournisseur d'électricité qui doit fournir du courant à des millions de ménages, vous devez pouvoir réagir rapidement tout en offrant une appli à la fois stable et sécurisée. "

Lorsque nous avons démarré, personne ne savait ce qu'était le 'low-code'. " - Derek Roos, CEO et cofondateur de Mendix

La plateforme développée par Mendix est prévue tant pour les développeurs expérimentés que pour le reste de l'entreprise. L'exemple type avancé par Mendix est celui d'un 'citizen developer', un utilisateur professionnel qui constate qu'un élément peut être amélioré et qui met au point une appli pour ce faire. Par ailleurs, le 'low-code' doit également permettre de faciliter la vie du département IT puisque les développeurs peuvent en principe construire assez facilement une appli au départ de blocs de construction existants, sans devoir réécrire à chaque fois l'ensemble du code source.

Pour tous

Mendix s'efforce de rencontrer la demande tant de débutant que de vétérans, mais semble entre-temps avoir compris qu'il s'agit là d'un objectif difficile à atteindre au sein d'un seul et même environnement. D'où l'idée de proposer deux programmes qui seront lancés cette année sur base du programme (unique) existant. Le premier est Mendix Studio, un environnement 'no-code' pour les utilisateurs métier, ou du moins ceux qui ne codent pas. Mendix Studio est un programme visuel, un outil WYSIWYG qui, en termes d'interface, ressemble à PowerPoint. Il permet à ces 'citizen developers' de construire d'abord des modèles logiques au départ de blocs de construction existants, ceux-ci étant ensuite gérés par la plateforme Mendix comme de véritables applications.

Pour sa part, Mendix Studio Pro est une plateforme destinée aux développeurs et départements IT, souvent de cette même entreprise. Il s'agit davantage d'un logiciel de programmation qui permet de développer des applications sophistiquées et d'écrire du code Java. Les deux produits peuvent être associés afin par exemple d'imaginer simplement de nouvelles idées qui seront ensuite affinées par l'IT qui intégrera les droits d'accès adéquats. Le département IT conserve certes la responsabilité finale, insiste Daniel Dam, 'senior product manager' chez Mendix. " Si vous faites appel à un 'citizen developer', vous devez évidemment veiller à la gouvernance. La sécurité n'est pas en option sur la plateforme Mendix, elle en fait partie intégrante. Et nous veillons à ce que l'IT ait toujours le contrôle, car il lui appartient de garantir que tout est compatible et est conforme. "

En pratique

Mendix fournit en théorie une boîte de construction avec des modules pour les éléments d'infrastructure, les connecteurs vers toutes sortes d'API ou des pages web. Les entreprises peuvent obtenir ces modules au départ d'une 'boutique d'applis', voire écrire leurs propres extensions, par exemple vers des bases de données héritées. Précisons que Mendix ne génère pas de code, du moins pas au sens classique du terme.

" Normalement, on pourrait penser que nous proposons des modèles visuels qui permettent de générer du code, mais tel n'est pas le cas. Nous avons une autre approche, ajoute Johan den Haan, CTO de Mendix à Data News. Nous avons conçu un 'runtime engine' pour recevoir ce modèle. Celui-ci va ensuite interpréter le modèle et faire tourner l'application. On peut établir un parallèle avec l'ancienne console Atari : on glisse une cartouche et l'appareil permet de jouer le jeu. Le Mendix Runtime est à cet égard la console Atari et la cartouche le modèle qui l'accueille. Le tout permet d'obtenir une application prête à l'emploi. "

L'idée sous-jacente consiste, toujours selon den Haan, à rendre le modèle toujours disponible. " Si vous faites du 'debugging', par exemple parce que votre application ne fait pas ce que vous voulez qu'elle fasse, vous pouvez simplement associer votre environnement de modèles à l'environnement 'runtime' et ainsi parcourir l'ensemble du modèle et voir en direct ce qui se passe. Si vous générez du code, vous devez le faire tourner quelque part. Il faut alors rechercher les erreurs dans le code sans vraiment le comprendre puisque ce n'est pas vous qui l'avez généré. "

Ouvert ou fermé

Ne risque-t-on pas alors un 'vendor lock-in' ? " Certes, nous avons besoin de notre 'runtime' pour faire tourner l'application, mais si vous n'en voulez pas, vous avez deux options, poursuit den Haan. Vous pouvez d'abord générer le code et le télécharger, puis en assurer ensuite vous-même la maintenance. Ce n'est pas l'idéal, car vous introduisez du 'low-code' dans votre département où vous n'avez pas besoin de programmeurs. Si vous passez ensuite au code, il n'y a personne pour le comprendre. Les gens qui l'ont construit n'ont jamais codé. Ce n'est donc pas une solution. "

La deuxième option consiste à construire des modèles, poursuit den Haan. " Il faut se demander pourquoi une entreprise voudrait quitter Mendix. Peut-être parce qu'une nouvelle plateforme serait meilleure. Nous allons mettre tout en oeuvre pour l'éviter, mais soit. Cette nouvelle plateforme sera sans doute également basée sur des modèles visuels, car telle est l'évolution inéluctable. Ce que nous avons fait, c'est prévoir une API sur notre plateforme pour lire l'ensemble des modèles. Il s'agit d'une API ouverte, capable de gérer n'importe quel modèle et de le migrer par exemple vers une autre plateforme. "

La plateforme ouverte doit assurer un maximum de flexibilité pour les clients, jusqu'à un certain point. " Soyons clairs : il n'est pas possible de construire un jeu de tir à la première personne en 3D dans Mendix, précise encore den Haan. Le produit est destiné aux applications professionnelles, mais il est important d'être ouvert. Nous avons déjà vu différents outils de modèles qui ont échoué parce qu'ils étaient fermés. Dans ce cas, vous mettez tout en oeuvre pour bâtir une application qui devient toujours plus belle. Mais si vous voulez quelque chose de spécial et que vous ne parvenez pas à l'exprimer, c'est dommage. " L'une des options prévues par la plateforme est dès lors des 'code extensions'. " Vous avez alors des modèles visuels que vous pouvez toujours étendre à l'aide de code, poursuit Den Haan. Au niveau du 'back-end', vous pouvez écrire du code Java et, dans le 'front-end', utiliser Javascript. A ce niveau, il n'y a rien que vous ne puissiez exprimer dans Mendix puisque vous avez toujours ce code. Vous pouvez alors faire appel à un 'full stack developer' qui pourra tout faire, que ce soit charger des librairies ou prévoir des 'widgets' du côté frontal. Supposons que vous ayez une base de données héritée que vous souhaitez intégrer : vous demandez à votre développeur de code le tout une seule fois, après quoi vous pourrez intégrer cette base de données à d'autres applications avec Mendix. Vous la mettez ensuite dans une boutique d'applis privée et tout le monde dans l'entreprise pourra l'utiliser. "

Soyons clairs : il n'est pas possible de construire un jeu de tir à la première personne en 3D dans Mendix. " - Johan den Haan, CTO de Mendix.

En d'autres termes, un client pourrait via Java établir un lien avec son 'mainframe', explique toujours den Haan, comme l'a fait Rabobank notamment pour son appli en ligne pour épargnants en Belgique et en Allemagne. Le 'front-end' avait été construit en Mendix, mais les données sont lues via une API au départ d'un dorsal sécurisé de la Rabobank elle-même. La question est évidemment de savoir si les entreprises ne mettent pas ainsi une couche de vernis sur leur infrastructure héritée existante. " Certes, concède den Haan, mais c'est en général la meilleure façon de débuter. Si vous avez un 'mainframe' qui tourne depuis des décennies, il est impossible de le remplacer d'un coup. Ce que les clients veulent en général, c'est du 'mobile' pour aller sur le web. On construit alors une couche supplémentaire. Mais pour déverrouiller un processus, vous pouvez utiliser Mendix, que vous faites grandir pas à pas en transférant des fonctionnalités du 'mainframe'. Il s'agit là de la meilleure approche. Pour preuve, nous l'avons déjà déployée avec succès chez de nombreux clients. "

Et les Belges ?

Pour un événement qui se déroule à Rotterdam, à un jet de pierre de la frontière, nous avons rencontré extrêmement peu de Belges lors de ce salon. " Notre pays n'en est encore qu'aux prémices en matière de 'low-code', estime Jeroen de Smit de BPM, l'une des premières sociétés belges de consultance à travailler avec Mendix. Notre pays est, il faut bien le constater, assez conservateur. Nous avons tendance à regarder ce que font les autres et lorsque quelque chose s'impose, nous allons aussi commencer à l'utiliser. " Pourtant, il estime que la demande augmente. " Surtout de la part de grandes entreprises où le 'time to market' doit être nettement plus court et que cet aspect a beaucoup d'importance. Mendix affirme être 10 fois plus rapide... et tel est pratiquement le cas à mon avis. C'est ainsi qu'au départ d'un projet avec un équipe Java interne de 10 à 12 personnes, nous avons pu le terminer avec 2 développeurs. "