Brevet FR3077903A1 — publié le 20190816

PROCEDE DE CREATION D'UN ENVIRONNEMENT D'EXECUTION INFORMATIQUE UNIQUE POUR APPLICATIONS LOGICIELLES NECESSITANT DES ENVIRONNEMENTS D'EXECUTION DIFFERENTS L'invention concerne un procédé de création d'un environnement d'exécution informatique unique permettant sur une même machine le fonctionnement de diverses applications logicielles qui sont pourtant associées à des environnements d'exécution différents. On entend dans la suite de la description par « environnement d'exécution », tous les éléments nécessaires au fonctionnement d'une application logicielle, tels que l'exécutable et sa version ad hoc, des plug-in, des chemins donnés de réseau, ses variables d'environnement, ses versions de java etc. Le plus souvent, une machine possède un environnement d'exécution préinstallé. Par ailleurs, une application logicielle fonctionne avec un environnement qui lui est propre. Aussi, pour réaliser différentes tâches, l'utilisateur fera appel à des logiciels dédiés aux différentes tâches tout en veillant à ce que toutes ces applications logicielles fonctionnent avec le même environnement d'exécution. Cependant, il peut arriver que? sur le marché ou dans certaines entités/entreprises qui ont développé leurs propres applications logicielles, l'environnement déjà installé sur la machine de l'utilisateur et dont il a besoin pour l'exécution de certaines tâches, soit incompatible avec l'environnement nécessaire au fonctionnement de la nouvelle application logicielle dédiée à une nouvelle tâche. L'utilisateur a alors besoin d'une autre machine sur laquelle doit être installé l'autre environnement nécessaire à la nouvelle application logicielle. Ce problème est souvent soulevé dans une entreprise dont les employés travaillent pour au moins deux clients distincts ayant des applications logicielles et des environnements propres incompatibles. Les utilisateurs doivent alors avoir à disposition au moins deux machines distinctes. Par ailleurs, deux utilisateurs ayant deux sessions d'utilisation différentes ne peuvent utiliser une seule machine que si les applications logicielles dont a besoin chaque utilisateur sont 2 compatibles avec le même environnement d'exécution. Si les environnements sont différents, il faudra là encore disposer de deux machines pour les deux sessions respectives d'utilisation. Or, il existe un besoin grandissant de simplifier la gestion du parc de machines dans une entreprise en cherchant à minimiser le nombre de ces machines, tout en garantissant le 5 fonctionnement pour l'utilisateur sur une seule machine de toutes les applications logicielles dont il a besoin et des éventuelles futures applications. L'invention a donc pour but un procédé de création d'un environnement informatique spécifique d'exécution d'applications logicielles pour faire fonctionner sur une même machine toutes applications logicielles qui nécessitent pourtant des environnements d'exécution 10 différents. En outre, le procédé de l'invention a pour but de s'adapter en temps réel à une application, c'est-à-dire de fournir à une machine, en temps réel, l'environnement ad hoc pour une nouvelle application logicielle, tout en conservant le ou les autres environnements existants sur la même machine. 15 L'invention porte donc sur un procédé de création d'un environnement informatique spécifique d'exécution d'applications logicielles sur une machine, ledit environnement spécifique étant configuré pour assurer sur la (même) machine l'exécution d'applications logicielles qui sont couplées à des environnements d'exécution différents, le procédé comportant les étapes suivantes : 20 identification de toutes les applications logicielles à stocker dans la machine et des environnements différents d'exécution de ces applications ; identification des besoins de l'utilisateur ou de chaque utilisateur de la machine dont notamment la ou les applications logicielles, la chaîne de connexion de l'utilisateur (en particulier la gestion des identités et des accès), les éventuels portails, les interfaces informatiques du type imprimante, ports USB, partage de fichier, scanner, traceur, camera... création (construction) d'un unique environnement informatique d'exécution spécifique, nommé dans la suite de la description « environnement dédié » ou « runtime », apte à assurer le fonctionnement de toutes les applications logicielles identifiées à stocker dans la machine ; enregistrement dudit environnement dédié de préférence sur un système d'hébergement. 3 On entend dans la suite de la description par « machine », toute interface de dialogue et de visualisation pour un utilisateur, tel qu'un ordinateur fixe, un ordinateur portable, une tablette, un smartphone etc. Le procédé comporte, après création de l'environnement dédié, une étape de mise à 5 disposition dudit environnement dédié à la machine, destinée à utiliser les applications logicielles identifiées, de préférence par téléchargement depuis la machine sous accès contrôlé. Selon une caractéristique, le procédé comporte une étape intermédiaire avant la construction de l'environnement dédié, d'enregistrement (stockage) dans différentes tables de données, 10 des données relatives au moins à l'identification des applications logicielles et de leur environnement d'exécution, l'identification d'interfaces informatiques, les systèmes d'exploitation, la gestion des identités des utilisateurs. L'étape d'enregistrement d'un environnement dédié comprend l'enregistrement dudit environnement dédié dans une table de données qui est conçue pour stocker tous les 15 environnements dédiés créés. Selon une autre caractéristique, le procédé comporte après identification de toutes les applications logicielles à enregistrer dans une même machine et des environnements d'exécution de ces applications, une étape de comparaison avec des environnements dédiés déjà créés et de reconnaissance avec un environnement dédié déjà créé. 20 Selon encore une autre caractéristique, l'environnement dédié est destiné à ne former qu'une seule interface de travail pour l'utilisateur. Avantageusement, l'environnement dédié comporte la gestion des autorisations d'accès pour un ou des utilisateurs à un poste de travail et aux applications logicielles. L'invention est également relative à un système informatique de mise en oeuvre du procédé 25 de l'invention, comportant des moyens de communication à distance, des moyens électroniques de traitement et de stockage et un logiciel permettant notamment les étapes d'identification, d'enregistrement des données, de création de l'environnement dédié et de sa transmission contrôlée. De préférence, le système informatique de mise en oeuvre du procédé de l'invention est 30 hébergé dans le même système d'hébergement qui stocke les environnements dédiés déjà créés. 4 L'invention est également relative à un produit programme d'ordinateur téléchargeable depuis un réseau de communication, et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé précité de l'invention. 5 La présente invention est maintenant décrite à l'aide d'exemples uniquement illustratifs et nullement limitatifs de la portée de l'invention, et à partir des illustrations ci-jointes, dans lesquelles : - La figure 1 représente le diagramme fonctionnel du procédé de l'invention ; - La figure 2 est une représentation schématique du système informatique de mise en 10 oeuvre du procédé de l'invention. Sur la figure 1 sont schématisées les étapes du procédé de l'invention de création d'un environnement informatique d'exécution qui est spécifique, ci-après dénommé runtime, pour assurer le fonctionnement d'applications logicielles sur une même machine, alors qu'au moins deux applications logicielles fonctionnent dans deux environnements d'exécution respectifs 15 différents. Le procédé de l'invention propose ainsi un runtime dédié qui pourra être mis en oeuvre sur une seule machine en fournissant pour chaque application logicielle dont a besoin l'utilisateur, l'environnement d'exécution ad hoc. Ce runtime dédié permet également, lors de sa création, d'être configuré pour être mis en 20 oeuvre de manière sécurisée, et cela à partir des seules sources d'accès qui auront été autorisées par enregistrement préalable dans ledit runtime. En regard des figures 1 et 2, le procédé de création de l'invention d'un runtime dédié est mis en oeuvre par le système informatique 1 de l'invention, ci-après dénommé « configurateur », et comporte les étapes suivantes : 25 - une étape 10 d'identification à distance de toutes les applications logicielles à stocker dans une machine 2 et des environnements différents d'exécution de ces applications ; - une étape 20 d'identification des besoins de l'utilisateur ou de chaque utilisateur de la machine ; - une étape 30 de construction (création) du runtime dédié qui est destiné à assurer le 30 fonctionnement de toutes les applications logicielles identifiées à mettre en oeuvre par la machine ; 5 - une étape 40 d'enregistrement sur un système d'hébergement de ce runtime une fois créé. L'ensemble des étapes du procédé de l'invention est réalisé grâce à des moyens de communication à distance, des moyens électroniques de traitement du type 5 microprocesseur(s) et un logiciel développé spécifiquement par la demanderesse. L'étape 10 d'identification à distance de toutes les applications logicielles qui seront stockées dans la machine 2, destinée à utiliser le runtime dédié, consiste à identifier chacune des applications logicielles et son environnement d'exécution propre, ci-après dénommé « exécutable », dont aura besoin un utilisateur. 10 La machine 2 est connectée au configurateur 1 via une communication Internet ou Intranet. Lorsqu'une partie des applications logicielles à utiliser est déjà présente dans la machine 2 qui utilisera le runtime, la machine qui est connectée au configurateur 1 transmettra par interrogation du configurateur l'ensemble des applications logicielles présentes, ces applications fonctionnant chacune avec le même exécutable. Les autres applications 15 logicielles à utiliser qui fonctionnent, au moins pour certaines d'entre elles, avec un autre exécutable, sont fournies au configurateur 2 via un système de supervision 3. En variante, indépendamment de la machine 2, l'ensemble des applications logicielles dont a besoin l'utilisateur pourraient être communiquées au configurateur 1 par le seul système de supervision 3. 20 L'étape 20 d'identification des besoins de l'utilisateur ou de chaque utilisateur de la machine consiste à identifier les différents besoins informatiques que sont notamment : - la ou les applications logicielles nécessaires à chaque utilisateur, l'utilisateur U1 n'ayant pas forcément les mêmes besoins d'applications logicielles que l'utilisateur U2, 25 - la chaîne de connexion de chaque utilisateur afin de gérer la gestion des identités et des accès ; - les éventuels portails auxquels doivent avoir accès les utilisateurs ; - les inter-faces informatiques du type imprimante, ports USB, partage de fichiers, scanner, traceur, camera... 30 Les étapes d'identification sont suivies d'une étape d'enregistrement 21 dans des tables de données de toutes les informations répertoriées par le configurateur 2. 6 Parmi les tables élaborées dans le configurateur 2, sont enregistrées les tables suivantes, listées de manière non exhaustive : les applications logicielles ; les exécutables ; 5 les systèmes d'exploitation ; les interfaces informatiques ; la gestion de l'identité des utilisateurs, c'est-à-dire toutes les données relatives à chaque utilisateur comprenant notamment la ou les machines qui pourront être employées par l'utilisateur, les applications logicielles associées à l'utilisateur, les 10 identifiants (les mots-de-passe n'étant en revanche préférentiellement pas stockés), les interfaces... ; chaque runtime créé. L'étape 30 de construction (création) du runtime dédié procure une architecture ad hoc du runtime, qui est sécurisée, et transparente pour l'utilisateur et permettra le fonctionnement 15 de toutes les applications logicielles dont a besoin l'utilisateur même lorsque certaines de ces applications sont couplées avec des exécutables différents. Un seul runtime sera associé à une machine pour fournir à l'utilisateur une seule interface de travail. Le runtime gère, au regard de chaque utilisateur, les accès à la machine et aux applications logicielles. 20 Une fois, le runtime créé, celui-ci est enregistré lors de l'étape 40 dans une table de données correspondant à la table des runtime créés. Le procédé de l'invention permet de créer autant de runtimes que nécessaire, chaque runtime créé avec toutes ses caractéristiques étant enregistré dans la table des runtime. Une fois le runtime créé, celui-ci peut être téléchargé par la machine 1. 25 De préférence, selon le procédé de l'invention, il sera précisé dans le configurateur 1 via le système de supervision 3, l'identification de la machine 2 ainsi que l'identification de l'utilisateur ou des utilisateurs, afin de sécuriser l'utilisation du runtime. Ainsi, on saura de manière certaine qui et où (sur quelle machine) le runtime sera téléchargé et donc utilisé. Aussi, le procédé de l'invention comporte une étape 50 de mise à disposition du runtime à la 30 machine 2, sous accès contrôlé. Sur la machine 2 de l'utilisateur seront visualisées sur un même écran d'affichage les différentes applications logicielles qui pourront, chacune, être lancées par l'utilisateur à partir 7 du même dit écran et qui pourtant fonctionneront pour certaines d'entre elles avec des exécutables différents. En cas de pluralité d'utilisateurs, le runtime créé en aura tenu compte. La machine 2 n'aura qu'un seul runtime ; chaque utilisateur ouvrira sa session avec son mot de passe et aura sur 5 son écran d'affichage sa configuration propre avec les applications logicielles dont il aura besoin. Selon l'invention, comme le configurateur 1 conserve les runtimes déjà créés, il est de préférence conçu après les étapes d'identification 10 et 20 pour engendrer une étape 22 de comparaison des informations juste collectées, avec les données des runtimes déjà créés afin 10 d'éviter de créer un nouveau runtime si l'un d'entre eux correspond en toutes caractéristiques à celui qui aurait dû être créé, ou bien crée un nouveau runtime en adaptant éventuellement un runtime déjà créé. De préférence, tous les runtimes créés sont stockés dans un système d'hébergement qui héberge également le configurateur 1. Selon l'emplacement physique du système 15 d'hébergement, l'accès au configurateur 1 se fait via Internet ou un Intranet. Enfin, le procédé de l'invention permet également de s'adapter en temps réel à l'installation d'un runtime sur une machine devant en disposer, ou à l'installation d' une nouvelle application logicielle dont aurait besoin un utilisateur employant déjà un runtime. L'utilisateur REVENDICATIONS1. Procédé de création d'un environnement informatique spécifique d'exécution d'applications logicielles sur une machine (2), ledit environnement spécifique étant configuré pour assurer sur la machine l'exécution d'applications logicielles qui sont couplées à des environnements d'exécution différents, le procédé comportant les étapes suivantes qui sont mises en oeuvre par un système (1), dit configurateur, comprenant des moyens de communication à distance aptes à communiquer avec la machine (2), des moyens électroniques de traitement et de stockage et un logiciel dédié, et par un système de supervision (3) communiquant avec le configurateur : identification (10) de toutes les applications logicielles à stocker dans la machine et des environnements différents d'exécution de ces applications, ; - identification (20) des besoins de l'utilisateur ou de chaque utilisateur de la machine dont notamment la ou les applications logicielles, la chaîne de connexion de l'utilisateur, les éventuels portails, les interfaces informatiques du type imprimante, ports USB, partage de fichier, scanner, traceur, camera ; les deux étapes d'identification (10, 20) étant effectuées par l'interrogation à distance de la machine (2) par le configurateur (1), et par transmission au configurateur (1) depuis le système de supervision (3), - enregistrement (21) dans différentes tables de données du configurateur (1) par les moyens électroniques de traitement et de stockage et du logiciel dédié, des données relatives au moins à l'identification des applications logicielles et de leur environnement d'exécution, l'identification des interfaces informatiques et des systèmes d'exploitation, et des données relatives à la gestion des identités des utilisateurs, - création (30) par le configurateur (1) à partir des moyens électroniques de traitement et de stockage, du logiciel dédié, et des tables de données, d'un unique environnement informatique d'exécution spécifique, dit environnement dédié, apte à assurer le fonctionnement de toutes les applications logicielles identifiées à stocker dans la machine ; - enregistrement (40) dudit environnement dédié de préférence sur un système d'hébergement. 9 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte après création de l'environnement dédié, une étape (50) de mise à disposition dudit environnement dédié à la machine (2) destinée à utiliser les applications logicielles identifiées, de préférence par téléchargement depuis la machine sous accès contrôlé. 5 3. Procédé l'une quelconque des revendications précédentes, caractérisé en ce que l'étape d'enregistrement (40) d'un environnement dédié comprend l'enregistrement dudit environnement dédié dans une table de données qui est conçue pour stocker tous les environnements dédiés créés. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce 10 qu'il comporte après identification de toutes les applications logicielles à enregistrer dans une même machine et des environnements d'exécution de ces applications, une étape (50) de comparaison avec des environnements dédiés déjà créés et de reconnaissance avec un environnement dédié déjà créé. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que 15 l'environnement dédié est destinée à ne former qu'une seule interface de travail pour l'utilisateur. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'environnement dédié comporte la gestion des autorisations d'accès pour un ou des utilisateurs à un poste de travail et aux applications logicielles. 20 7. Système informatique (1) de mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, comportant des moyens de communication à distance, des moyens électroniques de traitement et de stockage et un logiciel permettant notamment les étapes d'identification, d'enregistrement des données, de création de l'environnement dédié et de sa transmission contrôlée. 25 8. Système informatique selon la revendication précédente, caractérisé en ce qu'il est hébergé dans le même système d'hébergement qui stocke les environnements dédiés déjà créés. 9. Produit programme d'ordinateur téléchargeable depuis un réseau de communication, et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, 30 caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 7.