Mais quel est donc ce terme à la mode dont on entend de plus en plus parler ? A quoi cela sert-il et pour qui ? Récit du début d'une histoire avec cette technologie.
Ma découverte du no-code
J'ai appris l'existence no-code par un ami qui l'utilisait déjà beaucoup, et depuis longtemps. A la terrasse du café où nous étions, il me donna quelques noms de site web et j'allais les explorer plus tard. Parmi ceux-ci :
En continuant mes recherches, je découvris aussi l'existence du site français de ressources no-code >Contournement>, dirigé par des anciens de Simplon. Des personnes et un environnement de qualité donc...
J'ai regardé pas mal de vidéos de présentation, des tutos d'outils, ai commencé à parcourir le site américain référent VisualDev. J'ai essayé Webflow un peu.
Mais ce que je voulais surtout c'était comprendre l'ensemble de l'écosystème pour y revenir plus longuement, voire plus professionnellement, par la suite en cas d'affinité ou de besoin.
Je ne suis pas allé bien loin dans la maîtrise des outils mais aimerais quand même livrer ici ce que j'en ai compris et ce que j'en pense, quitte à me tromper ou à changer d'avis dans plusieurs mois.
Qu'est ce que le no-code ?
C'est l'ensemble des technologies qui rendent possible la création de sites web, de landing pages, d'applications web, d'applications mobiles ... sans avoir à produire soi-même du code, ou plus précisemment à éditer et maîtriser les langages informatiques sous-jacents.
Cette possibilité est là car des sociétés ont mis en place des applications web suffisamment évoluées pour que ce code soit généré par elles, en suivant les indications que vous leur donnez via une interface graphique plus intuitive.
Le no-code permet aussi de simplifier l'automatisation des processus. Ainsi la programmation, c'est à dire la suite logique d'actions déclenchées en fonction d'événements prévus à l'avance, c'est vous qui la concevez, mais c'est l'application web qui la "code", la transforme en langage informatique.
Je dirais enfin que le no-code c'est aussi la facilité de mise en relation de ces applications web entre elles via des "ponts" (techniquement : des APIs) pour augmenter encore le champ des possibilités : base de données, paiement en ligne, hébergement, e-commerce...
Pour quel public ?
Un public non développeur évidemment. Un public qui aimerait monter un site web mais ne sait pas comment. Plus généralement, un public qui a une idée, un concept à tester, et qui voudrait les tester en ligne ou sur mobile sans avoir la maîtrise technique nécessaire à leur mise en place.
Si j'osais la métaphore : c'est comme en cuisine si quelqu'un voulait inventer un dessert, pour voir s'il va plaire, et éventuellement l'industrialiser par la suite, mais que cette personne n'avait ni le temps de prendre des cours de pâtisserie (apprendre le HTML, le javascript...), ni l'argent pour louer les services d'un pâtissier professionnel (le développeur). Il va donc apprendre à se servir d'un robot multifonction (les applications no-code) qui va couper et cuire à sa place tous les ingrédients imaginés. Bon je schématise hein, mais vous avez compris l'idée.
Ce que j'en pense
Du bien
Je trouve vraiment très intéressant que le no-code permette à des personnes de s'affranchir des contraintes et connaissances techniques informatiques, disons au moins au début, afin de tester leurs idées.
Avec ces nouveaux publics, il se crée des nouveaux domaines d'activité économique et pédagogique : les éditeurs d'outils no-code, les formateurs, les formations de formateurs, les préconisateurs d'outils, le domaine spécifique du public utlisant le no-code, etc..
Le fait de passer par des processus d'automatisation (comme c'est le cas pour le DevOps avec l'intégration continue et les tests unitaires) permet souvent d'abaisser le nombre d'erreur, permet aussi de réduire le temps de débugage.
Du moins bien
Pour l'instant cela semble être le cas : la qualité du code généré par les outils no-code est bonne (qualité W3C je veux dire, sémantique du code), mais rien ne dit que cela sera toujours le cas à l'avenir.
Il faudra aussi veiller à ce que ces outils respectent une certaine portabilité : que le code généré puisse être exporté sans complications par exemple. Tous les outils actuels ne permettent pas cela.
Veiller aussi à ce que ces outils ne deviennent pas trop chers (pour l'instant ça va). Mais si le robot multifonction coûte le prix d'un bon pâtissier, autant disposer d'un bon pâtissier non ?
Bref, tout ce qui est lié au bon vouloir de plateformes privées.
Conclusion
Il ne s'agit pas d'opposer le no-code au code. Les deux ont leurs avantages et inconvénients. Et les deux ne se phagocytent pas, pas encore. Là n'est pas la question.
Je suis globalement très favorable à l'arrivée du no-code. Surtout pour sa promesse d'inclusion, de facilitation de compréhension du code et de possibilité de hacking. Comme je l'ai été pour chaque nouvelle appartion de framework de développement web.
Mais, comme le théorise Jacques Ellul dans "le système technicien", la technique (ici l'apparition du no-code) n'est ni bonne, ni mauvaise, NI NEUTRE, mais ambivalente. La technique porte ses effets en elle-même, indépendamment des usages. "Inventer le train c'est inventer le déraillement", disait Paul Virilio.
Je ne mesure pas encore quels seront les effets "ambivalents" du no-code sur le moyen-long terme. A la manière des magasins de thèmes Wordpress gratuits (ou peu chers) qui, pour se passer des intégrateurs et graphistes web, uniformisent l'apparence des sites du web entier. Même idée avec IKEA et la décoration d'intérieur des trentenaires ; on se dit que c'est pour débuter dans la vie et puis on garde les mêmes meubles que tout le monde pendant des années.
Mais profitons donc des bons côtés dès à présent.