merci l’intégration des out …

merci l'intégration des out ...



nUn aperçu de l’IDE fonctionnel, avec Copilot installé et en attente. David Gewirtz / Elyse Betters Picaro / ZDNET

Cela devait arriver. J’ai proféré des injures. J’ai grondé une IA. Je n’en suis pas fier.

Dans quelques minutes, je vous raconterai mon voyage dans l’enfer de ChatGPT.

Mais d’abord, nous avons besoin d’un contexte. C’est l’histoire d’un changement d’IDE.

Qu’est-ce qu’un IDE ?

IDE est l’acronyme de integrated development environment (environnement de développement intégré), l’outil et l’endroit où les développeurs professionnels font leur travail.

Pour un développeur professionnel, un IDE est un croisement à l’écran entre une salle d’opération, un atelier bien équipé et soigneusement aménagé, une cuisine parfaitement planifiée et optimisée, et un centre de commande.

Les IDE classiques comprennent :

  • Un espace pour éditer le code
  • Un débogueur pour diagnostiquer les problèmes de code
  • Un terminal pour effectuer rapidement des incantations magiques de niveau sorcier
  • Une interface de base de données pour organiser les données
  • Une tonne de réglages et d’outils supplémentaires
  • Et, de plus en plus, une ou plusieurs IA

Un IDE, c’est comme une cuisine ?

L’analogie avec la cuisine fonctionne.

  • Il y a les principaux appareils – éditeur, débogueur et terminal – qui sont à peu près analogues à la cuisinière, au four et au réfrigérateur.
  • Il y a des outils secondaires plus petits, à peu près à l’échelle du micro-ondes, du mixeur et de la friteuse.
  • Enfin, il y a tous les autres outils et ressources qui font partie intégrante du processus. Pensez aux casseroles et poêles, aux différentes spatules, aux épices, aux ingrédients, etc.

Pour un bon cuisinier, tous ces outils ont leur place. Certains outils sont préférés pour une recette, d’autres pour une autre.

Un IDE nécessite beaucoup de configuration

Un IDE nécessite beaucoup de configuration. En général, cela se fait de manière organique au fil du temps. Nous modifions tout, depuis le style exact de formatage du code que nous voulons, jusqu’aux couleurs des mots-clés, en passant par la question de savoir si les accolades doivent ou non avoir leur propre couleur à chaque niveau.

Chaque modification a pour but d’aider à la productivité et à une compréhension rapide et précise.

N’oubliez pas que notre travail consiste à interpréter et à créer des codes, des langages et des symboles obscurs que nous devons absolument et parfaitement maîtriser, faute de quoi des centaines ou des centaines de milliers d’utilisateurs risquent d’être victimes de mauvaises choses. C’est une grande responsabilité.

Mais  pourquoi une seule IA ?

Mon IDE depuis une dizaine d’années est PhpStorm de JetBrains. JetBrains est devenu un titan dans le domaine des IDE, et PhpStorm est un excellent IDE pour le développement de plugins WordPress, qui utilise PHP et JavaScript à la base.

L’une de mes sources de revenus pendant cette période a été une série de plugins WordPress, et c’est donc là que j’ai passé le plus clair de mon temps à coder.

PhpStorm est probablement le meilleur IDE pour le développement PHP que j’ai trouvé, c’est pourquoi je l’ai utilisé pendant si longtemps. L’entreprise propose également un outil d’IA intégré en complément de ses services. Mais c’est là que le bât blesse. Il y a une IA. Une. Celle de JetBrains.

L’attrait de VS Code

Ensuite, il y a VS Code. VS Code est l’éditeur de code et l’IDE open source publié par Microsoft. Oui, Microsoft. Il s’agit d’un logiciel libre, incroyablement flexible et gratuit. Et il est devenu un poids lourd dans le monde du développement. Il y a VS Code, et puis il y a tout le reste.

Presque tous les IDE sont très modulaires. C’est une évidence pour un outil destiné à être personnalisé en fonction des besoins de chaque développeur. Mais VS Code est extrêmement modulaire, avec des milliers de plugins pour presque tout.

VS Code dispose également d’un grand nombre d’IA. Presque toutes les principales IA ont une implémentation de VS Code. Il y a au moins 20 add-ons à VS Code qui fournissent des fonctionnalités d’IA. VS Code dispose également d’un support Python exceptionnel. Python est le langage de programmation populaire, et il est particulièrement adapté au développement de l’IA.

VS Code est extrêmement configurable, mais vous devez vous charger de toute la configuration

J’ai donc récemment pris la grande décision de transférer tout mon développement de PhpStorm à VS Code.

Ça a été dur. Mis à part le fait de recréer tous les ajustements de développement personnalisés que j’avais dans PhpStorm, et il y en a eu des centaines, le défi du passage à VS Code a été de faire fonctionner correctement tous les principaux appareils.

PhpStorm, prêt à l’emploi, fait presque tout ce dont vous avez besoin pour PHP. D’un autre côté, VS Code est extrêmement configurable, mais vous devez vous charger de toute la configuration.

J’ai commencé à m’engueuler avec ChatGPT

Imaginez que vous êtes un chef cuisinier. Au cœur de votre environnement de travail se trouve une cuisinière et un four parfaitement réglés. Toutes vos recettes sont optimisées pour cet appareil. Mais lorsque vous déménagez dans une nouvelle cuisine et que vous essayez d’y installer la cuisinière, vous vous apercevez qu’elle ne rentre pas.

Vous devez modifier les meubles, déplacer les connexions électriques et de gaz, et procéder à toute une série de personnalisations de l’infrastructure avant de pouvoir utiliser votre outil de base.

C’est ce qui s’est passé pour mettre en place mon environnement de développement dans VS Code, en particulier le terminal et le débogueur. C’est aussi à ce moment-là que j’ai commencé à m’engueuler avec ChatGPT.

Intransigeance artificielle

Au-delà de l’éditeur, du débogueur, du terminal et de divers outils, il y a un autre élément clé de ma pile de développement : un système de conteneurs appelé Local. Local gère les installations individuelles de WordPress, ce qui me permet de passer de l’une à l’autre et de tester mes plugins dans un environnement de serveur fonctionnel.

Local était également étroitement intégré à PhpStorm, en particulier pour le débogage. Pour faire le changement, j’ai dû couper cette connexion et intégrer Local avec VS Code. Il existe une extension VS Code+Xdebug pour Local (Xdebug étant un débogueur PHP populaire), mais elle ne fonctionnait pas d’emblée.

Ce type de conflit peut être exaspérant pour tout programmeur qui envoie constamment des instructions en ligne de commande pendant le développement.

Je me suis tourné vers ChatGPT, qui s’est finalement retourné contre moi

J’ai décidé de faire fonctionner l’interpréteur de commandes en premier, puis de m’attaquer à l’intégration du débogueur. Pour ce faire, je me suis tourné vers ChatGPT, qui s’est finalement retourné contre moi.

Il y a un moment dans pratiquement toutes les intégrations Linux et de ligne de commande où vous devez couper et coller des chaînes de ligne de commande pour faire fonctionner les choses. Souvent, ces chaînes proviennent de la documentation ou d’articles publiés au hasard par d’autres développeurs. À un moment donné, vous finissez donc par exécuter ces chaînes sans comprendre pleinement ce qu’elles sont censées faire.

Ce n’est pas une bonne pratique, mais c’est nécessaire.

ChatGPT m’a donné des chaînes de ligne de commande

Et bien sachez que l’exécution de chaînes de ligne de commande fournies par l’IA, c’est du même tonneau.

Et c’est parti. J’ai demandé à ChatGPT comment résoudre le problème. ChatGPT m’a donné des chaînes de ligne de commande. Je les ai collées et j’ai testé les résultats.

ChatGPT était convaincu (à juste titre) que Local interférait avec le terminal dans VS Code. Il m’a donc demandé d’exécuter des commandes pour couper cette connexion. Ce qui a finalement complètement détruit ma configuration locale. Ainsi que ma configuration VS Code.

La boucle infinie de l’enfer reprenait

À un moment donné, le terminal (n’importe quelle fenêtre de terminal) de tout mon système était inutilisable, coincé dans une sorte de boucle infinie d’erreurs. Même les redémarrages ne fonctionnaient pas. Dès qu’un terminal était ouvert, même en utilisant des applications de terminal alternatives, la boucle infinie de l’enfer reprenait.

Ce fut une matinée amusante.

J’utilisais l’application Mac ChatGPT, qui me permet de faire des captures d’écran et laisse ChatGPT surveiller la fenêtre de terminal du Mac. Mais soudain, GPT-4o est passé à o4-mini, et ChatGPT a perdu tout le fil de la discussion. J’utilise la version payante Plus, je ne pensais donc pas être à court de requêtes, mais j’ai basculé vers le navigateur pour continuer.

ChatGPT était persuadé que j’utilisais Docker

Je n’avais pas réalisé à quel point je comptais sur l’intégration de l’application ChatGPT. La version navigateur ne prend pas en charge les captures d’écran dynamiques ou les liens avec l’application, ce qui prend plus de temps. Finalement, je suis repassé à l’application Mac et tout s’est déroulé correctement.

Ensuite, ChatGPT a décidé d’emprunter une autre voie, convaincue que j’utilisais Docker et que Docker entravait tout. Local exécute effectivement Docker en interne, mais vous ne pouvez pas le configurer. ChatGPT ne le savait pas et a continué à essayer de faire des changements. Aucune explication n’a aidé ChatGPT.

ChatGPT n’arrêtait pas non plus de revenir aux profils de terminal, même après que j’ai réussi à les faire fonctionner. J’étais passé à l’étape de la configuration du débogueur. En fait, comme la session était très longue, ChatGPT a perdu le fil. À plusieurs reprises. Il a conseillé des actions qui ont cassé des choses que nous avions déjà corrigées, et qui ont cassé des choses qui n’étaient même pas liées à ce que nous essayions de corriger. Et ainsi de suite.

C’est là que j’ai commencé à l’insulter

Malheureusement, je n’étais pas assez intelligent pour arrêter cette folie. Au lieu de cela, j’ai continué à monter sur les montagnes russes de ChatGPT jusqu’à ce que je sois presque prêt à vomir.

Mon raisonnement, tel qu’il était, était que nous étions allés si loin dans cette voie que j’avais également perdu le fil de la discussion. Si nous quittions la session, je n’aurais aucun moyen de comprendre ce qui avait été fait et comment le récupérer.

C’était là, cher lecteur, un raisonnement erroné. Je ne m’en suis pas rendu compte à l’époque, et c’est pourquoi j’ai proféré des injures.

Un nouveau plan

J’ai démarré une nouvelle session ChatGPT. Dans cette nouvelle session, le ChatGPT n’était pas au courant de nos efforts futiles précédents. Il ne savait pas non plus que j’avais complètement dépassé les bornes en matière d’insultes et de méchanceté.

En résumé, lorsque la session tourne mal, il faut en commencer une nouvelle. Cela a fonctionné.

Lors de la nouvelle session, j’ai décidé de limiter ce que je disais à ChatGPT. J’ai commencé par lui parler uniquement du problème de configuration du terminal. Il n’a pas été en mesure de diagnostiquer le problème au départ, parce que j’avais stratégiquement caché des informations dont il avait probablement besoin. J’ai décidé de jouer de cette façon parce que, lors de la session précédente, une fois qu’il a eu trop d’informations pour son propre bien, il a insisté sur une seule voie de remédiation possible, qui a échoué lamentablement.

Se passer des détails pour parler à l’IA

J’ai choisi de ne pas lui parler de l’exécution d’une instance locale et de l’impact que cela pourrait avoir sur les paramètres. Je voulais voir ce qu’il ferait s’il devait découvrir, de manière légale, ce qui se passait.

Ensuite, dans le cadre de sa tentative de diagnostic du problème de base, il m’a donné des chaînes de ligne de commande qui ont produit une sortie qui nous a indiqué exactement quels paramètres de l’interpréteur de commandes étaient en cours d’exécution. Nous avons découvert que les erreurs provenaient des paramètres de configuration liés à Local.

Et Nous avons ensuite fait la même chose avec Xdebug. Nous avons identifié le fichier php.ini qui était en jeu, nous avons identifié ce qui n’allait pas et nous l’avons modifié.

Cela a pris environ 20 minutes. Mais j’ai finalement réussi à faire en sorte que le système fasse ce qu’il était censé faire.

Les IA dans VS Code

Le but de cet exercice était de pouvoir explorer les différentes IA qui fonctionnent avec VS Code. Je ne vais pas le faire maintenant, car cet article est déjà assez long. Mais je veux énumérer certaines des ressources que nous allons explorer individuellement maintenant que je code dans cet environnement.

  • GitHub Copilot et GitHub Copilot Agent : Il y a maintenant un mode agent sur le périphérique dans VS Code, et il est disponible gratuitement.
  • Intégration ChatGPT via ChatGPT Work With Code : Il y a une intégration directe avec l’application ChatGPT et VS Code via une extension.
  • Continue and Cline : Un assistant de barre latérale et un chatbot convivial pour l’IA.
  • AWS CodeWhisperer : Aide au codage d’Amazon pour les projets liés à AWS.
  • CodeGPT : Outil développé par un développeur individuel qui envoie du code ou des prompts à ChatGPT et à d’autres LLM.
  • Gemini Code Assist : Une extension VS Code qui connecte Gemini à VS Code.

Il en existe une vingtaine d’autres. Et je suis sûr que nous en verrons de plus en plus au fil du temps, car cette histoire d’IA ne va pas ralentir de sitôt.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.