NoCode : tout savoir pour se lancer dans un projet NoCode
Le Covid19 a joué un formidable rôle d'accélérateur dans bien des sujets de transformation digitale. La mouvance NoCode en est un exemple supplémentaire.
Ainsi, la ville de New York, durement touchée par la pandémie, a mis en place, en 72 heures seulement, une plateforme de gestion de crise, capable de localiser les points chauds de la ville… grâce à une plateforme NoCode. Cette plateforme, développée avec la solution Unqork, permet aux habitants de rapporter par eux-mêmes les cas connus de contamination.
A cette plateforme se sont ajoutés ensuite d'autres services : une solution de livraison de repas permettant de trouver et commander des repas pour des personnes isolées en raison de leur contamination, un portail Web de donation d'équipement médical comme des respirateurs ou des masques, etc.
Plus proche de nous, le réseau des acheteurs hospitaliers (Resah), centrale d’achat des hôpitaux a pu concevoir une application en 15 jours, au plein cœur de la pandémie, grâce à la plateforme PoweApps de Microsoft.
Qu'est-ce que le NoCode ?
La promesse du NoCode, c'est de donner la possibilité à toute personne qui ne connaît pas le code de déployer et mettre en service une application informatique capable de répondre à différents besoins : tableau de bord de suivi des demandes, application mobile, site Internet, gestion d'évènements, … les cas d'usage sont innombrables.
Le NoCode répond au besoin croissant d'évolutivité et de flexibilité des programmes informatiques, qui, souvent, sont sous la pression des utilisateurs. En effet, les applications développées avec l’appui de la DSI ou d’agences externalisées, malgré la mise en œuvre croissante de méthodes agiles, n'évoluent pas aussi vite que les attentes et les besoins des utilisateurs. On constate par ailleurs de plus en plus des pratiques de « shadow IT », au travers desquelles les utilisateurs eux-mêmes déploient des outils pour répondre rapidement à leurs besoins, sans attendre les longues prises de décision, arbitrages techniques et cycles de développement des organisations.
Le NoCode propose des interfaces de design graphique des applications, sous la forme d'assemblage de legos et de briques déjà définies et d'interfaces de paramétrages parfois complexes.
Ainsi, dans l'exemple de Bubble.io, l'une des plateformes les plus connues, vous pouvez :
- Créer le design de vos pages par glisser-déposer : vous ajouter des textes, des boutons, des visuels, des vidéos, des insertions de code HTML, … et notamment paramétrer le style général de votre applications en définissant le guide de style : boutons, liens, champs de formulaire, alertes, …
- Définir votre modèle de donnée en construisant directement des "data types", en paramétrant les champs associés :
- Paramétrer des workflows / processus à partir d'une action de l'utilisateur :
- Que se passe-t-il lorsque l'utilisateur clique sur ce bouton ? Il se loggue, envoie un e-mail, déclenche l'enregistrement de données ...
- Que se passe-t-il au chargement de cette page ?
- ...
- Installer des plugins, c'est-à-dire des bouts d'application créés par d'autres et que vous pouvez réutiliser. Ainsi, nous avons dans un contexte particulier, réutilisé un plugin Hubspot pour pouvoir automatiquement, à partir d'une application Bubble, ajouter des contacts dans Hubspot :
- Gérer tous les paramètres de votre application : la gestion de la confidentialité, des API, des données de référencement, des versions, …
NoCode, LowCode : quelles différences ?
Il faut néanmoins tempérer la promesse du Nocode qui est : pas de code, pas de programmation.
Le NoCode reste encore une utopie dans bien des contextes d'usage. Dans de nombreux cas, il vous faut paramétrer des API, coder des petits bouts de Javascript pour permettre d'aller jusqu'au bout de la fonctionnalité...>
En effet, nombre de solutions qui se déclarent « NoCode » sont en fait des solutions génériques pour répondre à un besoin de gestion de site Internet (WebFlow, Umso, etc.), de récupération automatisée de données entre plusieurs systèmes (Integromat, Zapier, Parabola, etc.), d’organisation de contenus ou données et document (Notion, Airtable, etc.), de gestion d’applications mobiles (Good Barber, Thunkable, etc.), de chatbot ...
Le NoCode s’adresse aux utilisateurs qui ne sont pas développeurs, mais qui ont besoin de créer un produit numérique pour un projet, dans leur travail ou pour leur vie de tous les jours.
Et, dès que vous avez un besoin qui sort un peu du cadre (et il faut le dire ça arrive souvent), soit vous ne pouvez pas (la solution ne prévoit pas de gérer les besoins spécifiques), soit vous devez alors développer/connecter une autre application en développant.
Aussi, il existe de très nombreuses solutions LowCode, c'est-à-dire de solutions qui automatisent, accélèrent la mise en œuvre de projets avec des cas d'usage connus et classiques (se connecter, consulter une liste, remplir un formulaire, etc.) et permettent, avec quelques lignes de code (voire avec un simple fichier Excel), de s'adapter à un métier ou à un besoin spécifique.
Les 3 différences principales entre des applications Nocode et les applications LowCode :
- Les applications LowCode nécessitent l’intervention d’un développeur pour intégrer les contraintes techniques du projet et de la plateforme ;
- Les applications NoCode n’offrent qu’une interface graphique de glisser-déposer pour créer les interfaces et définir les processus. Les applications LowCode permettent d’injecter du code et d’interfacer d’autres solutions via des API ;
- Les interfaces NoCode fonctionnent sur la base de templates et de fonctions de paramétrages parfois limitées en termes d’interface utilisateur. En LowCode, vous pouvez théoriquement générer n’importe quelle UI.
Le NoCode est donc souvent complété par du LowCode pour aller plus loin et répondre à un besoin non couvert par les applications NoCode.
Les avantages à utiliser des solutions "NoCode"
Pour les fervents partisans du NoCode/LowCode, les avantages du NoCode sont multiples et justifient son utilisation dans de très nombreux contextes d'usage :
Avec le NoCode, vous lancez votre produit bien plus rapidement
L'exemple de la ville de New York, cité en introduction, est flagrant : 72 heures pour designer, mettre en œuvre et lancer une solution qui aurait certainement mis plusieurs semaines en étant développé avec des solutions traditionnelles !
Avec le NoCode, qui met à disposition de "non-développeurs" des interfaces visuelles pour définir les interfaces, construire les processus logiques, … vous allez beaucoup, beaucoup plus vite.
Et, dans des contextes de test, MVP (Most Valuable Product), c'est particulièrement utile de pouvoir tester vos hypothèses avec vos utilisateurs, dans des contextes d'utilisation réels.
Certains éditeurs avancent la capacité de pouvoir diviser par 4 les temps de réalisation… à confirmer !
Avec le NoCode, votre projet est moins cher (probablement)
Mécaniquement, si vous passez moins de temps à travailler à la mise en œuvre de votre projet, cela vous coûte moins cher (en rémunération de développeur, en paiement de frais d'une agence, etc.). Néanmoins, il faut quand même prendre en compte :
- Le coût d'usage de la plateforme NoCode (de gratuit à quelques milliers d'euros par mois pour les plus complexes) ;
- Le temps passé de design, mise en œuvre.
Avec le NoCode, vous êtes VRAIMENT agile
Conséquence directe de l'absence de développement technique, vous pouvez directement intervenir sur l'application pour la faire évoluer, rapidement, sans passer par des processus de mise en production qui peuvent être longs, complexes.
Et, par ailleurs, comme vous allez plus vite qu'en développant des applications, vous allez aussi plus vite dans les évolutions de votre produit.
Pas de questions liées à l'hébergement, l'infrastructure
Les applications développées avec le NoCode sont directement hébergées sur les infrastructures de l'éditeur de la plateforme de NoCode. Aucune question donc sur l'architecture d'hébergement, sa redondance, les sauvegardes, les coûts associés (…). Votre plateforme NoCode intègre directement dans son coût d'usage le coût d'hébergement de ses services.
Les limites et capacités du NoCode / LowCode
Selon les solutions retenues, les limites du NoCode sont variables, voici quelques réflexions à considérer :
Peut-on faire une application mobile ?
Oui et non ! Cela dépend de l'outil !
Avec beaucoup d’outils NoCode simples, impossible.
Avec des outils plus évolués comme Bubble, vous pouvez créer des app hybrides, PWA mais pas des applications natives.
Avec des solutions comme GoodBarber ou Thunkable, spécifiquement adaptés à des contextes d’applications mobiles, vous pouvez créer des applications natives, qui exploitent les fonctions de push, de géolocalisation, etc.
Exporter / Héberger du code pour ne plus utiliser le service NoCode
Ici, clairement c’est une limite importante : vous souhaitez changer de fournisseur NoCode, ce dernier n’évolue pas comme vous souhaitez... Aucun export, ni migration, n’est possible vers un autre fournisseur NoCode.
Vous ne pouvez pas non plus héberger en propre des solutions NoCode.
Peut-on se connecter à des services externes ou des API ?
Oui et non, là, tout dépend de la disponibilité d'API connecteur sur l'application.
L'intérêt des applications LowCode c'est justement de pouvoir se connecter à des applications externes, soit en créant vous-même les interfaces techniques, soit en exploitant les bibliothèques de connecteurs déjà existants. Et à ce sujet, clairement, la prime est donnée aux solutions les plus populaires telles que Bubble ou Integromat, qui disposent de très nombreux connecteurs avec des outils tels que Salesforce, Outlook, Trello, … bref de nombreux outils que vous utilisez au quotidien.
La scalabilité des projets déployés
C'est souvent ici la grosse limite. Nombre de solutions NoCode soit ne tiennent pas bien la charge, soit sont limitées dans la complexité fonctionnelle.
La scalabilité/performance tient à plusieurs facteurs :
- L’architecture de l’application : comme pour une application traditionnelle, des choix d’architecture sont faits dans la manière dont vous structurez votre application LowCode. Dans ce cadre, certains choix peuvent ralentir/complexifier la réactivité de l’application ;
- La performance intrinsèque de l’application NoCode : dans ces solutions, il faut bien savoir que les interfaces de paramétrage génèrent une lourdeur intrinsèque. Et effectivement, certaines applications LowCode sont plus lourdes/performantes que d’autres ;
- Le dimensionnement de la formule retenue. Pour certains éditeurs no code, différentes offres permettent de scaler une application, en fonction du nombre de requêtes, de visiteurs…
Ce que l’on doit retenir ici c’est que la question de la performance et de la scalabilité des applications NoCode est au cœur des enjeux à venir. Si vous prévoyez un portail ou une application avec des millions de requêtes et d’utilisateurs, vous risquez clairement de rencontrer des problèmes de performance à court terme.
Néanmoins, les éditeurs apportent tous les jours des nouvelles solutions et la présence de gros éditeurs sur le marché amènera nécessairement à mieux.
Sécurité et gestion des données
Sur ce sujet, les applications NoCode ont encore de nombreux progrès à faire. En effet, considérant que les applications NoCode sont construites par des non-développeurs (et donc non familiarisés aux questions de sécurité informatique), le risque de brèche de données ou de faille de sécurité est important.
Le marché du NoCode en 2021
Si l’on considère la définition du NoCode / LowCode comme la capacité à générer un programme qui exécute des actions au travers d’une interface graphique, on pourrait même considérer qu’Excel est une des premières applications NoCode !
Plus globalement, les frontières du NoCode / LowCode sont aujourd’hui assez floues, puisqu’on intégrer dans cette mouvance toute application/service qui propose une interface graphique de paramétrage d’autres interfaces/services. Aussi, dans cette même logique, même WordPress serait une application LowCode !
On assiste aujourd’hui à une explosion de ce marché pour plusieurs raisons :
- Les interfaces graphiques de paramétrage sont plus que jamais fluides, efficaces et hyper simples d’usage ;
- L’approche Saas ou Cloud permet à tout utilisateur de se dégager complètement des contingences techniques d’hébergement, maintenance et performance des applications créées ;
- Le marché des développeurs est hyper tendu, avec des coûts salariaux qui explosent et une grande rareté de ces derniers sur des technologies hype. Aussi, les chefs de produit se mettent directement à produire les solutions dont ils ont besoin, suivant en cela les pratiques de shadow-IT qui font si peur à nos DSI ;
- L’universalité des API : depuis quelques années, il est devenu impensable de créer une application sans proposer de l’ouvrir au monde extérieur, c’est-à-dire lui donner, grâce à une API, la possibilité d’échanger avec d’autres applications. Ce mode de communication universel facilite grandement les échanges entre différents projets et donc la glue (promise par la solution Integromat) entre tous les composants de votre système d’information ;
- La StartUp Nation donne envie à chacun de lancer son business, idéalement digital. Et donc tous les entrepreneurs ont besoin d’applications, et vite, pour pouvoir pivoter ou scaler (!) et pitcher sur un projet « in real life ». Les projets NoCode sont une superbe promesse pour eux d’aller vite pour tester un concept.
Bref, le marché reste encore très émergent et peu structuré, mais on constate :
- Les acteurs historiques qui sont présents depuis longtemps sur la structuration des processus d’entreprise. Ces derniers accélèrent leurs initiatives existantes depuis quelques années mais qui n’avaient jusqu’à présent pas décollé : Microsoft avec PowerApps, Google avec Business Application Platform, SAP avec Cloud Platform Workflow Management, etc.
Pour ces acteurs historiques, le challenge est de réussir à concilier ce qui s’appelle traditionnellement le Business Process Management (BPM), faisant intervenir des ingénieurs spécialisés pour modéliser des processus complexes et l’attente des « métiers », non techniques, de développer par eux-mêmes des processus plus simples. Ces gros acteurs ont la capacité à intégrer à la fois l’efficacité des interfaces graphiques et la complexité de l’automatisation portée par l’Intelligence Artificielle.
Ici, c’est une lame de fond qui est en train de secouer grandement toutes les pratiques des DSI, au regard de leur parts de marché actuelles. Avec PowerApps, les workflows de demande de congés, de gestion des absences, de réservation de salle, (…) deviennent un jeu d’enfant. Avec Business Application Platform, Google. - Les pure player du NoCode / LowCode, avec Zapier, Integromat, Webflow, Bubble, Airtable, … qui s’adressent directement aux acteurs métier et jouent la carte de l’efficacité, de la simplicité et de la rapidité de déploiement. Ces acteurs sont aujourd’hui majoritairement à destination des TPE/PME, et supportent rarement des projets critiques et complexes. L’enjeu pour ces acteurs est de réussir à résister à l’intégration des pratiques NoCode par tous les grands éditeurs Microsoft et Google en tête, qui ont déjà de belles applications en route et un parc installé largement plus consistant.
Si 2020 a été l’année de l’accélération et de la légitimation des pratiques et des éditeurs de NoCode, 2021 et les années suivantes seront l’occasion de repositionner l’action du développeur informatique. C’est l’occasion pour ce dernier, devenu une denrée rare, de se repositionner sur des développements à forte valeur ajoutée et d’accompagner les métiers dans la mise en œuvre de projets couplant NoCode / LowCode et intégration avec des systèmes complexes. C’est aussi enfin l’émergence du « citizen developper« », capable d’apporter des réponses digitales rapidement et sans intervention technique.