Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012
Julien Hardelin
jhardlin@orange.fr 2014, 2018
Alain Lojewski
allomervan@gmail.com 2014
David Ducassou
david.ducassou@free.fr 2017
Guillaume Bernard
associations@guillaume-bernard.fr 2017-2019
Charles Monzat
charles.monzat@free.fr 2020

# Technologie utilisée par Machines

Machines utilise qemu-kvm, libvirt-glib et spice-gtk pour permettre aux utilisateurs de gérer les machines virtuelles et de se connecter à des machines distantes facilement.

# QEMU avec KVM

QEMU est un émulateur et un virtualiseur de machines. En tant qu’émulateur, il peut exécuter des systèmes d’exploitation et des programmes faits pour une certaine machine (p.ex. une carte ARM) sur une autre machine (p.ex. votre PC). En tant que virtualiseur, QEMU réalise une performance proche de l’originale en exécutant le code invité directement sur le CPU hôte grâce à KVM.

KVM (Kernel-based Virtual Machine) est un module du noyau Linux qui permet à un programme utilisateur de recourir aux fonctionnalités de virtualisation matérielles de différents processeurs.

# libvirt

libvirt est un ensemble d’outils pour la manipulation (création, effacement, modification) et la surveillance de machines virtuelles sur des hôtes distants, en toute sécurité.

libvirt-glib englobe libvirt pour procurer une API orientée objet de haut niveau, convenant à des applications basées sur glib.

# SPICE

SPICE (Simple Protocol for Independent Computing Environments) est un système pour accéder à des bureaux distants et les contrôler à travers un réseau.

Le serveur SPICE est une bibliothèque qui s’exécute à l’intérieur du binaire QEMU. Il est avant tout responsable de l’authentification des connexions client, de la transmission des sorties graphiques du système d’exploitation invité vers le client et de la transmission des entrées de l’utilisateur (souris et clavier) du client vers l’invité.

spice-gtk est le client SPICE qui fournit l’affichage du système d’exploitation de l’invité.

# VNC

VNC (Virtual Network Computing), utilisé seulement pour l’affichage distant, est un protocole bien connu, mais plutôt limité et lent.