8.6 C
Luxembourg

Le codage est-il mort ? Comment le low-code et l’IA vont transformer la production de logiciels

L'IA propose, mais c'est l'homme qui décide. Même une plateforme low-code améliorée par l'IA ne peut pas lire dans vos pensées et les transformer en logiciel opérationnel. Du moins, pas encore.

Les logiciels sont présents dans tous les aspects de notre société. De nos téléphones à nos réfrigérateurs en passant par nos voitures. En effet, même une voiture contient à elle seule des dizaines de millions de lignes de code contrôlant ses systèmes électroniques. Et les entreprises exigent chaque jour de plus en plus de logiciels dans le cadre de leur transformation numérique.

C’était déjà vrai il y a dix ans lorsque Marc Andreessen a écrit son célèbre article « Why software is eating the world » et c’est encore plus vrai aujourd’hui où l’on attend de toutes sortes de produits et services logiciels qu’ils soient « intelligents ». Par exemple, un produit peut avoir besoin d’interagir avec ses utilisateurs en langage naturel (par exemple, via un chat ou un voicebot), de donner aux utilisateurs des recommandations proactives (par exemple, proposer des produits supplémentaires à acheter), ou même d’être capable de faire des classements internes de clients en fonction de leur valeur potentielle à long terme, sur la base de leurs interactions passées avec l’entreprise.

Une chose est sûre. Le vivier actuel de développeurs professionnels ne pourra pas répondre à cette demande croissante. La pénurie de travailleurs hautement qualifiés est un problème bien connu au Luxembourg et en Europe. Je pense que la seule option pour les entreprises qui veulent maintenir le rythme et la qualité de leurs besoins en logiciels est d’adopter le low-code et l’IA générative comme stratégies de base. Seule cette démarche permettra d’assurer un développement rapide et rentable des applications logicielles.

Explorons ces deux concepts et voyons pourquoi ils représentent l’avenir du développement de logiciels, à condition de comprendre et d’atténuer leurs risques.

« […] plus de la moitié des adeptes de la GenAI utilisent des outils non approuvés au travail. »

Le développement de logiciels en low-code

Les plateformes low-code promettent la création d’applications logicielles avec peu de codage, grâce à l’utilisation d’environnements de modélisation visuelle et de modèles de logiciels prédéfinis à partir desquels le code de l’application finale est automatiquement généré. Il est même possible de créer certains types d’applications sans écrire une seule ligne de code grâce aux plateformes dites no-code, qui peuvent être considérées comme une version extrême du low-code.

Des cabinets d’études de marché comme Gartner et Forrester prévoient une croissance impressionnante de l’adoption des plateformes low-code. Toutefois, cette croissance dépend de l’évolution des plateformes low-code actuelles. Elles sont encore trop orientées vers la génération d’applications web classiques basées sur des formulaires, alors que les entreprises, comme décrit ci-dessus, exigent des systèmes logiciels plus intelligents capables d’exploiter les technologies de l’IA dans le cadre de leurs fonctionnalités de base. Par conséquent, des investissements importants dans la génération actuelle d’outils low-code pourraient conduire à des résultats décevants.

L’IA générative change la donne pour le développement low-code

L’IA générative (GenAI) fait référence à l’utilisation de modèles de machine learning pour la génération de texte, d’images, de vidéos – et même de code – en réponse à des prompts (l’instruction donnée à l’IA) de l’utilisateur décrivant le résultat souhaité. L’IA générative a de multiples applications dans le développement de logiciels, avec des avantages considérables pour la productivité des développeurs. Selon GitHub (une plateforme de développement logiciel appartenant à Microsoft) son célèbre GitHub Copilot, assistant de codage IA le plus populaire capable de suggérer des compléments de code au fur et à mesure que les développeurs tapent, permet déjà à ces derniers d’être 55 % plus rapides.

Mais je fais le pari que la GenAI aura un impact encore plus important lorsqu’elle sera appliquée sur des plateformes low-code. GenAI pourrait être utilisée pour suggérer des conceptions de logiciels alternatives, pour compléter automatiquement des modèles visuels basés sur les spécifications de projets antérieurs ou pour vous aider à écrire des générateurs de code plus avancés ou des règles métier complexes.

Cependant, la GenAI présente également certains risques. Le code généré peut comporter des bugs, des vulnérabilités, des fuites de données et même présenter différents types de préjugés sociaux à cause de les données utilisées pour former les modèles GenAI (par exemple, une application de demande de prêt hypothécaire basée sur l’IA qui serait biaisée à l’encontre des personnes de couleur).

La GenAI doit donc être utilisée avec prudence et précaution. Et chaque entreprise doit définir sa propre politique interne en matière d’IA. Et cela, même lorsque la GenAI ne fait pas partie de la stratégie de l’entreprise et n’est donc pas censée être utilisée, car plus de la moitié des adeptes de la GenAI utilisent des outils non approuvés au travail, selon une enquête de Salesforce.

« L’IA propose, mais c’est l’homme qui décide. »

Tirer parti de la puissance des plateformes low-code améliorées par l’IA

Le croisement du low-code et de l’IA générative va fondamentalement perturber le développement des systèmes logiciels d’entreprise de demain, en offrant de nombreux avantages tels que l’amélioration de la productivité des équipes de développement, de la qualité des logiciels et de la satisfaction clients. En outre, elle permettra à des personnes n’ayant aucune ou très peu de connaissances en informatique de créer de nouvelles applications d’entreprise. Comme certains le disent, et je suis d’accord, le langage de programmation de l’avenir ne sera pas Java ou Python, mais l’anglais (ou le français, ou l’allemand ou le luxembourgeois…) : les utilisateurs non techniques décriront l’application à un robot qui générera, déploiera et exécutera l’application dans le cadre d’une boucle de rétroalimentation continue.

La communauté des chercheurs étudie maintenant comment maximiser les avantages de la combinaison GenAI + low-code et transformer ce rêve en réalité. D’un côté, avec la GenAI pour aider les développeurs low-code ; de l’autre via l’utilisation du low-code pour accélérer le développement de nouveaux composants GenAI à intégrer dans nos systèmes logiciels. Un exemple significatif de ces efforts de recherche a lieu ici même au Luxembourg autour du projet BESSER, financé par le FNR, qui vise à construire plus rapidement des logiciels plus intelligents. BESSER met en place une plateforme low-code open source et intelligente. Un tel principe open source permet de limiter les risques du low-code en évitant les verrouillages potentiels par des fournisseurs ainsi que les menaces de la GenAI en améliorant la transparence, la responsabilité et l’explicabilité des modèles d’IA, ce qui est également exigé par la future loi européenne sur l’IA « AI Act ».

Alors, préparez-vous à cet avenir en encourageant vos développeurs et vos experts commerciaux à « jouer » avec ces technologies intelligentes (par exemple, avec BESSER !) et à découvrir directement leurs avantages et leurs limites. N’oubliez jamais que vous êtes toujours aux commandes (au sens propre comme au sens figuré). L’IA propose, mais c’est l’homme qui décide. Même une plateforme low-code améliorée par l’IA ne peut pas lire dans vos pensées et les transformer en logiciel opérationnel. Du moins, pas encore.

Jordi Cabot
Jordi Cabot
Le professeur Jordi Cabot est le responsable de l’unité Software Engineering RDI au Luxembourg Institute of Science and Technology (LIST). Il est également professeur affilié en informatique à l'Université du Luxembourg. En 2023, le professeur Cabot s'est vu attribuer la chaire PEARL par le Fonds national de la recherche du Luxembourg (FNR), dotée de 3 millions d'euros, pour mettre en place et coordonner le projet BESSER (BEtter Smart Software fastER) en collaboration avec l’Interdisciplinary Centre for Security, Reliability and Trust (SnT). Avant de s’installer au Luxembourg, Jordi Cabot a occupé des fonctions de professeur de recherche ICREA à l’Internet Interdisciplinary Institute, le centre de recherche de l'Université ouverte de Catalogne (UOC), où il a dirigé le laboratoire de recherche Systems, Software and Models (SOM). Il a également été professeur invité à l'Université des sciences appliquées de Norvège occidentale, professeur associé à l'École des mines de Nantes dans le cadre d'une chaire internationale Inria, postdoc à l'Université de Toronto, chercheur au Politecnico di Milano et à l'Université technique de Catalogne. Il a également cofondé deux startups. Ses recherches s'inscrivent dans le vaste domaine de l'ingénierie des systèmes et des logiciels, en particulier la promotion de l'utilisation rigoureuse de modèles logiciels dans toutes les tâches logicielles, tout en gardant un œil sur l'élément le plus imprévisible de tout projet : les personnes qui y participent. Ses thèmes de recherche actuels comprennent les techniques pragmatiques de vérification formelle, l'analyse des communautés open source, l'exploitation des données ouvertes/open data et le rôle que l'IA peut jouer dans le développement de logiciels (et vice versa).

A la une