Qui aurait pu croire que ce bon vieux Windows 3.1, à la retraite depuis plus de 30 ans, aurait pu faire fonctionner ChatGPT ? Grâce à l'API d'OpenAI, des développeurs se sont lancés dans le projet, et ça a marché.
Le monde de la tech rime souvent avec défi. Souvenez-vous de la lubie de nombreux développeurs qui s'amusaient à faire tourner le premier DOOM sur des supports inimaginables : écran d'imprimante, iPod, frigo connecté et même test de grossesse. Tout ce qui pouvait calculer devenait un candidat potentiel. Récemment, une équipe s'est mis un objectif en tête : pratiquer un portage réussi du chatbot d'OpenAI sur un OS obsolète pour permettre un accès plus facile à celui-ci.
ChatGPT et Windows 3.1, un duo improbable
Le nom du projet ? WinGPT. Son but ? Faire fonctionner ChatGPT sur Windows 3.1. Puisque l'OS date de 1992, il a fallu déployer une ou deux ruses pour que ce portage soit possible. Écrite en langage C, WinGPT est une application tierce qui utilise l'API standard de Windows. L'équipe de développeurs a utilisé le compilateur Open Watcom v2 pour traduire le code source de ChatGPT vers cet ancien OS. Cet outil permet de compiler pour Windows 16 bits, et ce, même à partir de Windows 11. C'est cette compatibilité croisée qui a permis de rendre ChatGPT fonctionnel sur Windows 3.1.
Ainsi, WinGPT peut se connecter nativement au serveur de l'API d'OpenAI par l'utilisation directe de TLS 1.3, une norme de chiffrement datant de 2018. Cela évite d'avoir à utiliser un proxy sur une machine plus moderne pour établir la communication entre les deux appareils. Les limitations de Windows 3.1 ont donc été contournées avec brio !
Les défis de WinGPT
La conception de WinGPT a tout de même été un casse-tête à plusieurs niveaux. L'interface, en premier lieu, a dû être recréée élément par élément en langage C. Les capacités de création de l'interface de Windows 3.1 demeuraient beaucoup trop limitées pour procéder autrement. Un autre problème a été la barre d'état, élément que nous avons sous les yeux dès que nous allumons un ordinateur. Celle-ci n'existait pas nativement sous Windows 3.1, et l'équipe a récupéré le travail d'un certain Philip J. Erdelsky. Ce développeur avait imaginé l'intégration d'une barre d'état dans Windows 3.1 en 1997, ce qui a permis aux développeurs de l'intégrer directement à WinGPT.
Un autre défi plutôt sérieux les attendait : la limite de mémoire des machines qui tournaient sous Windows 3.1. Pour que cela fonctionne correctement, l'équipe est passée par une phase de travail intensive pour réduire la consommation de mémoire de WinGPT. L'idée était d'optimiser les échanges de requêtes et de réponses avec l'API d'OpenAI, pour minimiser leur taille et pour que l'OS tienne le coup. Les échanges avec le chatbot ne pouvaient pas non plus prendre en compte les réponses précédentes, et donc le contexte.
C'est un peu ça, la magie de l'informatique. Prendre conscience un beau matin qu'une technologie tombée dans l'oubli est encore capable de rester au goût du jour avec un peu d'ingéniosité et d'huile de coude. WinGPT est une prouesse en matière de rétrocompatibilité, et son développement force tout de même au respect.
- Chat dans différentes langues, dont le français
- Générer, traduire et obtenir un résumé de texte
- Générer, optimiser et corriger du code