Expérimenter l'utilisation de l'IA pour traduire une application de GTK2 et OpenGL vers GTK4 et Vulkan

Christian Schaller, responsable de l'équipe Fedora Desktop et du groupe de développement de bureau chez Red Hat, a publié les résultats d'une évaluation de la pertinence de l'utilisation de grands modèles de langage dans le développement d'applications graphiques pour LinuxÀ titre expérimental, il a utilisé l'assistant IA Claude pour moderniser l'application graphique obsolète Xtraceroute.

Xtraceroute, une application permettant de visualiser le cheminement des paquets réseau sur un globe 3D, a été initialement développée avec GTK1 et OpenGL, puis portée sur GTK2000 au début des années 2. Elle n'a ensuite été mise à jour que 20 ans plus tard. Grâce à un assistant d'intelligence artificielle, Christian a mis environ cinq heures à porter l'application sur GTK4 et l'API graphique Vulkan.

C'était:


Expérimenter l'utilisation de l'IA pour traduire une application de GTK2 et OpenGL vers GTK4 et Vulkan

C'est devenu:


Expérimenter l'utilisation de l'IA pour traduire une application de GTK2 et OpenGL vers GTK4 et Vulkan

Christian a ensuite utilisé l'IA pour créer une nouvelle application basée sur le port, affichant la localisation des bureaux Red Hat sur un globe et les actualités de l'entreprise en bas de la fenêtre. Christian a également proposé d'utiliser l'IA pour automatiser la vérification des modules complémentaires de GNOME Shell et générer des correctifs en fonction des modifications apportées aux nouvelles versions de GNOME Shell.


Expérimenter l'utilisation de l'IA pour traduire une application de GTK2 et OpenGL vers GTK4 et Vulkan

Selon Christian, l'utilisation de l'IA suscite un certain scepticisme et une certaine négativité au sein de la communauté. Grâce à cette expérience, il souhaitait montrer aux autres développeurs de logiciels libres et open source qu'ils ne devaient pas ignorer les possibilités offertes par l'IA pour simplifier le processus de développement. Par exemple, l'IA permet de gagner du temps en éliminant la nécessité d'analyser la documentation de l'API, de suivre les modifications de l'API et de sélectionner les appels appropriés, et simplifie également considérablement l'écriture des tests.

L'IA est considérée comme un outil d'aide au développement, mais elle ne dispense pas de la responsabilité du code ajouté et nécessite une vérification et un contrôle qualité. À titre d'exemple, une tentative de génération de code pour intégrer la prise en charge de l'affichage de documents PDF dans une application est présentée. L'IA a proposé un code utilisant le moteur de navigateur WebKit pour le rendu, ce qui a fonctionné, mais a généré une importante dépendance. Après avoir clarifié la tâche, l'IA a fourni un code utilisant la bibliothèque compacte libpoppler pour le rendu PDF.

Actuellement, les principaux assistants IA fonctionnent sous forme de services en ligne externes, ce qui soulève des inquiétudes liées à sécurité et confidentialitéPour remédier à ce problème, Red Hat développe son propre outil de génération de code, Granite.code, basé sur le modèle de langage open source Granite, qui permet d'exécuter un modèle d'IA sur l'ordinateur du développeur. Ce projet est actuellement moins performant que des systèmes comme Claude, Gemini et ChatGPT, mais il résout le problème du transfert de données vers des tiers et élimine la dépendance du flux de travail vis-à-vis d'un service externe.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster