Le No Code / Low Code ne cesse de faire parler de lui en ce moment avec des outils comme Appian, Intrexx, Lightning, Unqork et autres Microsoft Flow. Est-ce le début de la fin pour les développeurs ? Peut-être, peut-être pas… C’est ce que nous allons voir dans cet article, tout en épluchant un peu les solutions du marché.
Cette tendance n’est pas nouvelle. Les besoins en développement logiciel ne risquent pas de diminuer, bien au contraire, et les développeurs sont toujours très recherchés. Créer des applications sans code est un besoin (pré) historique, mais les outils n’ont pas toujours été au rendez-vous. Ces outils indispensables pour la création rapide d’applications sont des plates-formes de programmation visuelle qui permettant d’offrir une solution sans écrire – ou presque – une seule ligne de code. Cette technologie sonne l’avènement de ce qu’on appelle les citizen developers (développeurs citoyens), ces salariés qui ont un profil business et une culture produit et qui peuvent ainsi développer rapidement des projets pour leur entreprise, en se passant des fameux sprints de développement. Le secteur du no-code et du low-code fait l’objet d’une intense compétition entre les géants de la tech.
Unqork a été utilisée par la mairie de New York pour créer en quelques jours seulement un logiciel afin de gérer la crise du Covid19. Soutenue par des investisseurs comme Alphabet ou Blackrock, elle est disponible sur les trois principales plates-formes de cloud computing que sont Microsoft Azure, Google Cloud et AWS (Amazon Web Services). Le service de développement low-code de Microsoft, Power Apps, est son produit qui connaît la croissance la plus rapide. Il pourrait à terme représenter plus de 10 milliards de chiffre d’affaires pour l’entreprise. Google a racheté récemment AppSheet, un éditeur de low code/no code qui permet de créer des applications métier à partir de feuilles Excel et de données stockées dans des emplacements divers (cloud Amazon, Office 365, Salesforce…). Google Cloud intègre désormais AppSheet dans la G Suite.
Mendix cible plusspécifiquement le développement rapide de smart
apps pour l’Internet des objets (IoT). Fait non négligeable, l’utilisation des
technologies Cloud Foundry et Docker assure leur portabilité sur tous les
types de Cloud, publics, privés ou hybrides.
Réinventer la programmation
Le code est depuis sa création une sphère obscure réservée à quelques initiés. Les compétences en la matière sont souvent insuffisantes. Avec le low code, chacun peut créer une petite application ou faire une maquette. Pour Pierre Launay, cofondateur d’une autre plate-forme, Intrafounders, la crise a fait « resurgir toutes les exigences liées au low-code : l’urgence et le besoin de solutions rapides ». Il pense que la crise a permis aux citizen developers, des salariés qui ont une casquette business mais une culture produit, de se révéler en tant que chef de projet ou PO (Product Owner). Cela a posé les bases d’une petite révolution en matière de développement mais, si l’on y réfléchit, suit une logique Agile et même «scrumesque», celle des backlogs et autres sprints d’essai. Les technologies low code adressent le cœur de la transformation numérique et peuvent rapprocher les équipes métier et IT. La demande en applications ne cesse d’augmenter et il faut trouver des moyens d’absorber cette demande au moins en faisant rapidement des prototypes. Il n’est pour autant « pas question de jeter le vrai code », comme le prétendent certains. Cette approche permet, bien au contraire, de tester rapidement des idées, des fonctionnalités et à dégrossir les sprints d’essais à la scrum. Le low code peut et doit même s’interfacer avec les équipes actuelles de développement. La crise a sans doute contribué à mettre en valeur des projets créés par des non-développeurs, mais elle pourrait aussi modifier durablement le profil des utilisateurs des technologies low code. Les utilisateurs de low code étaient, au départ, des profils majoritairement non techniques, surtout parce que les produits créés par des plates-formes low code n’étaient pas assez bons par rapport à ce que l’on pouvait faire avec du vrai code. Aujourd’hui, ces outils ont évolué et les développeurs les utilisent plus volontiers. De plus, comme nous l’avons déjà évoqué, cela permet de tester plus rapidement qu’avec des sprints à la Scrum des fonctionnalités avant de les valider et de les coder avec de véritables langages de programmation. Le principe est le suivant : vous venez d’avoir une idée géniale de création d’application qui va révolutionner le business de vos clients et reléguer les concurrents au rang de dinosaures. Vous informez votre direction technique qui vous répond : « Oui, l’idée est sympa. On va étudier sa faisabilité et si c’est ok on la mettra dans le prochain sprint de développement.» Or le besoin vous paraît immédiat. Avec le concours de vos meilleurs développeurs, et si la direction technique ne vous a pas «banané», votre application ne verra pas le jour avant quatre à six mois. Une éternité dans le monde numérique. C’est là que le low code peut sauver votre projet !
Exit AppMaker, c’est AppSheet qui le remplace maintenant dans la G suite de
Google. Il va falloir préparer la sortie (d’AppMaker) avant janvier 2021, sinon gare.
La fin des développeurs approche…
Ce n’est certainement pas pour demain. Qui plus est, à l’apparition des plates-formes de low code, les profils non techniques étaient généralement les seuls à y avoir recours. Les développeurs les méprisaient largement car le code produit n’était pas assez bon par rapport à ce qu’ils pouvaient concevoir. Aujourd’hui, l’Intelligence artificielle aidant, les outils se sont grandement améliorés. Les développeurs les utilisent eux-aussi pour créer des prototypes et/ou monter en productivité. Ils n’ont plus besoin de développer des tâches simples et peuvent se concentrer sur celles à plus forte valeur ajoutée. Certaines entreprises ont beaucoup de code legacy, c’est-à-dire un gros volume de code métier, plus ou moins important, accumulé au cours du temps. Or imbriquer du nouveau code clef en main dans cette grosse machine peut demander des efforts importants en termes d’ajustement pour les développeurs. Il est souvent bien plus rapide et efficace de recoder entièrement un programme plutôt que d’avoir recours à des plates-formes de low code et de créer de nombreuses – et dangereuses – rustines. Le low code permettra néanmoins, dans ce cas de figure, de tester des propositions – listes de fonctionnalités ou backlogs – avant de consacrer inutilement un budget plus ou moins important pour un besoin qui n’est pas toujours réel.
Rapid Development
Le Rapid Development avec le moins de code possible est la promesse des plates-formes low code comme celles d’Appian, Google, Mendix, OutSystems, Salesforce et autres ServiceNow. Tous ces éditeurs font profiter leurs clients de leur Cloud, rendant ainsi cette approche orientée métier plus accessible. Depuis les origines de l’informatique, les tentatives pour créer des applications avec le moins de code possible ont été pléthore. Au début des années 90, Microsoft plaçait dans Visual Basic l’espoir de développer plus rapidement des applications à partir d’interfaces graphiques. C’est le C# qui l’a supplanté (hors VBA) mais le principe reste le même. Il y eut ensuite la mode des AGL (Ateliers de génie logiciel), comme le NSDK, Windev, FileMaker Pro ou Visual Studio, visant à industrialiser la production de programmes en générant automatiquement du code. Plus récemment, des outils tels que IFTTT, Zapier ou Microsoft Flow permettent à des utilisateurs non développeurs d’automatiser des tâches entre des applications différentes et selon des scenarios prédéfinis. Le Cloud a remis au goût du jour les promesses du low code grâce à ses atouts intrinsèques de puissance de calcul et de scalability (gestion du dimensionnement). Via leurs PaaS, Salesforce, Appian, Mendix et un peu plus récemment Google proposent de démocratiser l’approche en ajoutant des couches d’abstraction supplémentaires. Surtout, leurs clients n’ont pas besoin de disposer de ressources informatiques importantes. Une bonne connexion réseau suffira – mais elle est indispensable. Attention néanmoins au fil à la patte qui pourrait être dur à couper.
Les vrais développeurs détestent-ils le low code ?
Si les plates-formes low code prétendent faciliter la vie des développeurs, ces derniers n’en sont pas forcément convaincus. Problèmes de maintenance, de visibilité des dysfonctionnements éventuels, standardisation des fonctionnalités, nombre de points s’avèrent négatifs avec ce genre d’outils. D’abord, même si les platesformes low code peuvent à priori simplifier le travail des développeurs ou diminuer la charge, cela peut aussi les contraindre à employer ces outils de manière quasi exclusive. Nos amis les cols blancs adorent pour leur part les outils low-code. C’est toujours moins de code, moins de travail, des mises en œuvre rapides, des budgets moindres. C’est effectivement la face visible de l’iceberg. Les développeurs de leur côté ne sont pas aussi friands de ces technologies. Ils voient généralement un peu plus loin en vilains pessimistes qu’ils sont et pensent à la maintenance, à l’évolution future, et ils ont bien raison. Les solutions low-code ont leur place pour eux, mais il faut prudence garder et ne point s’emballer. Le risque finalement est de devoir passer plus de temps à gérer des problèmes et trouver comment les contourner, qu’à écrire du vrai code plus facile à maintenir. C’est d’ailleurs la partie la plus délicate lorsque l’on utilise une solution low-code. Qui plus est, les problèmes surviennent le plus souvent après l’intégration. L’ancien système est déployé et fonctionne bien, mais des demandes de corrections et d’améliorations arrivent. Or ces demandes seront souvent difficiles à mettre en œuvre avec une architecture low code. Avec le code source généré par la plateforme, ce serait éventuellement possible, mais les développeurs n’y ont pas accès. Ceci dit, lorsque l’on essaye de reprendre du code généré par des AGL de type WinDev qui, lui, est accessible, on s’arrache les cheveux rien qu’en le regardant dans le blanc de l’œil. C’est souvent ce qui déclenche un changement de process et l’adoption d’une vraie plate-forme de développement. En bref, les développeurs ne doivent pas adorer le dieu low code, mais ils peuvent y sacrifier avec parcimonie, conscience et bienveillance prudente.
Géants du Web versus pure players
Ces plates-formes, nous l’avons dit, visent le fameux citizen developer, ce chef de projet sur le tas, utilisateur métier, néophyte en développement mais capable de concevoir ses propres applications grâce à elles. C’est aussi une manière de lutter contre le shadow IT introduit par les solutions SaaS (Software as a Service). Appian, Mendix, OutSystems et Salesforce sont parmi les leaders du low code. Parfois appelé aPaaS, pour Application Plateform As a Service, ce type d’offre se compose d’une interface qui permet de définir visuellement les processus métier et les workflows associés, des connecteurs pour importer les jeux de données et un gestionnaire du cycle de vie de l’application. Parmi les acteurs du domaine, il faut distinguer les généralistes comme Salesforce ou Google qui proposent des plates-formes de Cloud très scalables pouvant absorber de fortes volumétries et les pure players du low code, spécialisés dans ce domaine mais souvent avec moins de moyens dans le Cloud. Par ailleurs, il s’agit bien de platesformes low code, à faible niveau de codage, et non de no code. D’après Laurent Chailley, directeur commercial d’Appian, « l’intégration au système d’information existant exige du scripting. Il serait illusoire de laisser entendre que l’on peut créer une application sans écrire une ligne de code, en déplaçant simplement des icônes par glisser-déposer.» Il a surement raison, mais il ne faut pas non plus confondre développement et intégration, même si les pratiques DevOps poussent parfois à cette confusion.
Intrexx de United Planet (https://www.intrexx.com/) est un bel outil,
très complet, permettant de concevoir rapidement un intranet
pour votre entreprise ou administration.
Lightning de Salesforce
Baptisée App Cloud, l’offre d’aPaaS de Salesforce se présente sous la forme d’une boîte à outils composée notamment de la plate-forme de création d’applications maison Force.com et de celle d’Heroku. Si la première opère dans les datacenters de Salesforce, celle d’Heroku est hébergée chez AWS. Une passerelle, Heroku Connect, a été développée afin d’assurer la synchronisation des données entre Heroku et Force. com. C’est en 2015 avec Lightning que Salesforce est rentré véritablement dans le low code. Inaugurant une refonte graphique de l’offre SaaS de Salesforce, Lightning a surtout introduit une autre manière de programmer. Il a fait évoluer Visualforce, l’UI de Salesforce, ainsi que Force.com et son langage propriétaire (Apex) fortement inspiré du Java. Ses modules Process Builder et Visual Workflow permettent à Lightning d’instancier des briques métier et de les assembler au sein d’un workflow. L’utilisateur exploite les composants pré-intégrés de Salesforce ou ceux fournis par des tiers via la place de marché AppExchange. Des briques en SaaS peuvent être ainsi configurées de 80 à 90 % sans code. En revanche, si vous voulez mettre en place des règles métier complexes et spécifiques, il faut obligatoirement passer par le code, par Force.com en l’occurrence. Au vu de la complexité requise pour une maîtrise complète de la plate-forme, il faut réfléchir à ses réels besoins et peut-être passer à un vrai langage.
AppMaker est mort, vive AppSheet !
App Maker sera très prochainement abandonné par Google, au plus d’ici un an. La société de Mountain View a annoncé que le service entrait dans une phase de désactivation progressive et s’arrêtera de fonctionner totalement le 19 janvier 2021. Sa faible utilisation serait, d’après Google, la principale cause de cet arrêt. Google propose des alternatives aux usagers du service mais il ne sera malheureusement pas possible de migrer votre code directement vers une autre plate-forme. Dit plus brutalement, vous aurez du boulot pour tout remettre en place, mésaventure fréquente avec ces outils. Google a annoncé la mise à l’arrêt du service environ deux semaines après avoir acquis sa nouvelle plate-forme de développement d’applications sans code, AppSheet. C’est très certainement la véritable raison de l’abandon d’App Maker. Amit Zavery, le vice-président de Google Cloud, a annoncé que cette acquisition « complétera la stratégie de Google visant à réimaginer l’espace de développement d’applications en aidant les entreprises à innover »; rien moins que cela.
La promesse d’Appian est de vous permettre de créer des apps en 15 minutes
chrono grâce à son outil de design graphique Quick Apps Designer,
et ce, sans aucune compétence technique préalable requise.
Appian : après le BPM, le low code
Appian, société créée en 1991, se positionne un peu à la croisée des chemins par rapport à ses concurrents. Elle est essentiellement connue pour ses solutions de gestion des processus métier (BPM) et de case management. La société américaine a, de façon quasi naturelle, étendu son expertise vers le low code. Laurent Chailley, le directeur commercial France d’Appian, pense que l’expertise de ces deux métiers « historiques» – automatisation des processus et maîtrise des données – a permis à Appian de pouvoir industrialiser et déployer en toute sécurité une application à l’échelle d’un groupe international. Appian concentre sa R &D à Restone, en Virginie, et compte comme clients dans l’Hexagone Sanofi et BNP Paribas. La promesse d’Appian est de créer des apps en 15 minutes chrono. L’entreprise spécialisée en BPM a publié en novembre dernier la troisième version de Quick Apps Designer, un outil de design graphique ne nécessitant aucune compétence technique. Il guide l’utilisateur dans les grandes étapes de la mise en œuvre d’une application (gestion des données, formulaires, processus…). L’éditeur propose diverses solutions : en modes on-premise, hybride ou encore cloud public. Ce dernier choix fait appel à l’infrastructure d’AWS.
Mendix, l’ouverture sur le Cloud public et l’IoT
Fondé en 2005 aux Pays-Bas, Mendix a désormais déménagé à Boston, aux États-Unis. L’éditeur propose un outil de modélisation basé sur un environnement de développement visuel. Il revendique plus de 3 400 organisations clientes dans le monde, mais ne précise pas quelle est la proportion d’utilisateurs de sa version gratuite. La dernière version de Mendix met l’accent sur le développement rapide de smart apps pour l’IoT en proposant notamment des connecteurs prêts à l’emploi avec AWS IoT, IBM Watson ou encore LoRaWAN. Les applications conçues avec Mendix peuvent être déployées sur les infrastructures d’AWS, de Bluemix d’IBM ou sur Microsoft Azure. L’utilisation des technologies Cloud Foundry et Docker assure leur portabilité sur tous les types de Clouds, publics, privés ou hybrides. Mendix propose un magasin d’applications plutôt riche comportant des centaines de composants et d’applications prêtes à l’emploi.
OutSystems, le développement rapide par glisser-déposer
OutSystems est né au Portugal en 2001 mais a depuis migré aux États-Unis, à Atlanta précisément. L’éditeur est, comme Mendix, ce que l’on appelle un pure player. Son PaaS aurait permis le développement rapide de plus de 100 000 applications à travers le monde. Sa plate-forme, basée sur un modèle de métadonnées, génère automatiquement du code Java ou .Net par glisser-déposer de composants. L’application web ou mobile ainsi créée peut être complétée par du code écrit en C#, Java, JavaScript, SQL, CSS ou encore en HTML.
Une fois le développement finalisé, l’application pourra être déployée sur un Cloud (privé, public ou hybride) ou sur un serveur interne (on-premise). La librairie OutSystems Forge propose des connecteurs pour des services cloud populaires tels que Zendesk ou Twilio. OutSystems est membre du CISQ (Consortium de la qualité des logiciels informatiques). GFI a récemment racheté Roff, un intégrateur spécialiste d’OutSystems.
ServiceNow, des process métier au Rapid Development
ServiceNow, en spécialiste des processus d’entreprise, s’est naturellement intéressé au low code, étendant ainsi sa cible historique – les départements IT – aux directions business. Son portail de services, Application Development, permet entre autres choses et via un environnement de développement maison (Studio), de créer une application web ou mobile en faisant ses petites courses dans un ensemble de composants et de modèles prédéfinis. Le dit Studio offre des fonctionnalités de type workflow permettant l’intégration de systèmes existants et de formulaires. L’application peut être ensuite déployée par le PaaS de ServiceNow. L’éditeur propose une série d’API et d’outils d’intégration. Il a lancé en 2015 son store, CreateNow, ainsi qu’un programme de développeurs ciblant aussi bien les programmateurs aguerris que les adorateurs du low code.
Ne pas confondre Low Code, No Code et AGL
Le low code ou no code vise la démocratisation du développement rapide des applications et micro-services métier et/ou personnel. Il ne faut pas pour autant le confondre avec l’utilisation de plates-formes proposant des bibliothèques de codes et des outils graphiques, comme WinDev, Visual Studio ou autre FileMaker Pro. Le low code permet de développer rapidement des fonctionnalités logicielles en s’appuyant sur du code existant organisé sous la forme de modules fonctionnels. Les solutions de ce type proposent des outils de création graphique permettant la mise en place rapide et intuitive d’applications. Ces outils s’appuient sur des plates-formes de développement proposant des modules fonctionnels et des modèles métier. Les plates-formes no code mettent l’accent sur l’expérience utilisateur (UX/UI) alors que les plates-formes low-code sont orientées métier (données/processus) pour permettre de gérer la complexité. En fonction du besoin, les deux approches peuvent être judicieuses, voire complémentaires (low code pour le Back, no code pour le Front). Les plates-formes low code récentes vont généralement bien plus loin que le «simple» développement d’applications. Elles proposent des fonctionnalités d’ALM (Application Lyfecycle Management) pour gérer le cycle de vie complet des applications métier, de la conception (design) au déploiement (run) en passant par la planification (plan), la réalisation (build) et la qualification (test), tout cela en plusieurs itérations successives et en faisant collaborer les différents acteurs IT et métier du projet. Les plus évoluées de ces plates-formes permettent le CI/CD (Continuous Integration ou intégration en continue et Continuous Deploiement, déploiement en continu) intégrant les concepts DevOps de toute bonne équipe de développement Agile.
Les outils low-code dopés par le coronavirus
La crise dont nous sortons à peine a fait exploser les besoins rapides et souvent très spécifiques des entreprises et organismes. Les applications et plateformes d’aide à la conception ont fleuri. Des solutions ont ainsi pu être créées rapidement, sans une ligne de code ou du moins très peu, grâce aux technologies low-code. Tout cela a dû être réalisé avec des moyens limités. Les personnels avaient parfois de bonnes idées mais les compétences en programmation pour les réaliser étaient rarement au rendez-vous. Qui plus est, le temps de réalisation devait être très court, d’où la nécessité d’employer des plateformes de développement de type low-code. Depuis mi-mars, les éditions d’applicatifs auraient augmenté de 50% d’après Emmanuel Straschnov, cofondateur de la plateforme de programmation visuelle Bubble (https://bubble.io). «Cela reste très ciblé sur les solutions liées au coronavirus, d’autant que nous avons rendu notre service gratuit pour les applications liées à la crise.». Le low-code aurait donc gagné ses «lettres de noblesse» en un temps record grâce à ce sale virus, comme en témoigne le succès de l’application SupportLocal, créée grâce à Bubble puis rapidement rachetée et propulsée à l’échelle nationale par le média américain USA Today. Cette application permet tout simplement d’acheter des bons cadeaux chez des commerçants de proximité et sont à utiliser en sortie de crise afin de renflouer leur trésorerie.
Intrexx et myIntrexx
Intrexx et myIntrexx ont été développées par United Planet. Cette puissante plate-forme de développement low code est hébergée dans un centre de données allemand certifié et le stockage des données est conforme aux exigences du RGPD, ce qui est loin d’être le cas des géants américains du secteur. Un système individuel de gestion des utilisateurs est à la disposition des utilisateurs qui peuvent choisir entre deux options d’accès distinctes. En tant qu’utilisateur Admin, vous avez accès au Gestionnaire de Portail Intrexx et pouvez ainsi créer vous-même applications, procédures, configurations, etc. En tant qu’utilisateur standard, vous accédez à l’interface par l’URL indiquée. Ce système intégré permet de garder un contrôle fin des autorisations pour vos applications et processus. Vous pouvez décider quel utilisateur peut voir quoi de manière très précise et de quelles autorisations il dispose. Si vous décidez de cesser d’exploiter les services PaaS de myIntrexx, vous récupérerez vos données dans un format lisible et approprié, ce qui n’est pas négligeable.
Coder ou configurer, quel est le plus long ?
Les plates-formes low code se vantent de vous éviter de coder, mais il faut bien spécifier les algorithmes (au sens large du terme), connecter une base de données, saisir des paramètres, configurer l’outil et décrire les specs (spécifications). Ce travail peut être très chronophage si l’application à concevoir est un tant soit peu complexe. Les non codeurs s’y retrouvent quand même puisqu’ils ne sont plus à la merci des développeurs. Les développeurs ont le plus souvent un autre avis sur le sujet. Si l’outil de low code est buggué, vous serez certainement impuissant à corriger un problème, alors qu’un langage permettra de voir plus en détail ce qui se passe. Le seul moyen de contourner un bug d’une plate-forme de low code est de trouver une astuce de contournement d’utilisation, si elle existe (passer par un autre scénario par exemple) en fouillant sur les forums ou en essayant au hasard. Il y a plus sérieux comme méthode… Il est vrai que les langages sont, eux aussi, bogués, mais ces bugs et les méthodes pour les contourner sont mieux connus. Le prix à payer pour faire moins de travail et s’appuyer sur les géants est de leur devenir redevable. Vous êtes toujours à la merci d’une augmentation de tarif ou, pire encore, de la disparition pure et simple de l’outil, comme pour les services web propriétaires. Avec un langage ouvert, le problème ne se pose pas.
Générer des applications mobiles à partir d’un tableur avec Glide
Simple mais efficace, Glide fera le bonheur des citizen developers qui doivent
mettre rapidement des données à disposition de leurs clients
et/ou collaborateurs sans débourser un centime.
Glide permet de créer une web app sans compétence en développement, le tout à partir d’un tableur clone d’Excel stocké sur Google Sheet. Sans être diabolique, cet outil peut vous permettre de mettre aisément à disposition des jeux de données pour vos clients ou vos collaborateurs, voire de développer un prototype en attendant d’avoir des fonds pour faire mieux. Glide est un service gratuit, avec marquage incorporé. Si vous voulez l’enlever, l’héberger sous votre propre domaine ou publier votre application dans les stores Apple et/ou le Play Store Google, il faudra là encore sortir la monnaie.