IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

KDE se dote enfin d'un gestionnaire de machines virtuelles natif appelé « Karton », afin d'offrir un outil de gestion des machines virtuelles à part entière dans l'écosystème KDE

Le , par Anthony

3PARTAGES

6  0 
Un nouveau gestionnaire de machines virtuelles appelé "Karton" est en cours de développement spécifiquement pour KDE, dans le but d'offrir une alternative transparente et native à des outils centrés sur GNOME tels que GNOME Boxes. Dirigé par Derek Lin, étudiant à l'Université de Waterloo, Karton offre une expérience de machine virtuelle conviviale et entièrement intégrée, avec des fonctionnalités telles qu'une visionneuse SPICE personnalisée, la prise en charge des instantanés et une interface utilisateur conviviale pour les téléphones portables.

Pour rappel, KDE est un projet de logiciel libre historiquement centré autour d'un environnement de bureau pour systèmes UNIX. Le projet a évolué en un ensemble de produits comprenant l'environnement de bureau KDE Plasma, les frameworks KDE et une gamme d'application telles que Kate ou Krita. L'ensemble est utilisé principalement avec les systèmes d'exploitation GNU/Linux et BSD. KDE est avec GNOME la principale alternative libre et grand public aux interfaces des systèmes d'exploitation plus répandus Windows et Mac OS X.

La version 6.2 de KDE Plasma est sorti en octobre 2024, offrant un environnement graphique plus convivial, plus accessible et plus intelligent pour Linux. Cette version apporte notamment des améliorations pour les artistes numériques qui utilisent des tablettes de dessin, ainsi que des mises à jour pour la gestion des couleurs et de l'énergie.

Si vous passez la plupart de votre temps dans GNOME, vous avez probablement utilisé quelque chose comme GNOME Boxes pour démarrer des machines virtuelles sans trop de problèmes. Les utilisateurs de KDE, cependant, se sont souvent retrouvés à dépendre d'outils tels que virt-manager ou même GNOME Boxes lui-même. Bien que fonctionnels, ces outils ne se sentent pas toujours parfaitement à l'aise sur le bureau Plasma, et le vieux qt-virt-manager, une alternative basée sur Qt, a vu son développement s'arrêter depuis des années.

Ce mois de mai, un nouveau gestionnaire de machines virtuelles est en préparation pour KDE Plasma. Le projet, nommé Karton, a des racines qui remontent à l'effort original d'Aaron Rainbolt pour construire un frontal QEMU en utilisant son interface de ligne de commande. Plus tard, Harald Sitter, développeur KDE, a pris le relais et l'a développé en tant que projet Google Summer of Code.


Actuellement, Karton est activement développé par Derek Lin, également connu sous le nom de kenoi, un étudiant de deuxième année à l'université de Waterloo qui participe au Google Summer of Code (GSoC) 2025. Son objectif principal est de fournir un gestionnaire de machine virtuelle qui appartienne vraiment à l'écosystème KDE. « Au cours des derniers mois, j'ai contribué au projet par le biais de quelques demandes de merge et j'espère l'amener à un état un peu plus abouti vers la fin du programme ! », a déclaré Derek Lin, qui a précisé que le projet fera partie du GSoC 2025 et sera encadré par Harald Sitter, Tobias Fella et Nicolas Fella.

Pour se sentir à l'aise dans KDE, Karton est construit avec Qt Quick et Kirigami. Il utilise l'API libvirt pour gérer les machines virtuelles et pourrait éventuellement fonctionner sur différentes plateformes.

Pour l'instant, le développement se concentre sur la mise en place des éléments de base. Derek Lin travaille sur un nouvel installateur de domaine qui abandonne les appels directs à virt-install en faveur de libosinfo, qui aide à détecter les images du système d'exploitation et à générer le bon XML libvirt pour configurer les machines virtuelles avec plus de précision. Il continue d'affiner la configuration des périphériques et de travailler sur une prise en charge plus large des hyperviseurs. Une autre partie importante du travail consiste à construire une visionneuse SPICE personnalisée en utilisant Qt Quick à partir de zéro :

À propos du gestionnaire de machine virtuelle Karton

Actuellement, les gestionnaires de machines virtuelles basés sur GTK (virt-manager, GNOME Boxes) sont la norme pour de nombreux utilisateurs de KDE, mais ils ne sont généralement pas bien intégrés dans l'environnement Plasma. Bien qu'un gestionnaire de machine virtuelle basé sur Qt-Widget ait été réalisé par le passé, il n'a pas été maintenu depuis de nombreuses années et l'interface utilisateur est assez désuète.

Karton, lancé à l'origine par Aaron Rainbolt, devait être un frontal QEMU pour la virtualisation via sa CLI. Finalement, la propriété du projet a été transférée à Harald Sitter et il a été mis à disposition en tant que projet GSoC. L'objectif de Derek Lin est de faire de Karton un gestionnaire de machines virtuelles Qt-Quick/Kirigami natif, utilisant un backend libvirt. Grâce à libvirt, les tâches de bas niveau peuvent être abstraites et cela permet à l'application d'être potentiellement multiplateforme.


Le travail effectué par Derek Lin jusqu'à présent

Derek Lin a commencé à s'intéresser au projet en février de cette année, lorsqu'il a testé les GNOME Box, virt-manager et UTM. Il a également expérimenté le CLI virsh, configurant quelques machines virtuelles à travers le format XML du domaine libvirt.

Sa première demande de fusion était une réécriture de l'application en tant que preuve de concept. Derek a implémenté de nouveaux composants d'interface utilisateur pour lister, visualiser, configurer et installer les machines virtuelles contrôlées par libvirt. Il a utilisé l'API libvirt pour récupérer les informations sur les domaines des utilisateurs et a intégré les CLI virt-install et virtviewer pour l'installation et la visualisation des domaines, respectivement. Il a passé une grande partie de son temps à se familiariser avec les cadres Qt, libvirt et le C++ en général, et a donc remercié Harald Sitter et Gleb Popov, qui ont révisé son code.

Quelques semaines plus tard, Derek a également fait une demande de fusion plus petite en s'appuyant sur sa réécriture, ajoutant la gestion des chemins des disques virtuels QEMU, ce qui est à l'origine du dépôt principal à l'heure actuelle.

Entre deux sessions scolaires, à la mi-avril, Derek a eu l'opportunité d'assister au Plasma Sprint à Graz, où il a pu rencontrer de nombreux développeurs géniaux qui travaillent sur KDE. Pendant cette période, il a travaillé sur une demande de fusion pour implémenter un installateur de domaine (afin de remplacer l'appel de commande virt-install). Il a utilisé l'API GLib libosinfo pour détecter une image disque d'installateur de système d'exploitation fournie par l'utilisateur, obtenant ainsi les spécifications nécessaires pour le format de domaine XML de libvirt. Karton a ensuite été en mesure de générer un fichier XML personnalisé, facilitant ainsi le travail et l'implémentation de nouvelles fonctionnalités à l'avenir. Derek a dû retravailler une grande partie de la structure de la classe de configuration du domaine et s'est éloigné de la récupération d'informations à partir des appels API de libvirt pour les analyser directement à partir de XML.

Les travaux en cours

Comme virt-install est un programme très puissant, l'installateur de Derek Lin est encore codé en dur pour fonctionner avec QEMU, et il n'a pas encore été en mesure d'implémenter une grande partie de la configuration des périphériques. Il est également en train de travailler sur la prise en compte des retours sur cette demande de fusion.

Récemment, Derek Lin a commencé à travailler sur une nouvelle visionneuse de machines virtuelles personnalisée Qt-Quick. Il se connecte aux machines virtuelles via la bibliothèque spice-client-glib et rend les images sur un QQuickItem avec les images qu'il reçoit de la machine virtuelle active. Cette visionneuse comporte encore beaucoup de bogues et ne prend pas encore en charge les données de l'utilisateur.

Attention : Karton est encore en cours de développement. Il n'est pas recommandé d'exécuter Karton avec des machines virtuelles importantes, car elles risquent de tomber en panne.


Les projets de Derek Lin pour le Google Summer of Code '25

Une fois l'installateur de domaine terminé, Derek Lin pense que la majorité de son temps sera consacré à travailler et à peaufiner la visionneuse de machines virtuelles.

La liste des résultats spécifiques que Derek Lin a inclus dans sa proposition GSoC est fournie ci-dessous, bien qu'il note que la proposition elle-même est un peu dépassée :

[LIST][*] Installation et configuration des machines virtuelles via le format XML de libvirt au lieu de l'interface CLI de virt-install.
[LIST][*] Ajout[/*]...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Mingolito
Expert éminent https://www.developpez.com
Le 22/05/2025 à 14:23
Un gestionnaire en karton, un peu comme mon boss quoi

1  0 
Avatar de DevDur
Membre à l'essai https://www.developpez.com
Le 22/05/2025 à 18:49
Serait-il possible d’émuler une application Windows intégrée comme une application Linux, à la manière de Parallels sur Mac ?

Cela permettrait de franchir le cap vers Linux pour beaucoup de personnes ayant des besoins spécifiques (notamment des applications métier) disponibles uniquement sur Windows !
0  0