Catégories
e-business

Tous développeurs avec ChatGPT ?

Qui n’a jamais reçu un fichier Excel avec une série de dates : rendez-vous, sessions de formation, événements importants… ?

Si vous avez reporté ces RV dans votre agenda électronique Outlook, Google agenda ou autre, vous aurez sans doute remarqué combien cette manipulation répétitive est fastidieuse, source de stress et d’erreurs.

Il existe pourtant un format de fichier bien pratique pour les évènements : le format iCalendar. Il est reconnu par tous les logiciels d’agenda. Son intérêt ? Quand vous cliquez sur un fichier .ics, les rendez-vous viennent s’inscrire automatiquement dans votre agenda. Et c’est terminé ! Pas de stress, pas d’erreurs, pas de temps perdu…

Un événement iCalendar de base ressemble à ça :

BEGIN:VCALENDAR
VERSION:2.0
@BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035900Z
SUMMARY:Fête à la Bastille
END:VEVENT
END:VCALENDAR

Surtout si :

  • il y a beaucoup d’événements
  • je vais recevoir ce type de fichier souvent
  • ou de nombreuses personnes en auraient besoin

… c’est là qu’on pense comme un développeur « ça serait cool si j’avais un programme qui transforme mon fichier Excel pénible en un fichier .ics facile à intégrer. »

Mais vous n’êtes pas développeur. Moi non plus : j’ai « arrêté l’informatique » en 1988. Je vous raconterai une autre fois.

Vous n’êtes pas développeurs mais vous avez… ChatGPT !

Quoi ? ChatGPT est développeur ? Un peu de patience, lisez plutôt…

En attendant, le résultat : j’ai transformé le fichier Excel en fichier .ics que j’ai importé dans mon agenda. Comment ?

L’Excel après nettoyage
  1. nettoyer l’Excel

Mon correspondant m’a envoyé un export de son système de planification de cours (c’est une business school) qui a plusieurs colonnes inutiles parce que redondantes. Je masque (ou supprime) les colonnes inutiles pour ne garder que :

  • le nom du cours
  • date
  • heure de début
  • heure de fin

J’aurais pu garder ou ajouter des données supplémentaires — lieu, commentaires etc. mais ce n’est pas nécessaire ici.

  1. exporter le contenu restant de l’Excel au format .csv

CSV  signifie « séparé par des point-virgules », en anglais. C’est un fichier texte tout simple avec une ligne par événement, la première ligne contient les titres de colonnes et chaque champ de donnée est séparé du précédent par un point-virgule. C’est tout.

L’export format .csv
  1. demander à ChatGPT de développer le programme

Alors, ChatGPT est programmeur ?

Pas plus que vous et moi, mais c’est un de ses talents de modèle de langage : générer quelque chose qui ressemble à un programme dans un langage (de programmation) donné. Avec un peu de chance, ce programme va faire ce que je veux. Dans le cas contraire, son programme ne fonctionne pas, alors je lui expliquerai ce qui ne va pas et il me donnera une version corrigée (en s’excusant).

Dans le cas de notre conversion de .csv à .ics, je lui demande :

Tu es un programmeur python expérimenté.
Je vais te donner un fichier au format .csv
Tu vas analyser ce fichier et écrire un programme qui convertit chaque ligne en événement au format .ics
Voici le fichier :

Et je colle après les deux ou trois premières lignes de mes événements au format .csv. Comme exemple des données d’entrée.

Voici le résultat : un script Python prêt à l’emploi, adapté à mon fichier.

Première itération

Prêt à l’emploi ? pas tout à fait.

Je dois lui demander quoi faire avec, parce que je suis vraiment (je grossis le trait) ignare en matière de programmes.

Je me fais expliquer la marche à suivre. En essayant le script, je découvre une erreur ; je colle l’erreur dans ChatGPT qui me renvoie une version corrigée du script (en s’excusant).

Adapté à mon fichier ? Pas exactement : il faut modifier le script pour qu’il sache que les heures sont en heures d’hiver d’Europe (CST ou TU+1) plus écrire dans le script le vrai nom de mon fichier .csv (que j’aurais pu lui donner avant d’ailleurs).

Après quelques essais et échanges avec ChatGPT, j’ai :

  • copié le script dans un éditeur de texte et enregistré sous nom terminant par .py (thon)
  • lancé le Terminal (je suis sous Mac, mais c’est très analogue sous Windows)
  • écrit la commande qui lance le script
  • récupéré un fichier .ics
Excel to ics with ChatGPT — iCalendar format

Je n’ai plus qu’à ouvrir le fichier .ics par un simple (double) clic (sur Mac ou Windows) ou import dans Google Calendar : mes cours du mois d’avril et mai sont importés dans mon agenda.

Excel to ics with ChatGPT — Google Calendar

Maintenant autant de fois que je recevrai un planning de cette école, je pourrai faire tourner mon script Python et convertir les dates en fichier .ics.

Pour le moment (pour combien de temps ?) la version de base de ChatGPT ne peut pas exécuter lui-même un programme : on doit passer par l’étape script, faire tourner le script soi même, récupérer le résultat. Mais il existe déjà des extensions (plugins) qui émulent l’exécution d’un programme. Bientôt, tout le monde, même non développeur pourra obtenir le résultat d’un script développé à la volée juste en expliquant ses besoins.

À noter que pour un besoin aussi simple que convertir un format de fichier texte, si vous pensez n’en avoir besoin qu’une fois, il est tout à fait possible de faire réaliser la conversion directement.

Par exemple avec le prompt :

Voici un fichier .csv dont la structure est objet;date;debut;fin.
Tu vas convertir toutes les ligne du fichier en événement au format .ics.
Note que les heures sont en CET sur 24 heures.
Voici le fichier : ...
ChatGPT transforme un .csv de dates en .ics à la volée

Un dernier mot : j’ai écrit « tout le monde pourra… » ; je n’ai pas écrit « simplement ».

En effet, encore faut il savoir analyser son besoin, connaitre ses datas, ses contraintes, etc. En France, « développeur » se dit « Analyste-Programmeur ». Si le programmeur est fortement concurrencé par l’IA générative, l’analyste, lui, a encore de beaux jours devant lui.

Twitter

Disclaimer : billet certifié 100% écrit par l’auteur sur la base d’une expérience réelle.