Virtualisation des Applications
La virtualisation des applications est une technologie permettant d'exécuter des logiciels
sans les installer directement sur le système d'exploitation local. Contrairement aux méthodes
classiques, elle permet d'encapsuler une application dans un environnement isolé ou de la
diffuser depuis un serveur distant.
1. Définition et Fonctionnement de la Virtualisation des
Applications
1.1 Définition
La virtualisation des applications consiste à abstraire une application du système
d'exploitation sous-jacent afin de l'exécuter dans un environnement contrôlé. Contrairement à
la virtualisation complète d’un système d’exploitation, elle n’implique pas la création d’une
machine virtuelle complète, mais seulement d’un "bac à sable" pour exécuter l'application.
Cette technologie permet aux applications de fonctionner indépendamment, sans affecter ou
être affectées par d’autres logiciels installés sur le système.
1.2 Fonctionnement Général
Le processus de virtualisation des applications repose sur plusieurs approches :
1. Encapsulation et Isolation : L’application et toutes ses dépendances (DLL,
bibliothèques, configurations, fichiers temporaires) sont regroupées dans un
environnement virtuel.
2. Redirection des Accès : Plutôt que d’accéder aux fichiers système de l’OS hôte,
l’application redirige ses accès vers un espace isolé.
3. Exécution Décentralisée : L’application peut être exécutée en local à partir d’un
package virtualiser ou en streaming depuis un serveur.
2. Types de Virtualisation des Applications
La virtualisation des applications peut être classée en plusieurs types selon la manière dont
l’application est exécutée et gérée.
2.1 Virtualisation en Mode Isolation (Encapsulation ou Sandbox)
Dans cette approche, l’application est empaquetée avec toutes ses dépendances et fonctionne
indépendamment du système d’exploitation. Elle peut être exécutée sans installation et sans
interférer avec d'autres applications.
Comment ça marche ?
• L’application virtualisée est stockée sous forme d’un fichier unique (.exe, .msi, .appv).
• Lorsqu’un utilisateur exécute l’application, une couche d’abstraction intercepte toutes
les requêtes d’accès aux fichiers et au registre, les redirigeant vers un environnement
virtuel.
• L’application fonctionne comme si elle était installée localement, sans modification du
système hôte.
Avantages
• Évite les conflits entre applications (exemple : plusieurs versions d’un même logiciel).
• Facilité de déploiement : pas d’installation requise.
• Réduction des problèmes liés aux droits d’administrateur.
Exemples de solutions
• VMware ThinApp : Crée des applications portables encapsulées.
• Microsoft App-V : Virtualisation et streaming d’applications Windows.
2.2 Virtualisation Basée sur le Streaming
Ici, l’application n’est pas exécutée localement mais diffusée en temps réel depuis un serveur.
Comment ça marche ?
• L’utilisateur demande l’accès à une application virtualisée.
• Le serveur envoie uniquement les parties nécessaires pour démarrer l’application.
• Les autres composants sont chargés en arrière-plan au fur et à mesure des besoins.
Avantages
Pas besoin de stocker l’application sur chaque poste utilisateur.
Mise à jour centralisée sur le serveur, sans intervention sur les postes clients.
Exécution rapide, même sur des appareils légers.
Exemples de solutions
• Microsoft App-V : Déploie des applications en streaming sans installation locale.
• Citrix XenApp : Permet d’accéder aux applications Windows à distance.
2.3 Virtualisation Basée sur un Serveur (Cloud et Bureau à Distance)
Dans cette approche, l’application s’exécute entièrement sur un serveur distant, et l’utilisateur
y accède via une interface web ou un client léger.
Comment ça marche ?
• L’application est installée et exécutée sur un serveur.
• L’utilisateur se connecte à l’application via un protocole d’affichage à distance (RDP,
ICA, PCoIP).
• L’affichage est transmis au client tandis que l’application fonctionne sur le serveur.
Avantages
Évite les problèmes de compatibilité avec les postes clients.
Permet d’exécuter des logiciels lourds sur des machines peu puissantes.
Sécurisation des données, puisque tout reste sur le serveur.
Exemples de solutions
• Citrix Virtual Apps : Fournit des applications à distance sans installation locale.
• Microsoft Remote Desktop Services (RDS) : Permet d’accéder à des applications
Windows depuis un terminal léger.
3. Avantages de la Virtualisation des Applications
Avantage Explication
Déploiement
Pas besoin d’installer manuellement les applications sur chaque machine.
Simplifié
Compatibilité Possibilité d’exécuter des logiciels anciens ou incompatibles avec un OS
Améliorée moderne.
Isolation des applications, réduisant le risque de virus ou de corruption du
Sécurité Renforcée
système.
Mises à Jour Les administrateurs IT peuvent mettre à jour une application sur le serveur
Centralisées et la rendre instantanément disponible pour tous les utilisateurs.
Réduction des Moins de maintenance et de support technique, car les applications ne sont
Coûts IT pas installées sur chaque poste.
4. Cas Concrets d’Utilisation
Dans les entreprises
• Exécution d’outils métiers sensibles sur un serveur sécurisé.
• Gestion centralisée des licences logicielles pour optimiser les coûts.
Dans l’éducation
• Permet aux étudiants d’accéder aux logiciels spécialisés depuis n’importe quel
ordinateur.
• Exécuter des applications scientifiques ou graphiques sur des terminaux légers.
Dans le développement et les tests
• Tester différentes versions d’un même logiciel sans interférer avec le système hôte.
• Créer un environnement de test isolé pour éviter les conflits entre applications.
5. Limites et Contraintes
Limite Explication
Performance Les solutions basées sur un serveur nécessitent une connexion
Dépendante du Réseau rapide et stable.
Compatibilité Certaines applications qui nécessitent un accès direct au matériel
Incomplète (ex: logiciels 3D ou jeux vidéo) ne sont pas toujours compatibles.
La mise en place d’une infrastructure de virtualisation peut être
Coût Initial Élevé
coûteuse en matériel et en licences.
6. Outils et Solutions de Virtualisation des Applications
Outil Type Fonctionnalité clé
Streaming & Permet de virtualiser et diffuser des applications
Microsoft App-V
Encapsulation Windows.
VMware
Isolation Exécute des applications sans installation locale.
ThinApp
Citrix Virtual Fournit des applications à distance via un client
Serveur
Apps léger.
[Link] Cloud & Encapsulation Virtualisation d’applications sur le web.
7. Virtualisation et conteneurisation pour développeur
La virtualisation et la conteneurisation sont des solutions essentielles pour les développeurs
souhaitant isoler leurs applications, éviter les conflits entre environnements et garantir la
portabilité du code.
La virtualisation classique repose sur des machines virtuelles (VMs), qui permettent
d’exécuter plusieurs systèmes d’exploitation sur une même machine. Chaque VM possède son
propre OS invité, ce qui garantit une isolation complète mais consomme davantage de
ressources. En revanche, la conteneurisation, avec des outils comme Docker et Kubernetes,
est une alternative plus légère et plus rapide. Contrairement aux VMs, les conteneurs
partagent le même noyau du système d’exploitation hôte, ce qui réduit l’utilisation des
ressources et accélère le démarrage des applications.
Cas Pratiques en Développement
La conteneurisation et la virtualisation sont largement adoptées dans différents domaines du
développement. Dans le développement web, elles permettent aux équipes de travailler sur
des environnements identiques sans risque de conflit. Dans le cas des microservices, chaque
service peut être déployé indépendamment, améliorant ainsi la flexibilité et l’évolutivité des
applications. Pour les projets Big Data et Intelligence Artificielle, les conteneurs facilitent
l’exécution de modèles d’apprentissage automatique sur différents environnements sans
dépendances complexes. Enfin, en DevOps et CI/CD, Docker et Kubernetes automatisent les
déploiements, réduisant ainsi le temps nécessaire pour mettre à jour et livrer une application.