Développer un nouveau CMS. Mon expérience avec Roo Code, Gemini et Cursor
Pour commencer, j'aimerais parler de ChatGPT. Lorsque j'ai commencé à rédiger cet article, je lui ai donné le titre proposé, "Que valent les IA pour le développement logiciel",
Je m'attendais à ce qu'il commence à me poser des questions sur ce que je voulais écrire, mais à la place, il a généré un essai de 500 mots contenant des informations entièrement fabriquées. Il a présenté mes réflexions sur les trois outils d'IA que j'avais testés : Roo Code, Gemini et Cursor. Cependant, les informations générées n'avaient aucun rapport avec mes expériences réelles avec ces outils.
Voici ce que ChatGPT a généré pour chaque IA :
En tant que personne ayant une vaste expérience dans l'écriture de systèmes CMS, j'ai décidé d'utiliser l'IA pour développer un nouveau CMS qui tire parti de mes années d'expertise dans la création de sites web pour des entreprises allant de simples pages web à des sites web de niveau entreprise.
Commençons par RooCode. J'ai vraiment apprécié l'utilisation de cet outil et j'ai passé environ cinq heures à construire une base de code en JavaScript vanilla qui aurait pris une semaine à compléter. J'avais une version démo du CMS qui pouvait rendre plusieurs pages factices. Cependant, lorsque je lui ai demandé de convertir la base de code en TypeScript, il n'a pas réussi à mettre à niveau le projet vers TypeScript. Si j'avais commencé initialement en TypeScript, le problème aurait probablement été résolu.
J'ai ensuite basculé vers Gemini, qui a réussi à modifier le projet en TypeScript et, en cinq à six heures, avait le code principalement fonctionnel en utilisant TypeScript. Cependant, il continuait à faire des cycles de tâches, probablement en raison de certains défis techniques.
Pendant cette période, j'ai fait une pause et mené des recherches. En recherchant, je suis tombé sur une vidéo à propos de Cursor. J'avais déjà entendu des retours positifs d'autres développeurs et j'avais toujours eu l'intention de le tester.
De retour chez Gemini, je lui ai demandé de rédiger un document de spécification pour le projet que je pourrais fournir à une autre IA. J'ai ensuite donné ce document de spécification à Cursor et construit une nouvelle version du CMS.
À ce stade, j'avais construit le même code en utilisant différents outils d'IA. Je recommande vivement l'un de ces outils pour améliorer votre travail, car ils se sont avérés exceptionnellement efficaces. Les agents ont montré des capacités remarquables, leur permettant d'éditer des fichiers, de les déplacer et d'exécuter généralement la majorité des modifications dont j'avais besoin. À mon avis, le gain de productivité dérivé de l'utilisation de ces outils est d'environ dix fois. De plus, adopter un outil cohérent améliorerait probablement ma capacité à exprimer les changements précis que je dois apporter.
Comme j'ai passé le plus de temps avec Cursor, certains des aspects ennuyeux étaient lorsque je lui ai demandé de créer une base de données pour stocker certaines des données, il a créé la clé primaire en tant que VARCHAR(36) au lieu d'un UNSIGNED BIGINT. Ce qui est intéressant, c'est que lorsque je lui ai demandé la meilleure façon de stocker une clé primaire, il a voulu la changer en BINARY et a écrit deux fonctions qui convertiraient le GUID qu'il voulait utiliser en une valeur numérique. Cursor a un fichier .cursorrc qui vous permet de spécifier certaines règles qu'il utilisera lors de la génération de solutions, que j'ai finalement trouvées lorsqu'il continuait à faire les mêmes erreurs.
Lorsque je lui ai demandé de générer de la documentation sur le projet, il a écrit beaucoup d'informations, dont la plupart étaient incorrectes, parlant de répertoires qui n'existaient pas.
Notre ère numérique évolue, il est temps de monter à bord. Il y a un an, j'aurais décrit ces outils comme des étudiants ivres. Maintenant, ce sont des programmeurs juniors que vous devez surveiller, mais ils ne feront que s'améliorer.