Maksim Kabakou - Fotolia
Quand faut-il utiliser une plateforme Low Code ou No Code ?
Accélérer le développement d’application en réduisant la programmation pure et dure, c’est certes la promesse faite par ces plateformes. Encore faut-il connaître les risques et identifier les bons cas d’usage.
Quand Microsoft a lancé Visual Basic, la promesse était d'apporter la programmation aux non-programmeurs via des capacités de glisser-déposer pour contrôler des formulaires et des données. Des décennies plus tard, les systèmes Low Code / No Code font passer cette promesse au niveau supérieur : il devient aussi possible générer le formulaire et même la base de données – sans aucune expérience en matière de développement.
Mais ces plateformes apportent aussi leurs lots de difficultés en matière de qualité logicielle, notamment au niveau de la gestion des exigences et des risques. Cela est également vrai au niveau des tests et des déploiements d’un code non produit par un développeur. Un bon outil peut faciliter cela, et il existe différentes techniques Low Code / No Code pour répondre aux besoins.
Low Code / No Code : les différentes méthodes
Avec les plateformes Low Code / No Code, il existe trois façons efficaces de développer des applications.
Premièrement, certaines plateformes Low Code ont un générateur de formulaires avec lequel vous glissez-déposez des champs qui servent de base à la création d’une application. La plateforme interprète le formulaire et crée la base de données pour l'application.
Une 2e méthode Low Code consiste à modéliser les données (l’utilisateur s’en charge) et la plateforme génère l'écran. Les applications multi-écrans nécessitent un workflow, qui peut être conçu dans une forme d’organigramme. Avec cette approche au modèle (model-driven), le programme passe par un compilateur qui prend l'organigramme et génère l'interface utilisateur.
La troisième méthode concerne les plateformes No Code qui ont une façon unique de déployer les applications. Avec les applications traditionnelles, les utilisateurs téléchargent une application et la mettent à jour au fur et à mesure des nouvelles versions. Pour le SaaS, le fournisseur héberge le logiciel, accompagné généralement d’un environnement pour le tester.
Les plateformes No Code ne fonctionnent pas de cette façon. Ces environnements éliminent le besoin de créer des serveurs de test et de production et de migrer le code d'un endroit à l'autre. Au lieu de cela, vous éditez simplement le modèle et vous le publiez. C'est aussi simple que ça. La plateforme peut également fournir des modèles prédéfinis pour certaines tâches courantes, telles que la facturation, les dépenses et du pointage. En gros, c’est comme si vous démarriez avec un projet de type open source, facile à éditer et qui est fait à 95% - il suffit d'ajouter vos exigences personnalisées.
Cette approche fait gagner beaucoup de temps à l'utilisateur, mais elle crée un problème au niveau des tests : la production reste le seul environnement. L’ensemble du processus de développement de l'application se repose sur l’approche au modèle. Certains outils complexes donnent certes la possibilité de placer une phase de test entre le modèle et la production, mais ceux-ci coûtent en général plus cher et sont utilisés uniquement pour de grands déploiements à l’échelle, plus granulaires, et non pas pour des processus métiers internes, très spécifiques.
Low Code / No Code : quels sont les cas d’usage
Les plateformes No Code manquent souvent de fonctionnalités pour des cas particuliers. Par exemple, un utilisateur peut écrire une procédure de validation de champ de formulaire qui s'assure que les adresses électroniques ou les numéros de téléphone sont correctement formatés. Au lieu d'écrire la logique de cette procédure, l'outil No Code apporte les types de composants de base de données ou des champs pour qualifier le numéro de téléphone et l’adresse email. Cela fonctionne fonctionne jusqu'à un certain point : celui de la validation personnalisée, comme ça peut être le cas avec le numéro de permis de conduire, ou celui d’une validation complexe qui doit prendre en compte plusieurs champs. Avec les plateformes Low Code, le créateur de l'application peut ajouter cela au modèle. Mais pour le No Code, vous êtes coincé avec un modèle - et les mauvais modèles ne peuvent créer que de mauvaises applications.
Les plateformes Low Code ou No Code sont un bon choix pour les processus métiers isolés. Dans ce cas, un analyste ou un utilisateur crée l'application.
Un autre cas d'utilisation est le site Web temporaire, créé par exemple pour un événement. Les modèles prédéfinis de la plateforme facilitent sa mise en place. Grâce à cette approche pilotée par les modèles, on peut créer une application mobile générée et gérer le processus de livraison de l'application.
Low Code / No Code : quels sont les risques
Avec le No Code, le contrôle de version n'inclut probablement qu'une simple option Undo / Redo en plus du bouton Publish.
Le fournisseur d'outils Low Code quant à lui conserve généralement votre base de données. Si le fournisseur fait faillite ou si vous décidez de changer de fournisseur, il n'est pas certain de pouvoir exporter les données stockées. Certains outils Low Code permettent toutefois l'importation et l'exportation de données, via par exemple des feuilles de calculs.
Il existe des plateformes complètes qui comprennent aussi un environnement de test, qui peut interagir avec les microservices et utiliser l’annuaire interne de l'entreprise pour gérer l’authentification. Ces environnements sont plus chers et les risques de dépendance sont plus élevés qu’avec des environnements plus basiques. Ces plateformes donnent aussi accès à des outils de développement, de gestion de contraintes métiers, le contrôle des modifications et tous les autres aspects du logiciel traditionnel et personnalisé.
Ces approches Low Code / No Code forment un continuum : le No Code pour les petits projets indépendants et remplaçables, le Low Code pour les projets plus complexes ou orientés client. C'est bien d'avoir le choix.