Qu'est ce que le No-code ?

1. Introduction

Depuis le COVID, voire même avant, on entend de plus en plus parler de No-code et Low-code. On comprend assez aisément de quoi il en retourne (pour ceux qui auraient encore un doute : no-code = pas de code, low-code = peu de code), mais qu'est-ce qui se cache concrètement derrière ces appellations barbares ? Quelle est la différence avec le code "classique" ?

Dans cet article, nous allons vous expliquer en quoi le No-code et le Low-code peuvent révolutionner votre façon de développer des applications sur mesure, en vous permettant de gagner en rapidité, flexibilité et rentabilité.

2. Qu'est ce que le No-code ?

Le terme "No-code" fait référence aux outils et plateformes en ligne permettant de créer des applications sans écrire de code, uniquement donc, grâce à une interface intuitive permettant de créer des "objets" métiers, et la logique les unissant. Son petit frère, le "low-code", fait quant à lui référence aux outils et solutions en ligne permettant de personnaliser un peu plus l'application en y ajoutant du code.

Ces technologies, invisibles pour l'utilisateur, viennent se positionner comme une couche au-dessus d'une ou plusieurs technologies utilisées dans le développement "classique".

Exemples :
- FlutterFlow : Flutter,
- Webflow : HTML, CSS et JavaScript
- Xano : Docker, Google Cloud et PostgreSQL
- ...
En venant se superposer à d'autres technologies, déjà éprouvées et populaires, les outils No-code assure robustesse et fiabilité aux solutions créées.

Mais est-ce quelque chose de nouveau ?

3. Un peu d'histoire

Pas du tout, car les premières solutions de ce type sont apparues un peu avant les années 2000, avec Dreamweaver notamment, en 1997. On les appelait des éditeurs WYSIWYG (What You See Is What You Get), et il suffisait de déplacer des éléments du type paragraphe, titre, photos et j'en passe, dans une page de type Word pour créer son site internet. C'était une révolution ! Et un jeu d'enfant pour qui ne maîtrise pas le language HTML. Je me rappelle alors qu'on pouvait aussi éditer le code nous-même, mais quel horreur tout ce texte non structuré et illisible !

Beaucoup de chemin a été parcouru et aujourd'hui, les interfaces sont beaucoup plus ergonomiques et avancées. Pour reprendre l'exemple des éditeurs de site web :

- les attributs CSS sont quasiment tous intégrés, rendant le style personnalisable à volonté
- les modes mobile et tablette sont intégrés dans les versions de base
- le déploiement se fait en un clic sur le domaine que l'on aura connecté, et sans passer par du FTP ou autre.

4. En quoi est-ce différent du développement classique ?

Une application web ou mobile classique va être structuré de la façon suivante :

- une base de données
- un frontend, ou interface utilisateur
- un backend, qui va servir à récupérer ou mettre à jour les données.

Dans le cas d'une application web, frontend et backend peuvent être regroupés dans un seul dossier (ou repo pour les plus techniques). La base de données, le backend et le frontend peuvent être sur le même serveur ou non.

En No-code, et bien c'est pareil ! Enfin presque. On ne parle pas de serveur mais d'outil : on peut n'utiliser qu'un seul outil, qui va regrouper le backend, le frontend et les données, ou bien choisir d'en utiliser plusieurs, selon les fonctionnalités offertes par chacun et dont on a besoin, et aussi le coût de ces outils.

Mais il y a aussi des outils plus spécialisés, techniquement ou fonctionnellement :

- Machine learning
- Automatisations
- Développement mobile
- Pour les entreprises
- CRM

Ces outils (généralement des SaaS - Software as a Service) propose un panel d'abonnements incluant différentes fonctionnalités, dont le contenu est généralement détaillé sur une page tarifs / pricing. L'étude de cette grille tarifaire est un point essentiel avant d'entamer le développement, car le coût d'une solution en No-code est en partie déterminé par celui des licences des outils qui la compose. Généralement lié au nombre d'utilisateurs, le coût annuel d'un même outil peut ainsi varier drastiquement.

En résumé, le No-code / Low code ne fait pas référence à un outil, mais à une approche du développement d'application, de plus en plus évoquée sous le terme de programmation visuelle.

Car même si développer une application en No-code peut se faire sans rien y connaître en langage informatique, des bases de programmation sont tout de même nécessaires pour ne pas s'y perdre, et il est important de le mentionner pour éviter à quiconque voudrait s'y aventurer de comprendre les concepts sous-jacents de ces outils.

Pour vous donner une idée, voici une représentation (non exhaustive) du paysage No-code en 2022 :

![Nocode landscape in 2022](https://miro.medium.com/v2/resize:fit:4800/format:webp/1*vHimtUHonwvHmAHImz7bNg.jpeg)

5. Avantages et inconvénients

En fort développement, ces outils deviennent populaires car ils révolutionnent le développement d'applications. Auparavant réservé aux startups ayant levé des millions d'euros ou aux entreprises avec un budget conséquent, développer une application sur mesure est aujourd'hui à la portée de tous. Et leurs avantages sont nombreux :

- Comme je le disais, le coût de développement est sensiblement réduit. En embarquant des composants génériques prêts à l'emploi, le Maker (nom donné au créateur de solutions No-code) n'a plus qu'à les assembler et paramétrer selon les besoins métiers du client. Le No-code est parfaitement adapté aux startups et PME souhaitant tester rapidement des idées avec un budget limité.

- La prise en main est facilitée par l'ergonomie des interfaces, occultant la complexité technique. Cette accessibilité permet au client d'être autonome et de pouvoir tester lui-même de nouvelles fonctionnalités. C'est ce qu'on appelle les citizen developers : des personnes avec peu ou pas de formation initiale dans le domaine du développement informatique, mais présentant un certain engouement pour cet environnement et avec assez de maîtrise des règles métier pour pouvoir les traduire de façon logique.

- Tester ou prototyper des idées est beaucoup plus rapide. Là où il fallait auparavant faire appel à une équipe technique, expliquer le besoin, valider des devis et des livrables, il est désormais possible de tester une fonctionnalité en utilisant l'outil adéquat, selon son environnement et ses contraintes.

- Il est possible de s'interfacer et de créer des ponts avec des outils existants (selon les API et fonctions proposées) permettant d'éviter des doubles saisies et d'éventuelles erreurs de recopie. Par extension, il devient possible d'automatiser des tâches récurrentes et rébarbatives (classification ou envoi d'emails, création de rapports ou de tableaux de bord, génération de documents, et plein d'autres).

- Les évolutions techniques sont gérées par la plateforme, et peuvent (ou non) être déployées automatiquement sur les solutions développées. Le coût de la maintenance en est alors diminué.

Mais ces avantages ont aussi leur revers :

- Du fait de l'abstraction qu'elles représentent, il est difficile voire impossible d'accéder directement aux fonctionnalités des technologies sous-jacentes auxquelles elles se superposent. Si vous avez une contrainte forte imposant l'utilisation de fonctions non intégrées dans un outil No-code, il faudra alors prévoir de développer cette fonctionnalité de façon classique.

- La performance est aussi un enjeu important en programmation visuelle. Ces outils étant conçus pour répondre aux besoins du plus grand nombre, construire une solution entièrement en No-code si vous avez des contraintes de performance n'est probablement pas la meilleure solution. Certains outils proposent des abonnements, où vous disposerez de votre propre serveur, où vous pourrez ainsi bénéficier de meilleures performances et souvent d'un support dédié, moyennant un surcoût non négligeable. Il est également possible de bâtir des solutions hybrides, combinant No-code et développement classique.

- Ayant un background de développeur, la documentation a une importance particulière. Si d'un point de vue fonctionnel le No-code n'a pas d'impact, la documentation technique doit quant à elle être repensée. En effet, il devient très compliqué de garder une documentation à jour quand une modification du schéma de donnée ou d'un endpoint peut se faire en quelques clics. Écrire ou modifier la documentation peut alors prendre plus de temps que d'intégrer ou modifier une fonctionnalité. De plus, même si les plateformes permettent généralement la gestion de la documentation technique, il peut être utile de définir un cadre pour que chaque membre de l'équipe rédige la documentation de la même façon.

- Il peut être très compliqué de remplacer une plateforme par une autre, ou alors au prix d'un nouveau développement complet. Ce genre de décision peut être le fruit d'un changement d'échelle ou de tarification de la plateforme. Ayez donc bien en tête vos objectifs lors du choix des outils, ou du moins prenez ceci en compte dans vos coûts si vous prévoyez de re-développer plus tard sur un autre outil.

6. Conclusion

Le No-code et le Low-code offrent une approche révolutionnaire du développement d’applications, ouvrant la voie à des solutions rapides, accessibles et innovantes. Bien qu'ils ne soient pas adaptés à tous les cas d'usage, ils répondent parfaitement aux besoins des entreprises cherchant à accélérer leur transformation numérique tout en maîtrisant leurs coûts. Chez AD-QWAT, nous sommes convaincus que ces outils, associés à notre expertise, peuvent transformer vos idées en applications fonctionnelles et performantes, rapidement et sans compromis sur la qualité. Contactez-nous pour discuter de votre projet et découvrir comment le No-code peut devenir votre meilleur allié.

Other Articles

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read article

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read article

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read article