no code
Débutant,  Développement web

Le No Code : la fin des développeurs ?

Le No Code, un terme qu’on entend de plus en plus de nos jours et qui fait peur à certains développeurs.

Et pour cause, certains pensent que l’histoire se répète comme à l’époque avec les ouvriers où l’émergence de certaines machines a volé et remplacé leurs travaux.

Je peux comprendre cette peur, mais je vais vous montrer qu’elle est infondée, mais surtout en quoi consiste le No Code et comment vous pouvez le dompter dans votre carrière de développeur.

Qu’est-ce que le No Code ?

Il faut quand même définir ce qu’est le No Code. A contrario du code, ce que vous faites tous les jours, le No Code est une façon de concevoir des logiciels.

On peut même dire qu’il y a une même finalité que le code : produire une application pour répondre à un besoin. Seulement le chemin pour y arriver n’est pas le même bien entendu.

Là où vous devez produire des lignes de codes et une structure applicative particulière pour obtenir un résultat, pour l’autre vous devez juste utiliser les interfaces graphiques pour l’obtenir (souvent un système de drag and drop).

Notez bien que j’ai employé « les interfaces graphiques ». Car vous devez comprendre qu’un outil No Code va répondre à une problématique en particulier.

Donc si vous voulez croiser des données et des problématiques en No Code vous devrez utiliser plusieurs interfaces No Code. Nous verrons ça juste après.

On peut donc dire que le No Code est un moyen simplifié et rapide pour produire une application de manière et est à destination d’un public qui n’a aucune connaissance du code principalement.

Architecture d’une application à base de No Code

Comme je l’ai dit précédemment, un outil No Code va répondre à un besoin particulier. Prenons un exemple très simple : Google Form. 

Google Form est un outil No Code, car il vous permet de créer facilement et rapidement des formulaires en ligne pour collecter des données comme un questionnaire de satisfaction ou un sondage par exemple.

D’ailleurs, mon sondage est d’ailleurs un Google Form par exemple.

C’est déjà un bon début. Mais admettons que suivant une donnée que vous collectez dans Google Form, vous souhaitez déclencher une action précise comme l’envoi d’un e-mail personnalisé par exemple là c’est déjà plus complexe.

Pourquoi complexe ? Parce que Google Form ne le permet pas, mais surtout il n’est pas destiné à le faire.

La bonne nouvelle c’est qu’il y a un tas d’outils No Code pour parfaire le besoin, mais surtout qui sont capable de travailler et de communiquer ensemble.

Interfacer plusieurs outils No Code entre eux va vraiment permettre de produire une vraie application digne de ce nom.

L’architecture 3-tiers

Vous connaissez sans doute l’architecture 3-tiers en programmation non ? Sachez que les outils No Code sont calqués sur cette architecture.

Pour rappel l’architecture 3-tiers c’est 3 blocs :

  • Base de données pour stocker les données
  • Application, aussi appelée Back-end pour traiter des instructions et données
  • Client, aussi appelé Front-end pour interagir avec l’utilisateur

Suivant vos besoins et ce que vous voulez mettre en place, il est possible de réaliser un logiciel complet grâce à un outil No Code destiné à chaque partie de l’architecture

Quelques exemples d’outils No Code pour une architecture 3-tiers

Base de données

Pour la partie base de données, nous avons 2 types de bases de données assez courantes comme en programmation.

On aura les données structurées comme un tableur où Google Sheet ou Airtable répondront parfaitement à ce besoin. Et il y a les données non structurées comme un Drive comme Google Drive ou Dropbox.

Application

Pour la partie application, on va retrouver principalement des outils No Code qui auront le rôle de chef d’orchestre.

Ils vont vous permettre de faire communiquer plusieurs outils ensemble qui n’était pas prévu à la base avec une facilité déconcertante. Le plus célèbre d’entre eux se nommant Zapier, mais ils en existent bien d’autres, dont 2 qui se révèlent être aussi particulièrement efficace à savoir Automate.io et Integromat.

Client

Pour la partie client, ce sont des outils No Code qui représenteront le point d’entrée pour capter des données ou le point de sortie pour afficher des données. C’est la partie visible de l’iceberg. Google Form est un No Code client de l’architecture 3-tiers, tout comme l’est aussi Typeform

Peut-on réellement tout créer avec des outils No Code ?

Ce qui peut faire peur c’est qu’on voit partout qu’avec le No Code il est possible de réaliser tout et n’importe quoi, que cela prend de l’ampleur et qu’on en serait qu’à ces débuts ce qui est synonyme d’avenir.

Et c’est totalement vrai sur le principe, mais seulement dans certaines proportions. Le No Code n’en est qu’à ses débuts et à l’heure d’aujourd’hui il permet de créer des applications avec quelques fonctionnalités basiques et des traitements assez basiques.

Car si l’on peut réellement tout créer avec des outils No Code pourquoi les plus gros sites Internet qui existent aujourd’hui ne sont pas réalisés en No Code ?

Réfléchissez juste 2 minutes en prenant une de vos applications préférées que vous utilisez tous les jours.

Prenons par exemple Facebook et posez-vous cette question : pensez-vous qu’il soit possible de réaliser Facebook en No Code ?

On peut être tenté de dire que oui et on aurait raison. Car après tout Facebook c’est un réseau social où vous avez des amis, où vous pouvez poster des messages, parler avec des gens et participer aux posts que vous voyez. Cela reste assez générique en surface, et je dis bien en surface.

Car si on gratte un peu le vernis de Facebook, on s’aperçoit que c’est en fait bien plus complexe que cela comme son algorithme de fil d’actualité qui vous montre ce qui a vraiment un intérêt pour nous.

Ou encore son système de publicité interne ou le fait de vous proposer de faire votre propre pub, etc.

Pensez-vous réellement que vous pourriez réaliser cela en No Code ? Et si c’est possible de le faire, pensez-vous que ce sera facile sans que vous soyez freiné dans votre élan de créativité ?

Je pense que vous avez compris où je voulais en venir. 

Très honnêtement, j’ai beaucoup de mal à me faire à l’idée de pouvoir réaliser des applications complexes avec des règles métiers hyper spécifiques. Même si je suis convaincu qu’un jour on arrivera à le faire, mais ce n’est pas pour aujourd’hui.

Le No Code = la mort des développeurs ?

Il y a une chose qui est sûre c’est que ce que cela ne doit pas nous inquiéter, nous les développeurs. Le No Code ne doit pas être vu comme une menace, mais plutôt comme une évolution de notre métier.

Parce que si vous regardez au cours de l’histoire de l’humanité, il y a peu de métiers qui ont disparu, mais beaucoup ont été chamboulés et on subit des évolutions.

Le métier de l’ouvrier a fortement évolué depuis plusieurs décennies par exemple. Là où il travaillait de manière manuelle maintenant Il travaille sur des machines.

Rétrospectivement on peut dire qu’il s’est qualifié et qu’il s’est spécialisé.

Bon l’image est un peu exagérée, mais vous avez compris l’idée. Notre métier évolue tous les jours et le No Code fait partie de cette évolution.

Là où au début on trouvait et recherchait beaucoup de pisseurs de lignes de code aujourd’hui on va plutôt trouver des développeurs qui vont trouver des idées, challenger les projets, orienter, conseiller et mettre en place ce qui fait le plus de sens et de valeurs ajoutées dans un projet.

Encore une chose : le No Code ne vous remplacera pas en tant que développeur parce qu’il faut des développeurs pour développer des outils No Code.

Comment tirer profit du No Code en tant que développeur ?

Je vous ai dit un peu plus haut que les outils No Code sont destinés à des personnes non développeurs. Mais cela ne veut pas dire qu’en tant que développeur vous ne pouvez pas vous même les utiliser.

D’ailleurs je vous encourage fortement à utiliser les outils No Code dans votre métier. Et peut-être que vous en avez déjà utilisé sans vous en rendre compte qui sait.

Dans mon cas j’utilise Ethereal qui me permet de tester des envois d’e-mails quand je développe. C’est un outil No Code, car via une interface web on génère une adresse e-mail et on peut directement accéder à la boîte e-mail depuis cette même interface.

Expérimenter et comprendre les mécaniques informatiques

Les outils No Code peuvent être un bon exercice pour un développeur pour imaginer et créer une structure applicative.

Cela va vous permettre de créer rapidement un projet dans sa globalité et donc de comprendre chaque maillon de votre flux applicatif pour mieux l’appréhender lorsque vous pouvez le produire avec des lignes de codes.

Prototyper

Je trouve que c’est un atout majeur pour nous les développeurs. Oui avec le No Code on peut facilement et rapidement prototyper une idée.

Avant on devait passer par des maquettes graphiques pour se projeter ou payer un prototype rapide pour ceux qui avaient le temps et l’argent pour se le permettre.

Aujourd’hui on peut directement prototyper un flux qui représenterait une future application et pouvant être peaufiner et bien entendu utiliser en production.

Réaliser des petits projets

En alliant les 2 précédents, vous pouvez tout à fait réaliser des petits projets destinés à être utilisés en production.

Comme dit plus haut, notre métier a évolué : nous sommes amenés à comprendre le métier de notre client et de tirer la meilleure valeur ajoutée possible de son métier pour l’orienter et concentrer les efforts là dessus.

Certaines sociétés ou entrepreneurs veulent se diversifier et prospérer en trouvant de nouvelles idées . Seulement, elles ne sont pas sûres qu’elles soient bonnes et rentables. Elles veulent donc tester rapidement et à moindre coût leurs idées.

Le No Code est un moyen redoutable qui peut répondre à cette attente pour tester rapidement et concrètement l’idée. Si cela ne marche pas, on jette.

Si ça fonctionne, alors on peaufine ou alors on part sur une application réalisée par le code afin d’assurer sa prospérité, sa pérennité et supprimer les limites que l’on pourrait avoir techniquement avec du No Code.

Comment j’utilise le No Code ?

Je vous ai expliqué le No Code et donné des idées d’utilisations, mais comment je l’utilise dans mon cas ? Il y a déjà mon blog qui est sous WordPress (qui est un outil No Code pour réaliser un site Internet).

Vous vous dîtes peut-être que c’est un comble pour un développeur web d’avoir un blog sous WordPress donc sans l’avoir réalisé avec une ligne de code.

Vous pouvez me juger là dessus. Je n’ai aucun problème avec ça. L’objectif de mon blog ce n’est pas de vous démontrer mes talents de développeurs web, mais de vous partager mes connaissances et expériences sur ce domaine.

Ainsi la valeur ajoutée de mon blog ce n’est pas sa partie technique, mais le contenu que j’y mets dedans qui pour moi et pour vous aura le plus de valeur.

Donc, pourquoi m’embêter à passer du temps techniquement sur la réalisation du blog (que WordPress sait très bien faire) quand je mettre ce temps à profit sur une meilleure valeur ajoutée : le contenu que je crée ?

Un exemple d’utilisation No Code de manière intelligente

Au niveau professionnel, j’applique le même genre de raisonnement et de philosophie. Si une partie du projet n’a pas une forte valeur ajoutée et qu’un outil No Code peut très bien s’en charger, alors je ne m’en prive pas, mais je l’utilise et l’exploite de manière intelligente et sans me rendre dépendant.

Je travaille sur un projet d’un de mes clients qui est utilisé en interne. Ce client est une banque et le projet consiste à gérer tous les projets en informatique en matière de sécurité.

On a donc identifié avec lui que la plus forte valeur ajoutée devait être centrée sur la gestion des projets. 

Cependant, pour pouvoir les gérer il y a des données de bases à gérer pour alimenter la machine. Mais ces données de bases doivent être créées au départ et évolueront peu. Une bête gestion CRUD au final.

Alors nous avons concentré l’essentiel de nos efforts et du budget sur la gestion de projets avec du code puisque leur métier est spécifique et pour la gestion des données de bases nous avons utilisé l’outil No Code Airtable.

Mais nous l’utilisions de manière intelligente c’est-à-dire que l’on s’en sert comme un outil d’alimentation de données de bases sans s’en rendre dépendante.

Nous avons fait en sorte de récupérer automatiquement les données de Airtable dans une base de données MongoDB indépendamment de l’application que nous codons.

Ainsi si demain nous supprimons Airtable ou que celui-ci est tout simplement en panne (ce qui est fortement possible) alors notre système continue de fonctionner en toute autonomie.

Les inconvénients du No Code

Jusqu’à présent je vous ai expliqué ce qu’est le No Code, comment vous pouviez vous-même l’exploiter en tant que développeur et surtout rassurez sur le fait qu’on ne va pas vous voler votre travail avec ce genre d’outil.

Mais je n’ai pas parlé des inconvénients, car c’est comme pour tout il y en a et ils sont plus ou moins pénalisants suivant l’avis que vous vous faites des outils No Code et de votre stratégie d’utilisation.

Le prix

Même si la plupart des outils No Code propose une version gratuite qui peut convenir dans pas mal de cas de figure, vous risquez de devoir passer à un moment ou un autre à la version payante pour aller plus loin surtout niveau professionnel.

Il faut prendre en compte le coût de tous les outils No Code dont vous aurez sûrement besoin pour mettre en place votre système et bien souvent ce sont des coûts récurrents.

Et cela peut vite chiffrer quand on cumule l’ensemble.

Rien ne vous appartient

Ce point n’est vraiment pas à prendre à la légère. Même si vous construisez quelque chose d’unique, cela ne vous appartient pas.

Utilisez du No Code c’est utiliser un service et si demain ce service venait à fermer ses portes vous n’aurez plus accès à rien et vous n’aurez plus que vos yeux pour pleurer. Cependant, vous restez propriétaire des données.

Vous créez de la dépendance

Si votre application est totalement No Code, vous devez dépendant de tous les services que vous utilisez. C’est à dire des éventuels changements qu’ils peuvent effectuer que ce soit au niveau technique comme contractuelle.

Cependant, il faut reconnaître que vous obtiendrez des mises à jours et ajout de fonctionnalités régulièrement ce qui est plutôt agréable et confortable dans un sens.

Vous devez mouler votre idée en fonction des outils No Code utilisés

Même si au départ, vous ne serez pas confronté à cela, mais lorsque votre application pourra prendre de l’ampleur, vous voudrez certainement vous différenciez des autres et implémenter des logiques métiers plus personnalisés et plus poussés.

Vous risquerez alors à être freiné voir stoppé dans votre élan et devoir faire des concessions sur vos idées parce que vous ne pourrez pas les implémenter en No Code.

Epilogue

Ce que vous devez retenir c’est que le No Code n’est pas une menace pour les développeurs, mais plutôt un moyen alternatif pour produire des petits projets basiques ou des prototypes.

C’est à vous de faire la part des choses et d’en tirer profit pour utiliser ces outils dans des cas spécifiques sans vous en rendre dépendant et concentrer votre expertise du code sur ce qui fait le plus de valeur ajoutée dans un projet.

Si vous voulez faire partie d’une communauté No Code et approfondir le sujet, je vous conseille ce site internet : https://nocodestation.com.

N’hésitez pas à me laisser en commentaire ce que vous pensez du No Code et comment vous l’utilisez !

Partager ce contenu

J’aide tous les débutants en programmation en partageant mon expérience à tous ceux désirant apprendre sur mon blog « Apprendre la programmation.net »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Voudriez-vous recevoir mon guide pour débutant des 7 erreurs à éviter pour bien débuter en programmation ?