3 façons d'utiliser ChatGPT

culture générale informatique developpement devops Feb 02, 2023

Un grand merci au sponsor qui soutient ce blog

Hidora propose une plateforme d'hébergement cloud pensée pour les développeurs : intégration GIT, gestion de bases de données, bonnes pratiques DevOPS.

Avec une flexibilité maximale, des performances optimisées et une interface utilisateur conviviale, le déploiement et la gestion des applications sont grandement facilités.

Tu peux même démarrer un essai gratuit de 14 jours (sans mettre ta CB) 


A moins d'habiter dans une grotte, tu as vu ChatGPT et les IA partout ces derniers temps

"C'est l'outil qui va tout révolutionner, même chez les Dev"

Par contre, tu as peut-être pas encore vu toutes les possibilités.

Je te donne dans cet article, 3 pistes pour mieux l'utiliser 

 

Tu veux faire

Tu connais les étapes que tu veux réaliser, tu sais vérifier ce qui fonctionne ou pas, mais t'as juste la flemme de le faire

ChatGPT est conversationnel : c'est à dire qu'à chaque réponse que tu lui fais, il prend en compte toute la conversation.

Ce qui lui permet de comprendre ton contexte et donc de te donner des réponses précises (si toi aussi tu es précis)

Exemple : Je veux faire un dockerfile pour mon App

Voilà la conversation que j'ai testé : 

  • Ecrit un dockerfile pour une application nodejs
  • Explique moi exactement ce que WORKDIR dans le dockerfile signifie ?
  • Utilise Yarn au lieu de NPM
  • Ne copie que les fichiers intéressants de l'application sans tout copier dans l'image de l'app
  • Utilise le multi-stage build de docker
  • Ajuste le dockerfile pour inclure yarn, le dockerignore et aussi en utilisant le tag d'image "1.0"

Avec ça, tu as au final :

  • Un dockerfile qui fonctionne et qui est personnalisé
  • Les commandes à lancer pour tout lancer et tester
  • Les explications de comment marche un dockerfile

Maintenant, si tu n'as pas d'idée précise de comment faire un truc ?

Tu veux apprendre 

On te demande de faire une CICD pour Jenkins. Bouuh. T'as jamais vu Jenkins. Et tes recherches internet te donnent des Tuto génériques.

Par contre, tu as suivis la formation CICD d'Imrane Substack et tu connais donc bien Gitlab.

Donc on reprend ce que l'on sait faire avec un twist à la fin

Voilà ce que j'ai demandé : 

  • Initialise moi un fichier .gitlab-ci.yml pour Gitlab
    • Il va faire un fichier avec déjà 3 stages : build, test, deploy
  • Pour la partie build, il faut lancer un docker build
    • Ici, tu peux même le donner ce que l'on a fait à l'étape précédente pour qu'il l'intègre
  • Pour la partie test, c'est la commande XXX à lancer
  • Pour la partie deploy, fait un docker push en utilisant des variables pour l'authentification
    • Au passage, il aura lui même changer l'image utilisé pour le runner (trop fort)
    • Il te rappelle de ne pas oublier de mettre les bonnes valeurs dans les variables
  • etc etc (tu customises ta CICD)
  • Et la cerise : converti ce fichier en Jenkins File 
    • Il le fait
    •  Il te donne des explications aussi

Et voilà. Tu pars de ce que tu connais et tu lui demande de finir ce que tu ne sais pas.

Pour aller encore plus vite, si tu avais un fichier Gitlab de base, tu peux lui passer le fichier et lui dire de transformer en Jenkins

Puis de t'expliquer le fichier Jenkins

Maintenant que tu sais générer des choses, tu peux lui demander de t'expliquer ce qui a été fait par d'autres

Tu veux comprendre

Par contre, il faut être un poil plus vigilant.

Dans les 2 derniers paragraphes, on génère du code, donc on peut le tester et voir si ca fonctionne ou pas.

(Cela dit, s'il y a une erreur, tu lui donnes et il te dit ce que tu as pu loupé :p)

Là, on va lui demander de nous expliquer le code de quelqu'un d'autre. 

Il faut garder un oeil critique. Il va dégrossir pour nous mais sans vérification externe, c'est à toi de valider ce qu'il raconte.

 

J'ai testé avec un script Python que j'ai fait : 

Peux-tu m'expliquer ce que fais ce code python : 

(j'ai collé mon code directement)

Il y a aucun commentaire dans mon script et il a décrit exactement ce que mon code faisait.

Tout est bon. 

Donc corollaire, si tu veux générer de la doc pour tes collègues quand tu as fait du code bien crade ... ^^

Va pas dire que c'est moi qui t'ai donné l'idée.

 

Mon point de vue sur l'IA

  • Comme tout outil, c'est celui qui s'en sert qui en est responsable
  • Ca va faire disparaitre des emplois mais en créer d'autres
    • Tout comme la voiture a fait disparaitre les métiers autour du cheval
    • Tout comme l'électricité a fait disparaitre les allumeurs de lampadaire
    • Tout comme les ordinateurs ont fait disparaitre les métiers "papiers"
    • Et ainsi de suite
  • C'est une automatisation
    • Qui dit automatisation dit gain de productivité dit gain d'argent
    • Les entreprises vont continuer à investir massivement dedans
    • Entre un dev qui code dans notepadd++ (et ne veut rien utiliser d'autres) et un dev qui maitrise VsCode, c'est évident lequel est choisi pour un poste
    • Je pense que ca sera pareil pour les IA
    • Pourquoi prendre une personne dont le boulot peut être fait par une IA ? Autant prendre quelqu'un qui sait piloter l'IA et vérifier son travail, non ?
  • Est-ce que je vais prendre la version payante ? Genre 42€/mois ca parait énorme
    • Ben ca dépend. Je vais payer pour un mois
    • Je vais regarder le temps que ca me fait gagner
    • Si ca me fait gagner des heures de boulot sur un mois, les 42€ sont largement rentabilisés
    • Je vais donc mener une expérience pour valider ou infirmer ça.
    • Au pire, j'ai perdu 42€ 
    • Imagine, une entreprise ? C'est évident qu'elle va payer 42€, même plusieurs fois. 
  • Est-ce que j'ai un conseil pour toi ?
    • NON 
    • Chacun peut faire ses expériences et tirer ses conclusions
    • Y'a pas de vérité absolue, juste des angles de vues différents.

Voilà, je te laisse sur cette phrase philosophique.

La newsletter pour ne rien louper

Rejoins les 2500 lecteurs de  la newsletter pour obtenir des conseils, des stratégies et des ressources pour développer et monétiser tes compétences Tech.