Coder sans être développeur

Salut ! Aujourd’hui, on va parler développement et IA.

Je sais, l’IA, c’est un peu un gros mot en ce moment. Elles sont toutes jeunes et, déjà, bouleversent nos vies et nos habitudes, et ce n’est que le début ! Je ne vais pas vous mentir, au tout début, je ne croyais pas trop en elles. Mais elles ont fini par raconter des choses intéressantes, puis à faire des images, à coder, à répondre à toutes nos questions mieux qu’un moteur de recherche, etc.. Vraiment, quand j’ai une question, j’ai désormais le réflexe de la poser à GPT plutôt qu’à DuckDuckGo. Mais ce jour, nous allons nous concentrer sur un autre aspect, celui du développement web.

Si vous me connaissez un peu, vous savez que j’ai toujours été intéressé par le web de manière générale. J’aime notamment créer des petites pages web à la con. Mais depuis quelques mois, la donne a changé. Un ami m’a filé un accès à Claude (pro) et depuis, un nouveau monde s’est ouvert à moi.

Oui, j’aime bien créer des petites pages web, mais je ne suis pas développeur et n’ai pas particulièrement envie de le devenir. Je trouve ça intéressant de comprendre comment les choses fonctionnent et interagissent les unes avec les autres, mais ça s’arrête là. Écrire des lignes de code 5 h par jour ? Très peu pour moi. Comprendre la logique générale derrière le code me suffit. Mais du coup, c’est facile de créer une page simple avec quelques lignes d’HTML et CSS, mais si l’on a un peu plus d’ambition, c’est compliqué sans étudier très sérieusement la chose. Alors, durant des années, je n’ai jamais été plus loin que ça.

Mais désormais, les IA génératives peuvent coder ! Grâce à la version pro de Claude, je peux créer des « dossiers », dans lesquels je peux placer tous les fichiers d’un projet. Cela permet notamment à celle-ci de garder en tête tout le projet, d’une conversation à l’autre.

L’accueil du projet ICO, dans l’interface de Claude.

Grâce à cela, je peux lui demander des choses poussées, et des idées qui m’étaient irréalisables il y a encore un an ou deux sont désormais à la portée de mon clavier.

Ici, nous allons prendre l’exemple d’ICO, un site que j’ai réalisé pour mon association, Camélia Studio. Il s’agit d’une galerie d’images. On a cherché et essayé différentes solutions, sans être trop convaincus : soit ce n’était pas pratique, soit il manquait une option qui nous aurait été bien utile, en bref, on n’a pas trouvé chaussure à notre pied.

C’est alors que je me suis mis en tête de me débrouiller tout seul, ou plutôt en duo avec Claude, pour faire quelque chose sur mesure, qui correspondrait très exactement à nos besoins.

C’est sympa, non ? On a un truc franchement pas dégueu, facile à parcourir et qui répond à nos attentes. On débute doucement, on donne des connaissances à l’IA sur le projet (à quoi va servir le site, comment on va organiser les fichiers, les langages que l’on souhaite utiliser, etc.) et, à partir de là, la magie va pouvoir commencer à opérer. J’aime bien débuter par lui demander de résumer ce qu’elle sait du projet, ça permet de voir si elle a bien cerné ce qu’on lui demande. Ensuite, on lui demande un plan avec les étapes clés du développement et c’est parti !

On commence par suivre son plan, en lui demandant de générer les fichiers adéquats, tout en veillant à bien préciser tout ce que l’on attend de chacune des pages. Et en quelques minutes, j’obtiens une page d’accueil, une page d’administration, des albums, des galeries, la gestion des téléversements, des utilisateurs, des options de partage, etc.. Petit à petit, le tout prend vie.

Par contre, la magie est une arcane difficile, alors il y a souvent des problèmes. C’est même là, je pense, qu’est le plus gros du travail : essayer de comprendre les grandes lignes de ce qu’écrit l’IA et essayer de la mettre sur la bonne piste. Je ne sais pas pour les autres, mais quand Claude commence à déraper, il a beaucoup de mal à comprendre ses fautes. Il faut donc tester chaque nouvelle ligne, s’assurer que ça ne casse rien, avant de passer à la suite et, le cas échéant, comprendre comment Claude s’est viandé et le remettre sur les rails. Surtout, il ne faut pas avoir peur de recommencer une conversation, même si on y est depuis des heures, au risque de trop s’y embourber.

Par exemple, sur un autre projet, j’avais besoin d’une option pour effacer les médias inutiles sur le site. En lui demandant :

Peux-tu m'ajouter une option qui me permette de nettoyer les images qui ne sont pas utilisées "stp" ?

Le résultat ne fût pas très concluent, on commence par un code qui efface toutes les images, alors on itère, et là ça ne supprime plus rien, on itère encore et je fini par comprendre qu’il s’emmêle les pinceaux avec les chemins des images, qui sont parfois traités avec des urls absolues, parfois relatives et qu’il s’éparpille à chercher dans des endroits inutiles.

Je sens qu’il galère à rebondir sur son erreur, du coup, j’efface la conversation et en débute une nouvelle avec un nouveau prompt, qui prend en considération nos échecs passés :

Tu peux m'aider à ajouter facilement une nouvelle fonctionnalité dans "options.php" ? Il faudrait avoir un bouton "nettoyer les médias", qui supprime toutes les images qui ne sont plus utilisées dans la description d'un roman ou le contenu d'un chapitre. Il faudrait vérifier si les images dans "assets/images/chapters/[id-chapitre]" sont bien utilisées dans le fichier JSON associé au niveau des lignes "description": "", et "content": "",. Il faudra faire attention aux différences sur les chemins absolus/relatifs.

Et là ? Banco ! Il me génère du premier coup ce dont j’ai besoin, sans aucun bug. Alors oui, j’aurais pu gagner du temps en lui donnant directement le second prompt, c’est évident, seulement, moi, je ne suis pas développeur, je n’ai pas conscience de ce qu’implique mes demandes. Ça coule peut-être de source qu’il fallait être vigilent sur ces points précis lorsque l’on baigne dedans, mais moi j’ai dû patauger pour démêler le sac de nœuds. Mais qu’on se le dise, ce n’est pas bien grave, ça fait parti du jeu, je sais que j’ai des limites, l’IA aussi et je m’en accommode sans problème (même si des fois je deviens maboule à ne pas comprendre des bugs « simples »). Malgré ça, cela me demande moins de temps que si je devais apprendre un langage moi-même (et moins d’effort). C’est même presque amusant, comme un jeu d’énigmes.

L’accueil de l’interface d’administration d’ICO.

Et voilà, grâce à Claude et un peu de ma persévérance, j’ai sorti de terre une galerie d’images pour mon association, répondant à tous nos besoins. Une interface visiteur claire, intuitive et responsive. Une interface administrateur, avec gestion de l’arborescence des albums, gestion des téléversements des images, création d’albums privés et protégés, etc..

Sans l’IA, ce site n’existerait certainement pas. On utiliserait un CMS existant, avec lequel on se prendrait la tête car on ne pourrait pas faire ce que l’on désire avec. On n’a pas les moyens de payer quelqu’un pour ça et je ne vais pas demander à une connaissance de faire cela gracieusement pour nos beaux yeux, tout travail mérite d’être rétribué, d’une manière ou d’une autre.

Pour conclure, j’ai bien conscience des soucis que soulève les IA, que ce soit au niveau éthique ou encore des réponses parfois bateau (quand ce n’est problématiques) données, mais en attendant, elles me permettent de donner vie à des idées qui seraient restées dans ma tête (oui OK certaines auraient peut-être dû y rester). En vrai, les IA c’est cool. Il faut juste que l’on prenne le temps de les apprivoiser, d’y fixer des règles et elles deviendront des outils fabuleux, qui nous permettront de nous élever encore plus, j’ai envie d’y croire en tout cas. J’apprends beaucoup de chose en utilisant GPT et les autres LLM et j’aime ça, ma soif de connaissances m’a rarement été autant abreuvée.

Remerciements particuliers à mon ami Skitounet. Même si à cause de toi je suis tombé dans une spirale infernale !

Esenjin Asakha Écrit par :

Rédacteur du site. Passionné d'arts et de culture. Se pose trop de questions. Fortement très fan de Monogatari Series !

3 Comments

  1. 19 février 2025
    Reply

    J’ai un gros problème avec cet article.

    Déjà je dis pas ça parce que moi-même je suis développeur, mais utiliser l’IA pour faire ce genre de choses est très contre-productif. Je vais pas partir sur les débats concernant la consommation d’énergie, ça tout le monde sait que c’est un gouffre écologique.

    Il y a plusieurs problèmes :

    – L’IA générative est « générative ». Elle ne te comprend pas et elle ne comprendra jamais ce que tu veux faire. Le temps que tu passes à changer tes prompts pour avoir ce que tu veux ou presque, c’est du temps perdu et de l’énergie perdue. De la même façon elle n’est pas capable de raisonner et d’inventer du code qu’elle ne connait pas déjà. Du coup tu tournes vite en rond avec.

    – Le code généré n’est pas réfléchi du tout. Si ça se trouve il y a même des erreurs de sécurité béantes dedans. Et le fait que tu ne le comprennes pas toi-même (vu que tu utilises de l’IA pour le générer) rend ça limite pire. Tu vas me dire « mais quelle différence entre copier du code trouvé sur le net et ça? » Ben déjà ça utilise pas la même quantité d’énergie, et en faisant confiance à Claude tu élimine tout esprit critique des réponses qu’on te donne. Non, l’IA générative n’est pas une baguette magique. C’est de la merde en boîte qui recrache des trucs en calculant les probabilités que tel mot se trouve après tel autre dans une phrase. Il n’y a aucune création, aucune logique. Il y a eu des études de faites sur l’impact de l’utilisation de l’IA dans des recherches faites par les utilisateurs. L’élimination de l’esprit critique c’est évident quand on y pense, et c’est aussi très dangereux pour l’avenir. Sans esprit critique, on ne questionne plus ce qu’on nous sert sur un plateau d’argent. On devient dociles. Si l’IA nous dit de sauter par la fenêtre, on le fera, pour prendre un exemple extrème.

    Et comme cette IA est contrôlée par des géants du numérique c’est quelque chose d’encore plus dangereux.

    Je suis pas contre utiliser l’IA dans le cadre d’apprentissage ou de divertissement pour soi, mais utiliser du code généré sur un site web en live, en production sur un serveur connecté à Internet, c’est très dangereux.

    Ca vaut pas mieux qu’utiliser une IA pour faire la couverture d’un livre que t’as écrit, Je parle même pas de saper le travail potentiel d’un artiste avec ça, là c’est la même chose avec du code.

    Bref, cet article me dérange pas mal parce qu’il fait l’éloge d’un truc qui nous abrutit. Si tu veux te mettre à la programmationd ‘un site web oui c’est long, oui c’est compliqué, mais ça te servirait pour tellement plus de choses et t’aurais pas à t’en remettre à un truc que tu contrôles pas, et qui fait potentiellement de la merde sanss que tu t’en rendes compte.

    Tu dis bien que c’est mal au début « mais », tu as conscience que les artistes qui se font piller leurs travaux par les IA et les gens qui les utilisent au lieu d’embaucher un artiste c’est de la merde, mais en fait tu reproduis exactement le même schéma avec du code.

    • Avatar photo
      19 février 2025
      Reply

      J’ai un problème avec ce commentaire, j’ai l’impression de voir un grand-père réfractaire à toute nouveauté.

      Je ne me suis pas attardé sur le fonctionnement de l’IA, mais je sais bien qu’elle ne « comprend » pas et qu’il ne s’agit « que » de probabilités, j’ai utilisé ces termes par praticité pour ne pas entrer dans le détail, ce n’était pas mon sujet. Vite tourner en rond avec je ne sais pas, elle a une base de données gigantesque qui lui donne un éventail large en possibilités. L’argument de la consommation, j’ai vraiment aps envie de revenir dessus…

      Je ne suis pas totalement d’accord sur le manque de réflexion, comme je l’ai noté, comprendre ce que Claude ressort c’est ce qui prend le plus de temps. Et c’est nécessaire, tu ne peux pas juste reprendre tel quel ce qu’il te donne, ça ne fonctionne juste pas. Ça me force à réfléchir sur ce qu’il m’a généré, j’ai appris dse choses en mettant en place ce site que je n’aurais certainement pas pu apprendre en vagabondant sur Github. Il est didactique dans sa façon de faire.

      Je n’ai pas envie d’être dans le rejet absolu et total sous prétexte que c’est nouveau et que ça fait peur. Tout comme Wikipédia et les vidéos ed vulgarisation n’ont pas supprimés les professeurs, tout comme les tutos de cuisine sur Youtube n’ont pas fait fermer les restaurants, je ne pense pas que l’IA va supprimer les illustrateurs ou les développeurs. OK ça génère des images jolies, mais ça ne remplacera jamais le travail d’un illustrateur pour répondre à une demande et un cahier des charges précis et ça n’aura jamais sa créativité. Idem pour le dev. Les personnes qui vont utiliser les LLM pour leurs projets pro ce sont les mêmes qui auraient proposer de payer en visibilité. Ceux qui vont mourir dans leur secteur ce sont ceux qui sont pas bons et qui ne sont pas capable d’apporter une plu-value. Je n’ai supprimé le travail d’aucun dev, sans ça j’aurais juste installé un WordPress bourré d’extensions pour l’adapter ou rien fait du tout.

      Je reste convaincu que ça peut devenir un outil enrichissant y compris pour ces domaines, si on se donne la peine d’apprendre à les utiliser correctement. De toute façon qu’on le veuille ou non, ça va faire partie de nos vies comme internet et les personnes qui ne s’y seront pas intéressées patineront demain, comme elles galèrent déjà à ne pas savoir envoyer des mails parce qu’elles ont refusées d’accepter internet.

      Par contre totalement d’accord sur le fait que géré par une grosse boîte c’est dangereux, mais ce n’est pas un soucis propre à l’IA, c’est un problème partout (notons qu’il existe là aussi des alternatives libres comme Mistral par exemple).

      Je trouve ça dommage de rejeter les IA aussi viscéralement.

  2. 24 février 2025
    Reply

    Tes comparaisons ne sont pas viables. Wikipedia est une encyclopédie, c’est à toi d’utiliser ce savoir pour mener tes propres réflexions. Sauf que Wikipedia est tenu par une communauté de volontaires. Les modèles d’IA que tu utilises, chatGPT, Claude, etc, c’est des boîtes derrières. En te vérouillant dedans, puisque c’est les seules à pouvoir faire tourner leurs modèles, elles t’empêchent d’aller voir ailleurs. Que feras-tu quand ton accès à Claude Pro sera coupé pour X ou Y raison, genre, au hasard, une guerre commerciale avec les US ? En outre l’IA a des biais qui sont pas forcément de bonnes façons de faire. En l’utilisant elles te privent totalement de réflexion sur ce que tu devrais faire. Plutôt que d’apprendre à pêcher, tu attends qu’on t’apporte du poisson.

    Comment maintenir le code que l’IA a produite ? C’est proprement impossible car personne ne va faire l’effort de se plonger dans du code qu’il n’a pas écrit. C’est chiant à faire au boulot déjà quand on doit reprendre le code de quelqu’un d’autre.

    Le grand père réfractaire à toute nouveauté il te fera remarquer qu’il est souvent le premier à se jeter sur la nouveauté. J’ai même réfléchi à utiliser ce genre d’outil pour mon prochain livre mais j’y ai renoncé après avoir fait des tests et vu que de toutes façons il régurgitait les mêmes inepties de la même façon, sans aucune réflexion. Voir il oubliait parfois des trucs que j’avais indiqués ou ignorait mes remarques.

    Bref, c’est une chimère qu’on te vend, et une chimère qui t’enchaîne à une béquille qui peut te tromper et se casser à tout moment, te laissant seul avec l’amas incohérent qu’elle a produit. N’oublie pas qu’elle s’est nourrie d’Internet et Internet n’a que rarement raison.

    Si t’es capable de relire et comprendre ce que l’IA te code, c’est que tu n’en as pas besoin pour écrire du code.

    Ah et une dernière chose : Tu ne vois aucun problème à utiliser de l’IA pour du code parce que tu ne sais pas en faire, mais du coup, les gens qui font des couvertures de livres avec IA parce qu’ils veulent pas payer un artiste pour le faire c’est pareil, ils ont le droit eux aussi ? Le code, c’est de l’art aussi, tu fais exactement ce que les artistes reprochent aux IA qui ont pillé leur travail pour le régurgiter de façon crade.

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 la façon dont les données de vos commentaires sont traitées.