Outils pour utilisateurs

Outils du site


issue192:mon_opinion2

ChatGPT (https://chat.openai.com/chat) is an artificial intelligence (AI) tool that, amongst other things, can create text based on a request from an end user. So, I thought I would use it to write an article for this magazine by entering “Write an article for Full Circle Magazine on Script Programming with Artificial Intelligence”. Had I gone ahead with this, you could now be reading the result. However, while ChatGPT is perfectly capable of producing reasonably intelligent text from such a command, this article hasn’t actually been generated by AI. But, as we will see, some of the article’s content has indeed been produced using ChatGPT. In particular, we will explore how this tool can be of assistance in script programming for LibreOffice Basic. But, first let me explain the scenario. I have a LibreOffice document (ODT file) that contains the lists of topics that my computer club has covered over the past three years in our weekly, on-line, question-and-answer sessions. Each week I build an agenda for the upcoming session as a simple text file (TXT) that lists the titles of the topics to be discussed next. This text file is used for a variety of purposes, one of which has been to manually add the list of new topics to the main ODT index file. I want to automate this latter process by developing a macro that will read the topics from the text file and add them to the end of the ODT file.

Titre en français : La programmation de scripts avec l’intelligence artificielle

ChatGPT (https://chat.openai.com/chat) est un outil d’intelligence artificielle qui, parmi d’autres choses, peut créer du texte basé sur la demande d’un utilisateur final. Ainsi, j’ai pensé l’utiliser pour écrire un article pour cette revue en entrant « Écrivez un article pour le magazine Full Circle sur la programmation de scripts avec l’intelligence artificielle ». Si je l'avais fait, vous pourriez être en train de lire le résultat maintenant.

Cependant, bien que ChatGPT soit parfaitement capable de produire un texte raisonnablement intelligent après une telle commande, cet article n’a pas en fait été généré par l'IA. Mais, comme nous le verrons, une partie du contenu de l’article a été vraiment produit avec ChatGPT. En particulier, nous allons explorer comment cet outil peut aider dans la programmation de scripts pour LibreOffice Basic.

D’abord, permettez-moi d’expliquer le scénario. J’ai un document LibreOffice (un fichier ODT) qui contient les listes des sujets que mon club d’informatique a traités au fil des trois derniers annnées, dans nos sessions hebdomadaires de questions et réponses en ligne. Chaque semaine, je crée un agenda pour la session à venir sous la forme d’un fichier texte (TXT) qui liste les titres des sujets dont on discutera cette semaine-là. Ce fichier texte est utilisé pour divers objectifs dont l’un a été d’ajouter manuellement la liste des nouveaux sujets au fichier principal d’index ODT. Je voulais automatiser ce dernier processus en développant un macro qui lirait les sujets dans le fichier texte, puis les ajoutera à la fin du fichier ODT.

I don’t know all that much about object-oriented programming so, when I want to create a macro for a document in LibreOffice Writer, my practice is to use Google to search for code extracts that I can then modify and string together to produce the final product. And, this is precisely what I did to build the required macro in this case. But, then I saw a YouTube video of an individual using ChatGPT to create computer code in a number of programming languages by simply telling the AI bot what was required. Now, perhaps LibreOffice Basic is a bit of a backwater item in terms of mainstream programming, but I figured that it would be worth a shot to see if I could use ChatGPT to develop the code for my macro. Now, I know how to read and write lines of text from an ASCII file. My problem is that the ODT file isn’t a simple text file. The ODT format is a special type of ZIP file that contains a number of XML and other components. So, the trick is to have the macro open the ODT file, identify the component that contains the body text of the document, add the desired lines at the end, and close the file.

Puisque je ne connais pas grand’chose sur la programmation orientée objet, quand je veux créer un macro pour un document dans LibreOffice Writer, j'utilise Google pour rechercher des extraits de code que je peux alors modifier et mettre l'un après l'autre pour avoir le produit final. Et c'est précisément ce que j'ai fait pour créer la macro voulue dans ce cas-ci.

Mais, après, j'ai vu une vidéo sur YouTube où une personne utilisait ChatGPT pour créer du code informatique dans plusieurs langages de programmation en tout simplement indiquant au bot IA ce qui était nécessaire. Il se peut que LibreOffice Basic soit un élément plus ou moins mineur en termes de programmation standard, mais je pensais que ça vaudrait le coup de voir si je pouvais utiliser ChatGPT pour développer le code de ma macro.

Je sais comment lire et écrire des lignes de texte à partir d’un fichier ASCII. Mon problème est que le fichier ODT n’est pas un simple fichier texte. Le format ODT est un type spécial de fichier ZIP qui contient de nombreux composants dont le XML. Ainsi, l’astuce est de faire en sorte que la macro ouvre le fichier ODT, identifie le composant qui contient le texte du document, ajoute les lignes voulues à la fin et ferme le fichier.

At present, use of ChatGPT is free. All that is required is to create an account on the system, or login using an established Google account. Once logged in, one enters a request as a string into a text box. My request was “Write a program in LibreOffice Basic to add a string to the end of an odt file”. The result was amazing – as shown by the following (partial) screenshot: ChatGPT effectively produces a custom tutorial on building the macro. Each required step in the process is explained and the relevant code extract displayed. Finally, all the code that has been developed for the requested macro is shown as a complete block:

Actuellement, l’utilisation de ChatGPT est gratuit. Vous devez, soit créer un compte sur le système, soit vous connecter en utilisant un compte Google existant. Une fois connecté, on entre une requête sous forme d'une chaîne dans une zone de texte. Ma requête était « Écrivez un programme en LibreOffice Basic pour ajouter une chaîne à la fin d’un fichier odt ».

Le résultat était époustouflant, comme démontré par la capture d’écran (partielle) suivante :

En fait, ChatGPT produit un tutoriel personnalisé sur la création de la macro. Chaque étape nécessaire au processus est expliquée et l’extrait du code afférent est affiché. Enfin, le code complet qui a été développé pour la macro demandée est affiché.

In essence, this code segment is very close to the macro code that I had produced over some considerable time, having had to research several web postings to identify the required techniques. Clearly, it is very generic code, and only covers part of what is required for the final macro. But, it is evident from this simple test that the AI bot is fully capable of generating “modules” of code that can readily be adapted for the desired purpose, and that such modules could be quickly consolidated into a fully-functional macro. The other consideration is that the current version of ChatGPT is at an early stage in the development of AI tools. As such applications become more sophisticated, and the computer systems running them become more powerful, it is highly likely that their use in computer programming will become ubiquitous. In the interim, ChatGPT is a useful tool for anyone seriously developing programs, macros and scripts, and a really interesting option for those who just wish to see what AI can do.

Ce segment de code est essentiellement très proche du code macro que j’avais produit sur une durée assez longue, car j’ai dû faire des recherches dans plusieurs pages Web pour identifier les techniques requises. Clairement, le code est très générique et ne couvre qu’une partie de ce qui est nécessaire pour la macro finale. Mais ce simple test rend évident le fait que le bot IA est entièrement capable de générer des « modules » de code qui peuvent être facilement adaptés pour l’objectif désiré et que de tels modules peuvent être rapidement consolidés en une macro pleinement fonctionnelle.

L’autre considération est que la version actuelle de ChatGPT est au début du développement d’outils IA. Au fur et à mesure que de telles applications deviendront plus sophistiquées et que les ordinateurs qui les exécutent deviendront plus puissants, il est fortement possible que leur utilisation dans la programmation informatique devienne omniprésent. Entre temps, ChatGPT est un outil utile pour quiconque développe des programmes, des macros et des scripts et une option vraiment intéressante pour les individus que veulent tout simplement voir ce que l’IA peut faire.

issue192/mon_opinion2.txt · Dernière modification : 2023/05/04 15:42 de andre_domenech