Vous avez certainement vu passer la vidéo de Underscore sur la personne qui a développé des applications, avec zero connaissance technique, le tout avec des IA :
Réalité ? Fiction ? chacun est libre d’en juger, mais tester par soi même reste encore la meilleure option.
Voici donc les résultats de mon test : développer une application web avec des IA.
Disclaimer : de formation ingénieur, j’ai développé pendant mes études, je sais lire du code, je travaille sur des projets applicatifs et j’ai une bonne compréhension de l’univers IT en général, mais je ne développe pas du tout.
1. Trouver une idée d’appli — 20 min
Oui, cela peut paraitre évident, mais pour développer une application, il faut déjà savoir quoi développer.
Et quoi de mieux que ChatGPT pour lui demander d’identifier les aspects de sa vie à automatiser et améliorer.

Après quelques allers retours, je me suis lancé sur une idée d’application web permettant de :
- récupérer la liste de mes lectures sur Kindle
- ajouter d’autres livres manuellement
- gérer des avis et des commentaires sur les livres
- gamifier l’expérience de lecture avec des défis
Il existe certainement des applications en ligne permettant de le faire, mais cela me semblait être un idée relativement simple pour démarrer.
2. Identifier les fonctionnalités précises à développer — 5 min
Encore une fois, à partir de l’idée de gestionnaire de livres, il est très facile de demander à ChatGPT de rédiger des spécifications fonctionnelles.
Il propose alors des fonctionnalités détaillées, des écrans, et rédige le tout de manière très structurée :

Il me propose même des spécifications techniques, avec les différents outils que je devrais utiliser (que je ne vais pas prendre en compte).
3. Commencer à développer — 30 min
Dans la video d’Underscore, il expliquait avoir travaillé avec des agents via Crew AI, donc je me crée un compte (gratuit) et je commence à naviguer sur l’application.
Ne voyant pas trop comment ces agents pourraient développer dans le vide, je comprends qu’il faut que j’utilise Cursor également pour la plateforme de développement.
Ne connaissant absolument pas l’outil, je regarde un tuto sur Cursor, pour comprendre les bases de cette application.
1e surprise, après l’installation de Cursor, je dois télécharger Node.js pour que l’application puisse tourner.
Après quelques aller retours pour gérer les problématiques de droits d’accès, des problèmes d’emplacement des installations, et, deux redémarrage du PC, voici Cursos et Node.js installés et opérationnels.
Je découvre alors que dans Cursor, il y a déjà des LLM avec lesquels on peut échanger, et ce sont eux qui seront en charge de développer mon application.
Crew AI ne me sera d’aucune utilité sur ce projet. Peut être que des agents auraient pu m’aider à aller plus vite, mais ca ne sera pas pour aujourd’hui.
Je copie colle dans Cursor les spécifications fonctionnelles générées par ChatGPT, et je lui demande de commencer à travailler.
4. Commencer à développer (vraiment ?) — 1h
Pour un néophyte, Cursor est un outil assez incroyable. A partir des instructions données (les spécifications de mon outil), il identifie tout seul les tâches à effectuer, crée les dossiers et fichiers nécessaires, et commence à rédiger du code.
Pour que l’application fonctionne, il identifie que je dois télécharger PostGreySQL, et me propose même directement le lien de téléchargement (fiabilité de la recommandation ??).
Je m’execute, mais je me retrouve ensuite face à des problèmes d’autorisation sur mon PC, et malgré tous les contournements proposés par Cursor, je n’arrive pas à lancer l’application (oui, on peut lui partager un screenshot de notre écran, et il propose ensuite des solutions).
Je ne mentionnerais pas ici les quelques manipulations directement en ligne de commande, au cas où mon RSSI lira cet article…
Cursor me propose alors de passer par une autre solution technique, SQLite, pour contourner ce problème. Est-ce la meilleure option ? je ne sais pas. Si oui, pourquoi ne pas l’avoir proposé dans le début ? je ne le saurai jamais.
5. Commencer à développer (vraiment !) — 15 min
Cursor commence alors à créer les tables, le modèle de données, la page d’accueil, et tout semble se dérouler pour le mieux. Je vois passer des éléments lié à la base de données “Prisma”, alors que j’étais censé utiliser SQLite, mais je ne me pose pas trop de questions, je continue.
La grande force de Cursor, c’est qu’il n’y a littéralement rien à faire. Au début, il me demandait mon autorisation pour modifier des fichiers de code. Mais je lui ai rapidement indiqué dans les options qu’il pouvait continuer seul, je suis dans tous les cas bien incapable de juger ses choix.
Il y a tout de même une sécurité, toutes les 25 opérations, il lève le crayon et me demande de valider qu’il peut bien continuer. Mais ces 25 opérations peuvent correspondre à 10 bonnes minutes. 10 minutes pendant lesquelles il écrit, modifie, teste, corrige et recommence, sur des dizaines de fichiers en parallèle.
Car oui, il y a un élément très surprenant avec Cursor, c’est qu’il détecte ses propres erreurs et les corrige. Tout seul.
Viens ensuite le grand moment du test en local, sur le fameux localhost:3000.
6. Tester la V1 du code — 45 min
J’ouvre mon navigateur Chrome, je me connecte sur l’adresse locale demandée et là… rien du tout. Le code n’a pas compilé, des appels inconnus sont présents partout dans le code.
Element intéressant, Cursor permet de voir au fur et à mesure combien de prompts complexes (~échanges dans le chat) on a utilisé. Pour vous donner un ordre d’idée, arriver jusqu’à cette étape m’a demande une dizaine de prompts (seulement !).
Mais debuger la page d’accueil pour ne pas tomber sur le message par défaut de Node.js m’a demandé une dizaine de prompts de plus. Tout ca pour arriver à une page blanche avec un bouton “log in” au bout de 45 min.
Et sans mentionner mon pauvre PC, qui souffle à n’en plus pouvoir, à 90% d’occupation de la mémoire vive.
Je crée mon compte sur mon application, avec pseudonyme, mot de passe, je suis reconnu, me voici dans l’application.
7. Enrichir l’application et debuger — 2h
Une fois cette difficulté technique franchie, il était temps de réellement développer l’application avec toutes les fonctionnalités demandées. Et améliorer les visuels.
Pour cela, il suffit de lui demander. En français. Avec un prompt aussi idiot que “maintenant, développe les fonctionnalités et améliore le visuel”.
Et le plus dingue, c’est que Cursor comprend. Il reprend les instructions initiales et s’attaque à developper chacune des fonctionnalités demandées : ajout de livre, suppression de livre, gestion des objectifs de lecture…
Et en parallèle d’améliorer l’experience utilisateurs.
De mon côté, je n’ai rien d’autre à faire que de le regarder opérer et tester de temps en temps que l’application tourne bien sur localhost:3000.
Et le mode de fonctionnement de Cursor est assez intéressant. Il se lance dans des premiers jets de fonctionnalités, puis rafine au fur et à mesure qu’il relit son propre code et identifie des bugs. Après des premiers prompts sur Claude 3.5 je passe sur Claude 3.7, ce qui à l’avantage de m’expliquer plus clairement ce qu’il fait, mais je ne note pas de différence notable dans le contenu.
8. Et maintenant on fait quoi ?
Voila maintenant 5h que je “développe” mon application, où en suis-je ?
Les fonctionnalités s’ajoute au fur et à mesure, mais ca reste toujours aussi laborieux. Pour chaque nouvelle fonctionnalité, il me faut de plus en plus d’aller retours et de corrections pour la faire fonctionner.
Et pour une raison que j’ignore et que Cursor ne semble pas comprendre non plus, l’affichage graphique ne veut pas fonctionner. Et je commence à me lasser de lui partager les screenshots des bugs qu’il a créé, et tester un n-ieme contournement. Et je pense que je vais m’arreter là sur ce projet.

Conclusion
Est ce que j’ai fait plus avec l’IA que si j’avais être seul ?
Oui, sans aucun doute, je ne me serai jamais lancé dans un tel projet seul
Est ce que je suis arrivé là où je souhaitais avec l’IA ?
Pas vraiment, l’application ne fonctionne pas, et n’a aucun visuel
Est ce que l’IA résout tous les problèmes ?
Oui et non, oui avec du temps et de l’huile de coude elle finit pas comprendre le problème et trouver une solution, mais non les problèmes sont souvent eux même la conséquence d’un manque de clairvoyance de l’IA, et ses solutions sont parfois un peu limites en terme de sécurité.
Est ce que l’IA peut développer une application seule ?
Avec zero connaissance, l’IA qui code seule n’est pas encore à la portée de tout le monde, sans une grosse dose de motivation et d’huile de coude.
Est ce que le métier de dev est à risque ?
Il est certainement encore trop tôt pour le dire, mais de mes expérimentations, les devs ne seront pas remplacés par Mr ou Mme tout le monde, a minima pas cette année. La barrière technologique reste encore trop importante pour les néophytes. C’est plutôt que les devs performants, et qui ont réussi à passer le cap de l’IA vont devenir des extrêmement performants et remplacer les mauvais devs. On aura donc besoin de moins de devs.
Dans tous les cas, cette petite aventure de dev m’a permis de mieux comprendre l’état actuel de la technologie, ce qu’elle peut faire, et ce qu’elle ne peut pas faire. Et vu la vitesse de progression des IA, il est fort probable que dans quelques mois, le résultat sera très différent !