Journal Je vous présente mon projet entièrement généré par IA

Posté par  .
Étiquettes :
-8
17
oct.
2026

Sommaire

J'avais envie de tester l'IA sur un projet un peu plus complexe que ce que j'ai fait jusque-là, à savoir essentiellement des scripts et utilitaires à usage unique ou presque.

Pour cela, j'ai "écrit" un outil de recherche pour LinuxFR, à l'image de celui qui était disponible il y a quelques années via la zone de saisie "recherche" en haut à droite.

L'outil est accessible ici : https://linuxfr-search.ztel.fr (il est en train d'indexer, donc en fonction de quand vous lisez le journal vous pouvez ne voir que 1000 contenus) et le code là : https://github.com/n-e/dlfp-search.

Les outils

J'ai choisi l'offre ChatGPT Plus à 20€/mois, qui était réputée plus généreuse en tokens que l'offre équivalente Anthropic, et avait un mois gratuit. Coté client, j'ai utilisé l'extension Codex pour VSCode, et coté modèle GPT-6 Luna en niveau d'effort "moyen".

Comment j'ai procédé

J'avais une idée assez précise de l'architecture et du résultat que je souhaitais, par contre sur les détails, j'ai préféré laisser l'IA faire.

Pour cela, j'ai écrit une mini-spec, j'ai demandé à l'IA de me faire un retour et me poser des questions, suite à quoi elle a mis à jour les specs.

Ensuite, je lui ai demandé de coder les parties indexeur, backend et frontend. Par exemple, pour le backend, je lui ai simplement demandé "write the backend" dans un nouveau chat, ce qui a donné ce résultat.

Ensuite je lui ai demandé des ajustements. Pour les bugs, je l'ai laissé trouver par lui-même avec exemple la requête "run the backend and send a request" à laquelle il a répondu :

The backend is running on port 3000. /health returned 200 OK. After fixing the Elasticsearch _score sort, /search?q=linux&pageSize=1 returned 200 OK with one result and pagination showing 3 total matches.
I also fixed a Node.js TypeScript runtime issue that prevented the server from starting.

Ça fonctionne aussi pour les bugs où la solution est plus subjective. Par exemple je lui ai demandé "get the index and check for problems" car les pages étaient mal parsées et il m'a répondu :

The linuxfr alias resolves and searches successfully. It contains 10 documents, all indexed from the sample as news; a full-text search for “logiciel libre” returned relevant records.
I found a few quality limitations in the sample:
- Extracted content includes page noise, such as a leading score/date and “Aller plus loin” links with click counts.
- All 10 authors are Anonyme. That may be accurate for these older posts, but the sample doesn’t confirm author extraction for named authors.
- Only 4 records have tags, and the sample contains no journals or forum posts, so those types remain unverified.
- title is mapped as a text field without a keyword subfield, so Elasticsearch won’t support sorting or aggregations on it directly. A diagnostic aggregation I tried failed for this reason; it doesn’t affect full-text search.

Enfin, pour les modifications, j'ai demandé ce que je voulais, par exemple "now simplify the frontend design. I don't want mono fonts or silly taglines. Also this project is not endorsed by linuxfr so have the title something like "linuxfr.org search", not linuxfr".

Mes impressions

L'extension Codex pour VSCode est fonctionnelle, mais pas terrible

J'ai rencontré 3 soucis avec l'extension :

  • elle est très lourde (plus de 1go), ce qui paraît énorme par rapport aux fonctionnalités offertes
  • elle est lente. Par exemple afficher un diff prend environ 1s, alors que l'outil de diff intégré de VSCode (et n'importe quel autre outil de diff) est instantané.
  • une des raisons pourquoi j'ai choisi Codex est qu'il exécute l'agent dans un bac à sable. Ça n'a pas été le cas par défaut (alors que c'était le cas pour la version CLI), et j'ai ensuite eu pas mal de problèmes de permissions (par exemple des requêtes réseau qui ne passaient pas alors que je pensais les avoir autorisées).

Pour le dernier point, les problèmes sont largement dûs à mon manque d'expérience, mais j'en ai quand même retiré l'impression que la fonctionnalité de sandbox n'était pas utilisée par la majorité des développeurs, alors que ça me semble pourtant être la base.

C'est rapide

Il m'a fallu environ 3 heures pour coder le projet, itérations et déploiement inclus. Sans IA je pense qu'il m'aurait fallu une journée, mais avec un résultat de meilleure qualité.

Cela étant dit, quand on pointe un problème à l'IA elle est efficace pour le corriger, donc j'aurais pu prendre le temps libéré pour améliorer les choses.

L'IA n'est pas un dev senior, et n'aide pas à progresser

Pour le premier point, l'IA fait beaucoup de choix de pertinence moyenne. Par exemple dans le projet, le choix des librairies JavaScript (utilisation de deux librairies de parsing XML plutôt qu'utiliser JSDom) ou des mappings ElasticSearch n'est pas le meilleur. Elle n'utilise pas non plus la façon la plus robuste de parser les pages (pas les bons sélecteurs CSS, parsing de chaînes de caractères plutôt qu'utiliser des éléments dédiés, etc).

Pour le 2e point, j'ai été surpris de voir que l'IA ne propose pas des alternatives, et ne fait pas de retour sur les choix demandés. Au contraire si on lui demande quelque chose de stupide, ou qui parait stupide avec les éléments à sa disposition, elle le fait sans broncher.

Par contre, quand on lui demande de corriger quelque chose ça fonctionne bien.

Ma conclusion, c'est que si on connaît déjà la bonne manière de faire, l'IA est très efficace, par contre pour quelqu'un de plus junior, il va voir du code avec des mauvaises pratiques et sans doute, sans retours d'une autre personne, arriver aux mauvaises conclusions.

Peu de tokens sont utilisés

Le projet a utilisé 5% de ma limite sur 5h, et 1% de ma limite hebdomadaire sur l'offre ChatGPT+ à 20€/mois, alors que ce sont les offres plus chères qui sont recommandées pour le code. La prochaine fois je testerai avec un modèle plus performant et plus cher.

Ma conclusion générale

Au final c'était une expérience positive. Par rapport au codage "manuel", c'est un peu plus rapide, et surtout on n'est pas concentré sur le code, ce qui permet de réfléchir aux idées de plus haut niveau (architecture, le changement suivant à faire, etc.) pendant que l'IA code, ce qui est très agréable.

La qualité de code par défaut est moyenne, mais, du moins pour un projet de cette taille, l'IA est efficace pour faire les corrections. Par exemple, le frontend par défaut avait un design très slop, et quand je lui ai demandé de corriger elle est arrivée à quelque chose de beaucoup plus sobre, et a supprimé le CSS qui n'était plus pertinent. Je suis également certain qu'elle aurait été efficace pour faire d'autres améliorations que je n'ai pas pris la peine de faire (par exemple remplacer les fonctions qu'elle a codé à la main par lodash ou autre).

Ma dernière conclusion c'est que, contrairement à ce qu'on lit habituellement, c'est que ça me paraît être un outil adapté aux développeurs expérimentés. Si on ne la guide pas avec une bonne architecture, on ne corrige pas rapidement les mauvaises directions dans laquelle elle part, on peut vite arriver à quelque chose de non fonctionnel, non performant et non maintenable. En plus, lorsqu'on code à la main on est souvent obligés de décider (par ex. est-ce que je code ça à la main ou je trouve une librairie qui le fait ?), alors que l'IA fait un choix par défaut qui n'est pas toujours le bon, et il faut savoir le remettre en cause.

J'encourage tout le monde à tester sur un petit projet et se faire son propre avis.

  • # Journal écrit

    Posté par  (site web personnel) . Évalué à 3 (+0/-0).

    Les problématiques économique, sociologiques, ou environnementales ne sont pas évoqués dans ce journal. Et il faut aller sur github pour trouver la licence libre. Est-ce pour ça qu'il est ainsi noté ? Pour le reste, nous avons là un retour d'expérience intelligemment écrit. Et cinq secondes d'expérience avec l'outil présenté me convainquent qu'il est infiniment supérieur à celui que je n'ai plus testé depuis fort longtemps, et pour cause, intégré à notre réseau social préféré.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: Journal écrit

      Posté par  . Évalué à 3 (+2/-0).

      Est-ce pour ça qu'il est ainsi noté ?

      Je pense surtout que la blague du titre (pastiche des journaux de spam supprimés) est tombée à plat et que les gens ont moinssé sans lire le contenu.

      Concernant les problématiques économique, sociologiques et environnementales, je suis complètement d'accord que c'est important. En ce qui concerne le journal je ne peux pas parler de tout et me suis concentré sur mon retour d'expérience. A titre personnel j'essaie de faire un usage raisonnable des tokens, et idéalement utiliser des modèles auto-hébergés, mais ce n'est pas encore ça niveau prix et disponibilité du matériel…

  • # C'est un bon début

    Posté par  . Évalué à 0 (+0/-2).

    C'est un bon début, et si tu as envie de creuser, je te recommande à rajouter des skills de développement comme BMAD: https://github.com/bmad-code-org/bmad-method

    Et luna est très basique, je fais mon orchestration avec du Claude Opus 5.5 ou du GPT-6 Astra.

    Si tu refais ton projet avec Astra en high, tu vas avoir quelques surprises à mon avis.

    Et si tu veux aller encore plus loin, tu peux utiliser une orchestrateur d'agents IA comme Paperclip: https://paperclip.ing/

    Et si tu veux aller encore plus loin, il y a des stacks IA pour gérer des équipes d'agents IA un peu partout, par exemple: https://cognidamesh.org/fr/

    • [^] # Re: C'est un bon début

      Posté par  . Évalué à 1 (+0/-0).

      Merci pour tes retours, j'ai déjà fait les dernières modifs. avec Sol, et il y a clairement du progrès par rapport à Luna (il teste après avoir codé par défaut, il est plus persistant dans l'analyse des bugs).

    • [^] # Re: C'est un bon début

      Posté par  . Évalué à 2 (+0/-0).

      Quel intérêt d'utiliser un modèle plus lourd, plus d'agents, un setup beaucoup plus compliqué et obscur si il est satisfait du résultat qu'il a obtenu jusqu'à présent.

      Je dirai plutôt que si la méthode lui plait, qu'il essaye une IA locale. Cela ne résout pas tous les problèmes de l'IA comme ceux sociétaux et de copyright mais cela résout ceux de la consommation énergétique et de privacy.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.