Runtime Environment : qu’est-ce qu’un environnement d’exécution ?
Nous utilisons chaque jour toutes sortes de logiciels pour exécuter différentes fonctions, comme le traitement d’images, le traitement de texte ou du calcul. Par ailleurs, nous attendons de ces applications qu’elles fonctionnent rapidement et sans accroc, dans toutes sortes de conditions. Pour les développeurs, cela représente un défi de taille, car les principaux systèmes d’exploitation – Windows, macOS et Linux – sont très différents les uns des autres. S’ajoute à cela le fait que le logiciel doit fonctionner sur des versions différentes du même système d’exploitation. Théoriquement, il faudrait adapter chaque programme aux nouvelles versions du système d’exploitation. Pour éviter ce problème, les développeurs utilisent des environnements d’exécution (Runtime Environments en anglais).
- Domaine .eu ou .fr + éditeur de site gratuit pendant 6 mois
- 1 certificat SSL Wildcard par contrat
- Boîte email de 2 Go
Qu’est-ce qu’un environnement d’exécution ?
En anglais, un environnement d’exécution se dit Runtime Environment, abrégé RTE. Pour désigner un environnement d’exécution, on utilise parfois aussi tout simplement le terme Runtime. Mais que désigne en réalité cette expression ? Que recouvre-t-elle ?
Pour dire les choses de manière simple, les environnements d’exécution sont de petits systèmes d’exploitation qui offrent tous les services nécessaires pour qu’un logiciel puisse être exécuté. Il peut aussi bien s’agir d’interfaces sur des composants physiques du matériel que d’interactions-utilisateurs et d’éléments de logiciels.
Un environnement d’exécution charge les applications et leur permet d’être exécutées sur une plateforme. Cette plateforme dispose de toutes les ressources nécessaires pour permettre au programme de fonctionner indépendamment du système d’exploitation. À titre d’exemple, la lecture de vidéos Flash n’est possible qu’avec l’environnement d’exécution adéquat, à savoir le Player Adobe Flash. Si cet environnement existe, les vidéos Flash seront lues avec un niveau de qualité et de fonctionnalité égal, indépendamment du navigateur ou du système d’exploitation.
Comment fonctionne un environnement d’exécution ?
Grâce à ce que l’on appelle aussi un système runtime, une application est capable d’interagir avec l’environnement d’exécution. L’environnement d’exécution fait à son tour le lien entre l’application et le système d’exploitation. Dès qu’un programme est exécuté, il envoie des indications au processeur de l’ordinateur et à sa mémoire de travail, et mobilise les ressources du système. L’environnement d’exécution comprend aussi le matériel, l’espace de mémoire et les variables de l’environnement, comme les interactions entre l’utilisateur et les composants du logiciel.
Le terme « runtime » a deux significations : dans le cadre de l’environnement d’exécution, il désigne l’exécution d’un logiciel dans un contexte spécifique. À ne pas confondre avec la durée nécessaire à un logiciel pour exécuter une tâche spécifique.
Un environnement d’exécution met à la disposition un certain nombre de fonctions de base au service de la mémoire, du réseau ou du matériel. Le runtime environment exécute ces fonctions à la place de l’application, et indépendamment du système d’exploitation. Cela concerne entre autres la lecture et l’écriture de fichiers, la gestion des entrées-sorties, la recherche, le tri ou l’administration des fichiers ou le flux de données sur les réseaux.
Les différents modules d’un Runtime Environment sont enregistrés dans ce que l’on appelle des bibliothèques Runtime. Dans Windows, ces bibliothèques sont identifiables au moyen de l’extension .dll (dynamic link library) et dans Unix, l’extension est .so (shared object).
En tant qu’utilisateur, vous profitez des environnements d’exécution car les logiciels accèdent à toutes les fonctionnalités nécessaires, exécutées indépendamment du système d’exploitation que vous utilisez. Par ailleurs, les logiciels ont la même interface graphique, que vous les utilisiez sous Windows, macOS ou Linux. Les développeurs utilisent des Runtime Environments pour tester l’exécution de leurs applications. En cas d’erreur, l’environnement d’exécution vous indique la cause du plantage ou la raison de l’erreur. Les Frameworks font aussi partie des environnements d’exécution. Également appelés infrastructures logicielles, les frameworks simplifient le développement des logiciels en mettant à leur disposition des environnements d’exécution sur lesquels peuvent être exécutées les applications développées.
Si une application repose sur un environnement d’exécution, ce dernier est indispensable pour l’exécution.
Quels sont les avantages d’un Runtime Environment ?
Comme mentionné plus haut, les environnements d’exécution favorisent l’exécution des applications, indépendamment de la plateforme qui les accueille. Cela simplifie le développement, car il n’est alors pas nécessaire d’adapter le logiciel et ses nouvelles versions à chaque système d’exploitation. Si, au moment de son exécution, un logiciel a recours aux fonctionnalités d’un environnement d’exécution, les utilisateurs bénéficient des mêmes fonctions et de la même interface, quel que soit le système d’exploitation utilisé.
Un autre avantage concerne le gain en termes de ressources. Plusieurs applications similaires peuvent utiliser le même environnement d’exécution et partager des composantes communes.
Quelques environnements d’exécution bien connus
L’un des meilleurs Runtime Environment est celui de Java. L’exécution de programmes Java requiert l’installation de l’environnement d’exécution Java Runtime Environment. Les programmes Java sont complètement indépendants du système d’exploitation et peuvent fonctionner sur n’importe quel système, à condition de disposer de l’environnement d’exécution. Comme le runtime environment Java est une plateforme logicielle, on parle simplement de Plateforme Java. Elle est composée d’une interface de programmation, d’une machine virtuelle et d’un ensemble de bibliothèques. Le langage de programmation Java est disponible dans l’API (Application and Programming Interface).
Parmi les autres environnements d’exécution connus, nous pouvons citer :
- ActionScript Application (ASAP), qui contient des composants pour ceux qui développent en Flash.
- Blueprint, un framework CSS qui détecte les problèmes de compatibilité des différents navigateurs et favorise l’optimisation des CSS. Blueprint est aussi disponible comme Thème de base CMS pour Drupal et WordPress.
- Common Language Runtime, un environnement d’exécution virtuel pour des applications .NET, capable d’interpréter le Common Intermediate Language Code.
- Crystal Space, qui comprend un moteur 3D et sert essentiellement à créer des applications de graphisme en 3 dimensions (gratuit).
- Cygwin, un environnement d’exécution pour les applications Linux leur permettant de fonctionner aussi sur Windows, macOS et d’autres systèmes d’exploitation.
- .NET Framework : les applications Windows .NET ne peuvent fonctionner qu’avec ce cadriciel de Microsoft.
- Node.js, l’environnement d’exécution de JavaScript qui permet d’interpréter le script de programmation sur un serveur. Le concepteur lui-même a émis quelques réserves sur Node.js, et a décidé de créer Deno, un nouvel environnement d’exécution Javascript plus moderne et sécurisé.
- Visual Basic Runtime, qui est utilisé par un grand nombre de sharewares et de gratuiciels.
- WINE : grâce à ce Runtime Environment, les applications Windows peuvent fonctionner sur d’autres systèmes d’exploitation, comme Linux, FreeBSD ou macOS. La compatibilité n’est cependant pas toujours garantie.
- XULRunner, un environnement d’exécution pour des applications XUL, comme Firefox, Thunderbird et Songbird. Généralement, ces applications fonctionnent aussi bien sans XULRunner. Il est cependant prévu de renforcer l’utilisation de ce runtime à l’avenir, dans le but d’économiser des ressources.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel