Low-code, FAVEOD [FR]

[English Version] [Spanish Version]

Imaginez que vous puissiez développer une application complète et fonctionnelle en quelques jours. Imaginez en plus que vous puissiez faire cela avec un minimum de code.

Tel est le défi relevé par la technologie “low-code”.

Voilà maintenant quelques années déjà que de telles offres montent en puissance : tous les grands (Google, Microsoft, SalesForce, …) s’y intéressent. Que ce soit pour le développement d’applications mobiles/web, des petites applications simples aux applications complexes à l’échelle d’une entreprise, le spectre s’élargit de jours en jours et les possibilités se multiplient.

Qu’est ce qu’une plateforme de low-code?

Une plate-forme dite Low-code est une plate-forme de développement permettant de réaliser et de déployer rapidement des applications métiers complexes en limitant au maximum l’effort de développement. En d’autres termes, cela permet de construire une application/livrable rapidement avec un minimum de code.

Cinq raisons pour choisir le low-code.

1). Accélère la transition numérique, permet un déploiement rapide avec des résultats rapidement visibles pour le client

Dans un monde de technologie en perpétuelle évolution, les entreprises, surtout celle enlisées dans d’anciens modèles technologiques, ont beaucoup de mal à suivre le mouvement.

Un des obstacles parmi les plus imposants et les plus communément rencontrés par les entreprises est la longueur des cycles de développement:

En effet, Quel que soit la méthode ou le langage classiquement utilisé, l’architecture d’une application et ses fondamentaux peuvent difficilement être revus une fois que les développements sont entamés et/ou à un stade avancé. Par exemple, en Java, une modification simple telle que changer le type d’une variable entraine une cascade d’autres changements à reporter à différents endroits.

Une conception, même poussée, ne peut tenir compte de contraintes futures induites par le besoin d’un client ; et chambouler la conception initiale sur laquelle repose toute l’application, est toujours très coûteux.

Réponse low-code : Privilégiant la composition visuelle au codage traditionnel. Pour reprendre le même exemple, changer le type d’une variable revient à changer une sélection dans une liste, et utiliser une méthode de drag-&-drop se fait en trois clics.

Les modifications même dans un stade avancé de l’application n’ont que peu d’impact.

2). Avancées des plateformes de low-code

« Avec le low-code, nous ne développons que des applications simples ».

Ce mythe fortement présent dans la communauté des développeurs date de l’époque où les plateformes de low-code n’était que peu aboutis. Aujourd’hui, ce n’est certainement plus le cas. Il existe sur le marché des plate-forme perfectionnées avec une flexibilité remarquable.

Certaines plateformes de low-code ont plus évolué que d’autres et offrent par conséquent plus de possibilités. Le prix des offres est également proportionnel à ces possibilités : à vous de faire le bon choix pour sélectionner la plateforme qui répond à votre besoin.

3). Optimisation des ressources

Prenons le cas d’une application WEB : Avec une technologie classique, les développeurs passent du temps à développer des composants « sans valeur métier ». Des briques telles que le CRUD, la gestion des dépendances, les formateurs de champs… sont déjà fournis nativement dans la plate-forme. Toutes les briques génériques à une application sont déjà présentes : les développeurs peuvent ainsi se concentrer sur le spécifique, sur les parties à la plus forte valeur ajoutée et à la plus forte valeur métier.

4). Un marché en plein essor

Le concept du low-code à proprement parlé est quelque chose qui a toujours existé (à moindre échelle) dans l’univers du développement.

Prenons le cas des tableurs Excel. En soi, chaque feuille de calcul possède les caractéristiques d’une application : elle contient des informations, elle les traite, permet d’interagir avec l’utilisateur pour saisir des valeurs, d’afficher les résultats et dans l’absolu les stocker, tout ça en utilisant des fonctionnalités natives dans la suite office.

Aujourd’hui, l’essor des solutions low-code nous confirme que le développement traditionnel ne peut plus suivre, voici ce que représente le marché du low-code au fil des années, 2,5 milliards en 2016 ; 15 milliards en 2020.

En comparaison, voici les chiffres/prévisions pour l’intelligence artificielle :

En 2020, nous avons donc comme prévision : 6Milliards $ pour l’intelligence artificielle, contre 15Milliards $ pour le low-code.

5). Risque réduit et rendement élevé

Etant donné la multitude de projets utilisant les briques fournies par les plate-forme de low-code, ces dernières sont testées, corrigées, optimisées et améliorées. L’utilisation d’une brique bénéficie donc d’un historique qui la rend stable, robuste et performante, d’autant plus que l’intervention humaine est limitée.

Plateformes de low-code

Il existe aujourd’hui dans le marché une multitude de plate-formes de low-code, en voici quelques-unes :

Forrester Wave: Low-code development Platforms

Malgré son absence du comparatif ci-dessus, due au fait qu’il n’est pas considéré comme un pure produit low-code (nous y reviendrons), nous allons prendre comme exemple la plateforme FAVEOD pour la suite de l’article.

FAVEOD

Domicilié à Paris, et créé en 2007 en qualité d’éditeur et distributeur, Faveod est une SAS détenue en totalité par ses fondateurs et son management. Plus de 400 projets réalisés avec sa technologie lui ont permis d’afficher en 2019 son douzième exercice bénéficiaire consécutif et un chiffre d’affaires en forte croissance. 

FAVEOD a été développé dans le but de :

  • Modéliser, concevoir et produire tout besoin complexe de A à Z, Le code est maintenu automatiquement et sans incohérence,
  • Se libérer des contraintes technologiques,
  • Être agile sur l’architecture,
  • Assurer un niveau de qualité logicielle extrêmement exigeant,
  • Avoir une productivité proportionnelle à la taille du projet,
  • Produire des applications professionnelles et sur-mesure.

1). Fonctionnement

Nous avons donc un DESIGNER (accessible depuis un navigateur web) avec lequel nous interagissons pour décrire le besoin, ce designer se représente sous la forme d’un IDE accessible depuis un navigateur.

L’architecture suit le modèle MVC (Modèle-Vue-Contrôleur) avec la possibilité de déployer sur une multitude de technologies  :

  • SGBD : PostgreSql, MySql, Oracle SQL Server, SQLite, MongoDb…
  • Back : Java (Tomcat, WebLogic, WildFly, WebSphere, etc.), Ruby (Puma, Unicorn, Passenger, etc.) et prochainement NodeJS et bien d’autres.
  • Front : AJAX, AngularJS, Angular, Jquery, HTML5, CSS3, Bootstrap, Javascript, C3, D3…

Le designer fournit aussi des éléments pour la gestion de projet ; notamment : l’alimentation des épopées, US et features, la supervision de l’avancement des tâches et diagramme de GANTT.

Il permet aussi de générer de la documentation technico-fonctionnelle, tel que :

  • Le schéma de la base de données,
  •  La description des US et features saisies dans l’outil.

L’application générée est déployée instantanément et accessible depuis une autre URL. Cette application fournit nativement des outils tels que :

  • L’accès à une console SQL permettant d’interagir avec la base de données générée,
  • La création et l’exécution de tâches asynchrones tels que des batchs,
  • L’accès aux logs applicatifs,
  • La génération de l’archive de l’application,
  • La gestion des habilitations et des workflows.
  • Un moteur de flux
  • Un moteur ETL
  • Un moteur éditique
  • Un moteur BI / dataviz
  • Un moteur de recherche

Notons bien que seule la conception se fait en SaaS sur les serveurs de Faveod, mais que le projet produit est totalement indépendant et nécessite une infrastructure tierce (Cloud, on premise, etc.)

2). Retour sur expérience

a). Courbe d’apprentissage :

  • Débutant : Formation FAVEOD (4 jours) + 1-2 semaines de pratique. Le formé peut commencer à poser le modèle de données, modifier légèrement les comportements par défaut et configurer les différents outils déjà présents (ETL, permissions, etc.). 
  • Moyen : Après 2 mois de pratique + échanges courants avec le support. Le formé commence à être autonome et à cerner l’esprit FAVEOD / low-code ; Création d’applications à complexité moyenne.
  • Moyen à expert : Après 4 mois de pratique – Faibles échanges avec le support. Niveau moyen à expert sur FAVEOD ; Le formé peut concevoir des applications à haute complexité.

b). Profil du développeur

Pour bénéficier au maximum des avantages de FAVEOD, le développeur doit être : 

  • Flexible: Capable de changer sa manière de développer et de concevoir une application WEB. Un développeur expert dans d’autres technologies va rapidement monter en compétences mais ne pourra pas transcrire ses réflexes dans cet outil. 
  • Curieux: Le designer FAVEOD se présente comme un logiciel complexe avec des boutons partout ; avant d’en avoir la maîtrise, il est souvent nécessaire d’explorer l’outil et de tester ses fonctionnalités.
  • Organisé: Dans FAVEOD en particulier, il faut cibler les modifications à apporter et où les apporter.  Même si la modification a l’air de fonctionner, faire des actions à un endroit inapproprié impacte directement la maintenabilité de l’application. Aussi, déplacer une action nécessite de repenser les interactions et représente un risque important de régression.

c). Prérequis techniques

La rapidité de montée en compétences du développeur dépend beaucoup de ses connaissances techniques : 

  • Modèle de données relationnel : le modèle de données dans ce contexte a une importance toute particulière ; sa conception influe sur les écrans automatiquement produits par la plateforme,
  • Ruby : Le langage de programmation FAVEOD, nécessaire pour tous les batchs et ce qui sort des standards FAVEOD,
  • JavaScript, JQuery, AJAX, CSS3 / HTML5 Bootstrap. 

Dans l’idéal, un développeur full Stack capable de réaliser des tâches à n’importe quel niveau de la pile des différentes couches qui constituent une application.

d). Faveod, low-code, mais pas que…

Malgré beaucoup de similitudes entre FAVEOD et la majorité des plate-formes de low-code, voici un tableau récapitulatif des différences que l’on peut avoir:

CONCLUSION

Le Low-Code peut changer la donne au sein d’une entreprise. Le fait de travailler à la vitesse numérique induit la création des capacités applicatives dont les utilisateurs ont besoin pour traiter efficacement les obstacles liés aux différents médias. En matière d’accès aux données, les outils de collaboration et les applications doivent être viables aussi bien sur un smartphone que sur un ordinateur de bureau. La transformation numérique est un impératif pour les entreprises modernes.

Pour y parvenir, les équipes du service informatique doivent pouvoir mieux collaborer, et plus rapidement que jamais. Il est nécessaire de disposer d’une plateforme commune moderne, puissante, mais qui peut également, dans le meilleur des cas, être accessible aux collaborateurs non informaticiens. Les plateformes Low-Code permettent aux DSIs d’alimenter l’innovation et d’accélérer le passage à la VITESSE NUMÉRIQUE.

Leave a Reply

Your email address will not be published. Required fields are marked *