-
Articles
-

Automatisation, NoCode, LowCode, Code... quatre niveaux d'abstraction logiciel

rédigé par
Thomas Groc

Il ne se passe pas un jour sans que l'on découvre un nouvel outil NoCode ou LowCode... il n'est pas toujours facile de s'y retrouver dans ce riche écosystème.

Découvrons 4 niveaux d'abstraction de développement, de l'automatisation NoCode au code, chacune ayant ses caractéristiques, ses forces et ses faiblesses selon les besoins. Cela vous permettra de mieux comprendre les différences afin d'identifier la bonne approche pour votre projet.

Pour mieux illustrer chaque niveau, prenons un cas d'utilisation simple : imaginez que vous souhaitez créer une application de réservation de VTC de type Uber pour vos utilisateurs bêta.

Niveau 01 - Automatisation NoCode :

Définition : L'automatisation est l'art de combiner plusieurs services web (via des API) pour créer de la valeur et digitaliser des processus manuels. Aujourd'hui, l'automatisation peut être mise en œuvre facilement sans aucune compétence en programmation grâce à des outils puissants tels que Zapier ou Make (anciennement Integromat).

Revenons à notre exemple d'application VTC : Avec l'approche de l'automatisation NoCode, nous pourrions connecter un formulaire créé sur Google Form, permettant aux personnes souhaitant utiliser votre service de demander un VTC (adresse et heure de prise en charge) à une Google Sheet pour centraliser les demandes (par exemple, afin que les chauffeurs puissent prendre en charge les passagers).

Limites : Fonctions et interfaces client limitées / Faible évolutivité / Expérience client limitée.

Niveau 02 - Développement NoCode :

Définition : Le développement No-Code permet aux non-développeurs de créer des applications web ou mobile sans aucune ligne de code. Glide ou Adalo font partie de la famille des outils de développement no-code.

Dans le contexte de notre application VTC : avec l'approche NoCode, nous pourrions développer une application mobile simple pour la réservation de chauffeur et visualiser les réservations directement sur un panneau d'administration dédié. Le tout sans une seule ligne de code.

Limites : Les développeurs sont limités aux fonctionnalités NoCode de l'outil de développement (pas de personnalisation des éléments, comme la carte pour obtenir une mise en page dynamique propre à l'application Uber). Les performances de l'application peuvent également être limitées, notamment en phase de croissance (scaling).

Niveau 03- Développement LowCode :

Définition : Le développement LowCode permet aux développeurs plus expérimentés de créer des applications web ou mobile en combinant une approche NoCode + Code. Bubble ou bien Outsystems sont des technologies qui permettent d'ajouter du code en surcouche des plateformes. La combinaison du meilleur des deux mondes permet aux développeurs et aux créateurs d'implémenter rapidement les fonctionnalités qui représentent une faible valeur ajoutée pour se concentrer sur celles qui apportent une réelle valeur ajoutée (généralement avec la programmation) sans limitations techniques.

Avec l'approche LowCode, nous pourrions donner vie à une application mobile complexe proche de l'application Uber (à la fois en termes d'expérience et de logique utilisateur).

Limites : Les développements de niche technologique (comme les jeux vidéo par exemple) ou les fonctionnalités très complexes (algorithmes, IA etc...) qui nécessitent des compétences techniques avancées. La plupart du temps, une équipe spécialisée de développeurs s'implique dans ce type de projets logiciels.

Niveau 04 - Développement Code

Définition : Le développement dit traditionnel (avec un langage de programmation code) consiste à construire des applications web ou mobile grâce à des langages de programmation et des frameworks (Node.js, React, PHP...). Cette approche permet aux développeurs de construire des fonctionnalités complexes ou de configurer des infrastructures sophistiquées (qui nécessitent généralement un haut niveau d'évolutivité).

Avec cette approche, les possibilités de création sont infinies. Une équipe de développement chevronnée pourrait mettre en œuvre un puissant moteur de prédiction des prix et mettre en place une infrastructure d'hébergement optimisée capable de supporter des millions de demandes quotidiennes...

Limites : Temps de développement long, risqué surtout en phase de lancement, coûts élevés pour une équipe complète full-stack (Front-end/Back-end/DevOps)...