Nous utilisons chaque jour toutes sortes de logiciels pour exécuter dif­fé­rentes fonctions, comme le trai­te­ment d’images, le trai­te­ment de texte ou du calcul. Par ailleurs, nous attendons de ces ap­pli­ca­tions qu’elles fonc­tion­nent ra­pi­de­ment et sans accroc, dans toutes sortes de con­di­tions. Pour les dé­ve­lop­peurs, cela re­pré­sente un défi de taille, car les prin­ci­paux systèmes d’ex­ploi­ta­tion – Windows, macOS et Linux – sont très dif­fé­rents les uns des autres. S’ajoute à cela le fait que le logiciel doit fonc­tion­ner sur des versions dif­fé­rentes du même système d’ex­ploi­ta­tion. Théo­ri­que­ment, il faudrait adapter chaque programme aux nouvelles versions du système d’ex­ploi­ta­tion. Pour éviter ce problème, les dé­ve­lop­peurs utilisent des en­vi­ron­ne­ments d’exécution (Runtime En­vi­ron­ments en anglais).

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Qu’est-ce qu’un en­vi­ron­ne­ment d’exécution ?

En anglais, un en­vi­ron­ne­ment d’exécution se dit Runtime En­vi­ron­ment, abrégé RTE. Pour désigner un en­vi­ron­ne­ment d’exécution, on utilise parfois aussi tout sim­ple­ment le terme Runtime. Mais que désigne en réalité cette ex­pres­sion ? Que recouvre-t-elle ?

Pour dire les choses de manière simple, les en­vi­ron­ne­ments d’exécution sont de petits systèmes d’ex­ploi­ta­tion qui offrent tous les services né­ces­saires pour qu’un logiciel puisse être exécuté. Il peut aussi bien s’agir d’in­ter­faces sur des com­po­sants physiques du matériel que d’in­te­rac­tions-uti­li­sa­teurs et d’éléments de logiciels.

Un en­vi­ron­ne­ment d’exécution charge les ap­pli­ca­tions et leur permet d’être exécutées sur une pla­te­forme. Cette pla­te­forme dispose de toutes les res­sources né­ces­saires pour permettre au programme de fonc­tion­ner in­dé­pen­dam­ment du système d’ex­ploi­ta­tion. À titre d’exemple, la lecture de vidéos Flash n’est possible qu’avec l’en­vi­ron­ne­ment d’exécution adéquat, à savoir le Player Adobe Flash. Si cet en­vi­ron­ne­ment existe, les vidéos Flash seront lues avec un niveau de qualité et de fonc­tion­na­lité égal, in­dé­pen­dam­ment du na­vi­ga­teur ou du système d’ex­ploi­ta­tion.

Comment fonc­tionne un en­vi­ron­ne­ment d’exécution ?

Grâce à ce que l’on appelle aussi un système runtime, une ap­pli­ca­tion est capable d’interagir avec l’en­vi­ron­ne­ment d’exécution. L’en­vi­ron­ne­ment d’exécution fait à son tour le lien entre l’ap­pli­ca­tion et le système d’ex­ploi­ta­tion. Dès qu’un programme est exécuté, il envoie des in­di­ca­tions au pro­ces­seur de l’or­di­na­teur et à sa mémoire de travail, et mobilise les res­sources du système. L’en­vi­ron­ne­ment d’exécution comprend aussi le matériel, l’espace de mémoire et les variables de l’en­vi­ron­ne­ment, comme les in­te­rac­tions entre l’uti­li­sa­teur et les com­po­sants du logiciel.

Remarque

Le terme « runtime » a deux sig­ni­fi­ca­tions : dans le cadre de l’en­vi­ron­ne­ment d’exécution, il désigne l’exécution d’un logiciel dans un contexte spé­ci­fique. À ne pas confondre avec la durée né­ces­saire à un logiciel pour exécuter une tâche spé­ci­fique.

Un en­vi­ron­ne­ment d’exécution met à la dis­po­si­tion un certain nombre de fonctions de base au service de la mémoire, du réseau ou du matériel. Le runtime en­vi­ron­ment exécute ces fonctions à la place de l’ap­pli­ca­tion, et in­dé­pen­dam­ment du système d’ex­ploi­ta­tion. Cela concerne entre autres la lecture et l’écriture de fichiers, la gestion des entrées-sorties, la recherche, le tri ou l’ad­mi­nis­tra­tion des fichiers ou le flux de données sur les réseaux.

Note

Les dif­fé­rents modules d’un Runtime En­vi­ron­ment sont en­re­gis­trés dans ce que l’on appelle des bi­blio­thèques Runtime. Dans Windows, ces bi­blio­thèques sont iden­ti­fiables au moyen de l’extension .dll (dynamic link library) et dans Unix, l’extension est .so (shared object).

En tant qu’uti­li­sa­teur, vous profitez des en­vi­ron­ne­ments d’exécution car les logiciels accèdent à toutes les fonc­tion­na­li­tés né­ces­saires, exécutées in­dé­pen­dam­ment du système d’ex­ploi­ta­tion que vous utilisez. Par ailleurs, les logiciels ont la même interface graphique, que vous les utilisiez sous Windows, macOS ou Linux. Les dé­ve­lop­peurs utilisent des Runtime En­vi­ron­ments pour tester l’exécution de leurs ap­pli­ca­tions. En cas d’erreur, l’en­vi­ron­ne­ment d’exécution vous indique la cause du plantage ou la raison de l’erreur. Les Fra­me­works font aussi partie des en­vi­ron­ne­ments d’exécution. Également appelés in­fras­truc­tures lo­gi­cielles, les fra­me­works sim­pli­fient le dé­ve­lop­pe­ment des logiciels en mettant à leur dis­po­si­tion des en­vi­ron­ne­ments d’exécution sur lesquels peuvent être exécutées les ap­pli­ca­tions dé­ve­lop­pées.

Conseil

Si une ap­pli­ca­tion repose sur un en­vi­ron­ne­ment d’exécution, ce dernier est in­dis­pen­sable pour l’exécution.

Quels sont les avantages d’un Runtime En­vi­ron­ment ?

Comme mentionné plus haut, les en­vi­ron­ne­ments d’exécution fa­vo­ri­sent l’exécution des ap­pli­ca­tions, in­dé­pen­dam­ment de la pla­te­forme qui les accueille. Cela simplifie le dé­ve­lop­pe­ment, car il n’est alors pas né­ces­saire d’adapter le logiciel et ses nouvelles versions à chaque système d’ex­ploi­ta­tion. Si, au moment de son exécution, un logiciel a recours aux fonc­tion­na­li­tés d’un en­vi­ron­ne­ment d’exécution, les uti­li­sa­teurs bé­né­fi­cient des mêmes fonctions et de la même interface, quel que soit le système d’ex­ploi­ta­tion utilisé.

Un autre avantage concerne le gain en termes de res­sources. Plusieurs ap­pli­ca­tions si­mi­laires peuvent utiliser le même en­vi­ron­ne­ment d’exécution et partager des com­po­santes communes.

Quelques en­vi­ron­ne­ments d’exécution bien connus

L’un des meilleurs Runtime En­vi­ron­ment est celui de Java. L’exécution de pro­grammes Java requiert l’ins­tal­la­tion de l’en­vi­ron­ne­ment d’exécution Java Runtime En­vi­ron­ment. Les pro­grammes Java sont com­plè­te­ment in­dé­pen­dants du système d’ex­ploi­ta­tion et peuvent fonc­tion­ner sur n’importe quel système, à condition de disposer de l’en­vi­ron­ne­ment d’exécution. Comme le runtime en­vi­ron­ment Java est une pla­te­forme lo­gi­cielle, on parle sim­ple­ment de Pla­te­forme Java. Elle est composée d’une interface de pro­gram­ma­tion, d’une machine virtuelle et d’un ensemble de bi­blio­thèques. Le langage de pro­gram­ma­tion Java est dis­po­nible dans l’API (Ap­pli­ca­tion and Pro­gram­ming Interface).

Parmi les autres en­vi­ron­ne­ments d’exécution connus, nous pouvons citer :

  • Ac­tionS­cript Ap­pli­ca­tion (ASAP), qui contient des com­po­sants pour ceux qui dé­ve­lop­pent en Flash.
  • Blueprint, un framework CSS qui détecte les problèmes de com­pa­ti­bi­lité des dif­fé­rents na­vi­ga­teurs et favorise l’op­ti­mi­sa­tion des CSS. Blueprint est aussi dis­po­nible comme Thème de base CMS pour Drupal et WordPress.
  • Common Language Runtime, un en­vi­ron­ne­ment d’exécution virtuel pour des ap­pli­ca­tions .NET, capable d’in­ter­pré­ter le Common In­ter­me­diate Language Code.
  • Crystal Space, qui comprend un moteur 3D et sert es­sen­tiel­le­ment à créer des ap­pli­ca­tions de graphisme en 3 di­men­sions (gratuit).
  • Cygwin, un en­vi­ron­ne­ment d’exécution pour les ap­pli­ca­tions Linux leur per­met­tant de fonc­tion­ner aussi sur Windows, macOS et d’autres systèmes d’ex­ploi­ta­tion.
  • .NET Framework : les ap­pli­ca­tions Windows .NET ne peuvent fonc­tion­ner qu’avec ce cadriciel de Microsoft.
  • Node.js, l’en­vi­ron­ne­ment d’exécution de Ja­vaS­cript qui permet d’in­ter­pré­ter le script de pro­gram­ma­tion sur un serveur. Le con­cep­teur lui-même a émis quelques réserves sur Node.js, et a décidé de créer Deno, un nouvel en­vi­ron­ne­ment d’exécution Ja­vas­cript plus moderne et sécurisé.
  • Visual Basic Runtime, qui est utilisé par un grand nombre de sha­re­wares et de gra­tui­ciels.
  • WINE : grâce à ce Runtime En­vi­ron­ment, les ap­pli­ca­tions Windows peuvent fonc­tion­ner sur d’autres systèmes d’ex­ploi­ta­tion, comme Linux, FreeBSD ou macOS. La com­pa­ti­bi­lité n’est cependant pas toujours garantie.
  • XULRunner, un en­vi­ron­ne­ment d’exécution pour des ap­pli­ca­tions XUL, comme Firefox, Thun­der­bird et Songbird. Gé­né­ra­le­ment, ces ap­pli­ca­tions fonc­tion­nent aussi bien sans XULRunner. Il est cependant prévu de renforcer l’uti­li­sa­tion de ce runtime à l’avenir, dans le but d’éco­no­mi­ser des res­sources.
Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus
Aller au menu principal