To code or not to code
Pour commencer cette année 2021 j’ai envie de parler d’un mouvement qui m’interpelle depuis quelques temps: le No-code.
Une tendance qui n’est pas nouvelle
Le phénomène no-code n’est pas nouveau, mais force est de constater qu’il a pris de l’ampleur ces derniers mois. Vous pourrez d’ailleurs vous en rendre compte par vous-même en tapant ces deux mots dans votre navigateur préféré. Le nombre de sites et d’articles traitant du sujet (anglophone ou francophone) est en pleine expansion. Mais qu’est-ce qui se cache réellement derrière ce terme plein de belles promesses?
Petit rappel
Je ne suis ni historien, ni spécialiste des architectures matérielles. Je vous épargne donc le cours d’histoire: les cartes perforées, la machine de Turing, Ada Lovelace, etc… Ainsi que le cours sur les différents type d’architectures hardware des systèmes informatiques: Cray, Amiga, PowerPC, x86….
Pour faire simple, on va dire que les systèmes informatiques modernes sont organisés en couche. Chacune de ses couches vient se superposer à la précédente et représente de fait un niveau supplémentaire d’abstraction par rapport à la machine. On va ainsi de la couche la plus basse, la logique électronique, vers la couche la plus haute, nos langages et frameworks de programmation quotidien. Vous l’aurez compris, cet arrangement est essentiel car il évite au développeur Web, par exemple, de devoir programmer l’allumage de chaque pixel de l’écran dès qu’il rajoute un composant sur une page. Si l’on devait comparer cette structure en couche à celle d’un oignon, on pourrait dire que le no-code c’est la peau de cet oignon.
Un éco-système complet
Le no-code regroupe toute une galaxie d’applications qui vont permettre à tout un chacun, selon son niveau, de construire des applications (web, mobile, desktop), des chatbots, des jeux vidéos, des newletters, des scénarios d’automatisation de tâches…
En fait il y a à peu près tout ce qu’on pourrait imaginer. Il y a du gratuit et du payant. Souvent les fonctionnalités de bases sont gratuites puis pour avoir le droit à plus il faudra s’abonner ou payer un forfait en rapport avec votre utilisation, plus ou moins importante, de la solution. Pour vous faire une idée, vous pouvez retrouver des listes intéressantes de ces applications sur deux sites: No Code List et Quel outils no-code pour les réfractaires à l’anglais. Pour ces derniers d’ailleurs, il va falloir songer sérieusement à se mettre à la langue de Shakespeare car la grande majorité de ces outils « sans-code » ainsi que leur documentation sont en anglais.
Mieux vaut être bilingue
Cette documentation va d’ailleurs avoir une place importante dans la façon dont vous allez pouvoir travailler avec ces outils. En effet, certains sont très intuitif, comme le fameux tableur body-buildé Airtable, et vont vous permettre de construire très rapidement quelque chose d’exploitable. D’autres vont avoir une courbe d’apprentissage plus ou moins longue en fonction de la complexité de ce que vous voulez faire. Je pense notamment à Thunkable qui permet de construire des applications mobiles et dont certaines notions resteront obscures aux non-devs. Dans cet optique de progression rapide de la prise en main de leur outil certains vous prendront directement par la main: Bubble, par exemple, vous fera suivre immédiatement un tuto guidé, et très bien fait, afin de vous faire découvrir les différentes fonctionnalités et la philosophie de son application.
Comme par hasard….
Pour revenir rapidement sur Airtable, il propose différents projets préconstruits dont un qui s’appelle « Job Hunting ». Pour ceux qui ont suivi ma dernière série d’articles consacrés à la recherche d’un premier job de développeur. Vous verrez que ce template est quasiment la copie (en plus complet) de l’outil de suivi que j’avais préconisé de mettre en place pour cette recherche. Si j’avais su cela avant, je m’en serait saisi immédiatement. D’ailleurs je n’hésiterai pas en me servir dans le futur et je laisserai mon vieux fichier Excel au placard.
Des atouts
Ces nouvelles applications no-code possèdent de nombreux avantages: elles offrent des possibilité d’interconnexion et elles sont « developer-friendly » car elle sont toutes dotées d’API que l’on peut interroger et intégrer dans des applications existantes. Il existe même un projet du nom de NoCodeApi qui permet de les regrouper et de n’en faire qu’une seule à partir de celles que l’on a choisi. Autre avantage: elles peuvent être rapidement mise en œuvre dès lors que l’on est familiarisé avec leur fonctionnement.
Mais également des inconvénients…
Le revers de la médaille, c’est justement que ces applications demande du temps avant d’être maitrisées. De plus il existe aujourd’hui tellement de solutions que faire un choix est difficile, passez des heures à apprendre, à lire des docs et à faire des essais, pour se rendre compte que l’outil ne convient finalement pas à ce que nous voulons faire peut-être frustrant et couteux. Autre problème, les entreprises qui vont choisir de travailler avec ces applications pourraient se retrouver confrontées à l’abandon de certains de ces projets et devoir tout recommencer. Beaucoup de ces outils sont hébergés dans le Cloud et cela pose également un problème d’externalisation des données.
Go/No go ?
Malheureusement je n’ai pas de boule de cristal et savoir qui sera encore là dans deux ans est impossible. Les modèles économiques qui sous-tendent ces projets sont pour la plupart dépendant du nombre d’utilisateurs qui vont les adopter. Je conseillerai donc la prudence à ceux qui voudraient tout basculer sur ces nouveaux logiciels. Néanmoins il est clair que pour des petits projets à lancer rapidement ou pour gagner en productivité sur certaines parties d’un plus gros projet, les outils no-code peuvent être très utiles. Une chose est sûre, en tant que développeur, même si ce n’est pas demain la veille que ces solutions nous remplaceront, nous devons garder l’œil dessus et je dirais même mieux: nous devons apprendre à nous en servir et savoir les intégrer dans nos différents projets.
Comments are closed.