Brevet FR3028971A1 — publié le 20160527

CONTEXTE DE L'INVENTION Domaine de l'invention La présente invention concerne des mises à jour de logiciels et plus particulièrement s la mise à jour d'instances personnalisées d'un programme informatique. Description de l'art connexe Le cycle de vie d'un logiciel débute par la mise au point d'un programme informatique et le test ainsi que le déploiement ultérieur du programme informatique à un ou plusieurs 0 utilisateurs finaux. Une fois celui-ci déployé, le cycle de vie se poursuit avec la réalisation de mises à jour (ou mise à niveau) et d'améliorations périodiques, et la réparation de défauts découverts dans le programme informatique. Pour des programmes informatiques individuels à forme fixe au moment du déploiement et installés dans un type de plateforme uniforme, l'application de mises à niveau et d'améliorations à l'application déployée peut être 15 aussi simple que la fourniture de copies d'un seul fichier ou d'un ensemble de fichiers à différents utilisateurs finaux pour l'installation à la place d'un fichier ou d'un ensemble de fichiers existants, ou en variante, pour corriger un fichier ou un ensemble de fichiers existant. La facilité d'application de mises à niveau et d'améliorations varie cependant compte tenu du potentiel de différents types de plateformes accueillant le programme informatique déployé. 20 A cet égard, avec l'avènement de différentes plateformes informatiques incluant celles accueillant un système d'exploitation de type Windows (TM), un système d'exploitation de type Mac (TM) OS ou un système d'exploitation de type Linux, les fichiers ou l'ensemble de fichiers pour une application déployée diffèrent. Par conséquent, en condition préalable à la réalisation d'une mise à niveau d'un déploiement spécifique à la plateforme d'un 25 programme informatique, tout d'abord la plateforme spécifique doit être identifiée de sorte que l'ensemble de fichiers correct puisse être fourni sous forme de mise à niveau à un déploiement existant sur la plateforme spécifique. Néanmoins, le processus de réalisation d'une mise à niveau peut encore se compliquer davantage compte tenu des différents types de composantes informatiques d'accueil dont dépend l'application déployée, tels que 30 différents systèmes de gestion de base de données, serveurs Web et similaires. Comme c'est le cas pour des plateformes différentes d'exploitation d'accueil, cependant, la fourniture du fichier ou de l'ensemble de fichiers correct pour mettre à niveau une application déployée peut simplement nécessiter une détermination du type de plateforme spécifique et l'identité des types de composantes spécifiques dont dépend l'application déployée. 3028971 2 Le processus de réalisation d'une mise à niveau sur un programme informatique peut néanmoins devenir plus complexe de plusieurs ordres de grandeur lorsque l'on considère la possibilité que l'utilisateur final puisse avoir réalisé des modifications personnalisées sur le code de programme sous-jacent du programme informatique déployé. Dans une ère d'informatique libre, c'est devenu monnaie courante. En tant que tel, la mise à niveau sans discernement d'un déploiement personnalisé d'un programme informatique peut bien souvent « mettre fin » au déploiement, ce qui se traduit par une reprise coûteuse de la mise à niveau. Bien entendu, un test avancé d'une mise à niveau sur toute une sélection de déploiements personnalisés peut aider à diminuer la probabilité d'un échec de mise à io niveau, tout comme une documentation solide décrivant l'impact potentiel de l'application de la mise à niveau. Pourtant, même compte tenu de la prudence et de la vigilance, le processus de mise à niveau d'un déploiement personnalisé d'un programme informatique présente beaucoup de risque. 15 BREF RESUME DE L'INVENTION Des modes de réalisation de la présente invention abordent des insuffisances de la technique par rapport à la mise à niveau d'un programme informatique et proposent un procédé, un système et un produit de programme informatique nouveaux et non évidents pour la faisabilité et la création de rapport de mise à niveau. Dans un mode de réalisation de 20 l'invention, un procédé de détermination de faisabilité d'une mise à niveau d'un programme informatique et de création d'un rapport de mise à niveau inclut la génération en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée du programme informatique destiné à être mis à niveau. Le procédé inclut également la comparaison de la caractérisation de déploiement avec une sélection de 25 caractérisations de déploiement connues de différentes instances personnalisées du programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau. Le procédé comprend encore en outre l'identification d'une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée. Enfin, le procédé inclut l'affichage 30 d'un rapport sur un afficheur du système informatique incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. A cet égard, le prédicteur de faisabilité de mise à niveau peut inclure un indicateur tel que « recommandé », « non recommandé », ou « recommandé avec prudence ». Dans un aspect du mode de réalisation, la caractérisation de déploiement inclut un 35 inventaire de composantes incluses comme faisant partie de l'instance personnalisée du 3028971 3 programme informatique. Dans un autre aspect du mode de réalisation, la caractérisation de déploiement inclut un inventaire de composantes dont dépend l'instance du programme informatique. Dans encore un autre aspect du mode de réalisation, la caractérisation de déploiement inclut un inventaire des composantes qui ont été modifiées à partir d'un format s par défaut des composantes. Enfin, dans encore un autre aspect du mode de réalisation, une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport. Dans un autre mode de réalisation de l'invention, un système de traitement de io données de déploiement d'application est configuré pour la faisabilité et la création de rapport de mise à niveau d'application. Le système inclut un système informatique hôte qui inclut au moins un ordinateur avec une mémoire et au moins un processeur. Le système inclut également un magasin de données couplé au système informatique hôte et une instance personnalisée d'un programme informatique incluant une ou plusieurs composantes 15 stockées dans le magasin de données. Enfin, le système inclut un module de faisabilité de mise à niveau s'exécutant dans la mémoire du système informatique hôte. Le module inclut un code de programme activé lors d'une exécution par le au moins un processeur pour générer dans la mémoire une caractérisation de déploiement de l'instance personnalisée du programme informatique désigné pour recevoir une mise à 20 niveau, pour comparer la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique stocké dans le magasin de données, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau, pour identifier une caractérisation concordante parmi les caractérisations connues 25 pour la caractérisation de déploiement générée et, pour afficher un rapport sur un afficheur du système informatique hôte incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. Des aspects supplémentaires de l'invention seront présentés en partie dans la description qui suit, et ressortiront en partie clairement de la description, ou peuvent être 30 appris par la pratique de l'invention. Les aspects de l'invention seront réalisés et obtenus au moyen des éléments et combinaisons indiqués en particulier dans les revendications annexées. Il convient de comprendre qu'à la fois la description générale qui précède et la description détaillée qui suit ne sont données qu'à titre d'exemple et d'explication et ne limitent pas l'invention, telle que revendiquée. 35 3028971 BREVE DESCRIPTION DES DIFFERENTES VUES DES DESSINS Les dessins joints, qui sont incorporés et constituent une partie de ce mémoire, illustrent des modes de réalisation de l'invention et conjointement avec la description, servent à expliquer les principes de l'invention. Les modes de réalisation illustrés ici sont actuellement préférés, étant bien entendu cependant que l'invention n'est pas limitée aux agencements et instrumentalités précis représentés, dans lesquels : la figure 1 est une illustration en images d'un processus de faisabilité et de création de rapport de mise à niveau d'application ; la figure 2 est une illustration schématique d'un système de traitement de données de déploiement d'application configuré pour la faisabilité et la création de rapport de mise à niveau d'application ; et la figure 3 est un organigramme illustrant un processus de faisabilité et de création de rapport de mise à niveau d'application. DESCRIPTION DETAILLE DE L'INVENTION Des modes de réalisation de l'invention concernent la détermination de la faisabilité d'une mise à niveau d'un programme informatique et la création d'un rapport de mise à niveau. Conformément à un mode de réalisation de l'invention, une instance personnalisée d'un programme informatique peut être analysée pour produire une caractérisation de déploiement. L'analyse peut inclure un inventaire de composantes incluses comme faisant partie de l'instance personnalisée du programme informatique, un inventaire de composantes dont dépend l'instance du programme informatique, et un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes. Par la suite, la caractérisation de déploiement peut être comparée à des caractérisations connues, chaque caractérisation connue étant associée à un prédicteur de faisabilité de mise à niveau pour une mise à niveau à appliquer au programme informatique, comme recommandé, non recommandé ou recommandé avec prudence. Enfin, un rapport peut être généré indiquant le prédicteur de faisabilité de mise à niveau pour la mise à niveau. Facultativement, une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau peut être affichée dans le rapport. En illustration supplémentaire, la figure 1 représente en images un processus de détermination de la faisabilité et de création de rapport de mise à niveau d'un programme informatique. Comme le montre la figure 1, un utilisateur final 110 peut orienter la logique de faisabilité de mise à niveau 170 pour évaluer la faisabilité de mise à niveau d'une instance 3028971 5 d'application personnalisée 120 qui inclut une ou plusieurs composantes 130A, par exemple des composantes logiques compartimentalisées séparées, des fichiers objets, des fichiers de code source, ou des fichiers ressources, pour ne citer que quelques exemples. La logique de faisabilité de mise à niveau 170 peut générer une caractérisation de déploiement 140 s d'après l'un quelconque parmi un inventaire des composantes 130A, un inventaire des composantes 130A qui diffèrent d'un format par défaut des composantes 130A (par exemple toutes composantes personnalisées parmi les composantes 130A), ou toutes composantes 130B dont dépend l'instance d'application personnalisée 120, comme un système de gestion de base de données, un serveur Web ou un serveur d'application Io particulier, pour ne citer que trois exemples. La logique de faisabilité de mise à niveau 170 ci-après peut comparer la caractérisation générée 140 à des caractérisations connues 150 préstockées, chacune avec un prédicteur correspondant de la probabilité de succès de la mise à niveau d'une instance d'application démontrant une caractérisation générée similaire ou identique. Une fois que la 15 logique de faisabilité de mise à niveau 170 a identifié une ou plusieurs des caractérisations connues 150 comme concordant avec la caractérisation générée 140, la logique de faisabilité de mise à niveau 170 peut récupérer chaque prédicteur associé à une caractérisation identifiée parmi les caractérisations 150. La logique de faisabilité de mise à niveau 170 peut à son tour incorporer chaque prédicteur récupéré 160 dans un rapport de 20 faisabilité de réalisation de la mise à niveau et le rapport peut être affiché à l'utilisateur final 110. Le processus décrit en rapport avec la figure 1 peut être implémenté dans un système de traitement de données de déploiement d'application. En illustration supplémentaire, la figure 2 représente de façon schématique un système de traitement de 25 données de déploiement d'application configuré pour la faisabilité et la création de rapport de mise à niveau d'application. Le système peut inclure un système informatique hôte 210 qui peut inclure un ou plusieurs dispositifs informatiques, chacun avec une mémoire et au moins un processeur. Le système informatique hôte 210 peut inclure un magasin de données 220 de différentes composantes 230 formant une instance personnalisée d'une application 30 déployée dans le système informatique hôte 210. Le système informatique hôte 210 peut en outre être couplé en communication à un utilisateur final 240 sur un réseau de communications par ordinateur à partir duquel le système informatique hôte 210 peut recevoir une directive pour créer un rapport sur la faisabilité de mise à niveau d'une forme personnalisée d'une instance d'application. 3028971 Le système informatique hôte 210 peut également inclure un tableau de caractérisation 280 qui inclut différentes caractérisations connues de formes personnalisées respectivement différentes de l'instance de l'application. Chaque caractérisation connue différente peut également inclure un prédicteur de faisabilité de mise à niveau, par exemple 5 « recommandé », « non recommandé », ou « recommandé avec prudence ». Chaque prédicteur peut être attribué statiquement par un administrateur, ou le prédicteur peut être attribué dynamiquement d'après des données fournies suite à la tentative de mise à niveau d'une forme personnalisée de l'instance d'application. Dans le dernier cas, après chaque tentative de mise à niveau d'une instance personnalisée de l'application ayant une io caractérisation générée particulière, une entrée dans le tableau de caractérisation 280 peut être mise à jour pour indiquer le résultat de la tentative de mise à niveau. Dans la mesure où la caractérisation générée n'existe pas dans le tableau de caractérisation 280, une nouvelle entrée peut être créée dans le tableau de caractérisation 280 avec un prédicteur correspondant au résultat de la tentative de mise à niveau. '5 Il est à noter qu'un module de faisabilité de mise à niveau 300 peut être inclus et peut s'exécuter dans la mémoire du système informatique hôte 210. L'homme du métier reconnaîtra que le dispositif informatique physique du système informatique hôte 210 sur lequel s'exécute l'instance personnalisée de l'application peut différer du dispositif informatique physique du système informatique hôte 210 dans lequel s'exécute le module de 20 faisabilité de mise à niveau 300 et dans lequel le tableau de caractérisation 280 est stocké. Le module de faisabilité de mise à niveau 300 inclut un code de programme qui, lorsqu'il est exécuté dans la mémoire du système informatique hôte 210, est activé pour répondre à la directive de l'utilisateur final 240 de générer une caractérisation de déploiement pour les composantes 230 de l'instance personnalisée de l'application. Le code de programme du 25 module de faisabilité de mise à niveau 300 est également activé pour comparer la caractérisation générée aux caractérisations connues du tableau de caractérisation 280. Par la suite, le code de programme du module de faisabilité de mise à niveau 300 est activé pour générer un rapport 260 avec un ou plusieurs prédicteurs associés à des caractérisations connues concordantes correspondantes. 30 Il convient de noter que, en option, un ou plusieurs documents de production participative 270 peuvent être localisés sur un réseau de communications par ordinateur 250 qui concernent les caractérisations connues concordantes correspondantes. Les documents 270 peuvent inclure par exemple, des rapports d'utilisateurs finaux sur les succès et échecs de mise à niveau d'une instance de, l'application ayant une caractéristique 35 concordante, des pièges, des conseils, des recommandations et similaires. Par la suite, un 3028971 7 ou plusieurs hyperliens aux documents localisés 270 peuvent être insérés dans le rapport 260 qui, à son tour, peut être renvoyé à l'utilisateur final 240 sur le réseau de communications par ordinateur 250. En illustration encore supplémentaire du fonctionnement du module de faisabilité de 5 mise à niveau, la figure 3 est un organigramme illustrant un processus de faisabilité et de création de rapport de mise à niveau d'application. En commençant à la case 305, une instance personnalisée cible d'une application peut être choisie pour une mise à niveau. Ensuite, à la case 310, un inventaire des composantes respectives formant l'instance personnalisée de l'application peut être récupéré. De même, à la case 315, un inventaire de Io composantes dont dépend l'instance personnalisée de l'application peut être récupéré. Par la suite, à la case 320, l'inventaire peut être écrit dans une structure de données de caractérisation en mémoire et facultativement rendu persistant dans un fichier. A la case 325, les composantes formant l'instance personnalisée de l'application qui ont été modifiées peuvent être identifiées. Par exemple, le code source de chacune des 15 composantes peut être comparé à un code source pour rechercher des formats par défaut de la même composante. En variante, une somme de contrôle ou une valeur de hachage peut être calculée pour chacune des composantes et comparée à une somme de contrôle ou une valeur de hachage d'un format par défaut correspondant de la même composante. Ensuite, à la case 330, une liste des composantes qui ont été modifiées à partir du format 20 par défaut de la même composante peut être écrite dans la caractérisation. A la case 335, la caractérisation générée aux cases 310 à 330 peut être comparée à une ou plusieurs caractérisations connues précédemment stockées. A la case de décision 340, on peut déterminer si une première caractérisation parmi les caractérisations connues concorde d'un seuil avec la caractérisation générée. Si c'est le cas, à la case 345, 25 un prédicteur associé peut être récupéré à partir de la caractérisation connue concordante et inséré dans un rapport. Par la suite, à la case de décision 350, on peut déterminer si des caractérisations connues supplémentaires restent à comparer à la caractérisation générée. Si ce n'est pas le cas, à la case 355, un ou plusieurs documents associés aux caractérisations connues concordantes peuvent être récupérés et à la case 360, des 30 références d'hyperlien à chacun des documents peuvent être insérées dans le rapport. Enfin, à la case 365, le rapport peut être renvoyé à l'utilisateur final. Il convient de noter que le rapport lui-même peut être utilisé à de nombreuses fins. Dans sa forme de base, le rapport peut simplement former un outil de conseil destiné à être utilisé par un administrateur de mise à niveau afin d'établir correctement les attentes de 35 l'administrateur quant à la nature probable du processus de mise à niveau sur l'instance 3028971 personnalisée de l'application. Dans une forme plus complexe, le rapport peut être fourni à un moteur de règles qui peut permettre à un administrateur de réaliser la mise à niveau sous condition de prédicteurs favorables. Dans la dernière situation, le moteur de règles peut nécessiter une autorisation d'un second administrateur afin de procéder à la mise à niveau 5 d'une forme personnalisée de l'instance de l'application où les prédicteurs ne sont pas favorables. Dans encore une autre situation, la capacité de procéder à la mise à niveau de la forme personnalisée de l'instance d'application peut être bloquée là où les prédicteurs ne sont pas favorables. La présente invention peut être intégrée dans un système, un procédé, un produit de 10 programme informatique ou toute combinaison de ceux-ci. Le produit de programme informatique peut inclure un ou des supports de stockage lisibles par ordinateur comportant des instructions de programme lisibles par ordinateur permettant d'amener un processeur à réaliser des aspects de la présente invention. Le support de stockage lisible par ordinateur peut être un dispositif matériel qui peut conserver et stocker des instructions destinées à être 15 utilisées par un dispositif d'exécution d'instructions. Le support de stockage lisible par ordinateur peut être par exemple, mais sans s'y limiter, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteur ou toute combinaison appropriée de ce qui précède. 20 Une liste non exhaustive d'exemples plus spécifiques du support de stockage lisible par ordinateur inclut les éléments suivants : une disquette d'ordinateur portable, un disque dur, une mémoire vive (RAM), une mémoire morte (ROM), une mémoire morte effaçable et programmable (EPROM ou mémoire Flash), une mémoire vive statique (SRAM), un disque compact à mémoire morte (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, 25 une disquette, un dispositif codé mécaniquement tel que des cartes à perforer ou des structures en relief dans une gorge où sont enregistrées des instructions, et toute combinaison appropriée de ce qui précède. Un support de stockage lisible par ordinateur, tel qu'utilisé ici, ne doit pas être interprété comme étant des signaux transitoires en soi, tels que des ondes radio ou autres ondes électromagnétiques se propageant librement, des ondes 30 électromagnétiques se propageant à travers un guide d'onde ou autres supports de transmission (par exemple, des impulsions lumineuses passant à travers un câble de fibres optiques), ou des signaux électriques transmis par l'intermédiaire d'un câble. Les instructions de programme lisibles par ordinateur décrites ici peuvent être téléchargées dans des dispositifs informatiques/de traitement respectifs à partir d'un support 35 de stockage lisible par ordinateur ou dans un ordinateur externe ou dispositif de stockage 3028971 9 externe via un réseau, par exemple, l'Internet, un réseau local, un réseau étendu et/ou un réseau sans fil. Le réseau peut comprendre des câbles de transmission en cuivre, des fibres de transmission optique, une transmission sans fil, des routeurs, des pare-feu, des commutateurs, des ordinateurs passerelles et/ou des serveurs frontaux. Une carte réseau ou s une interface réseau dans chaque dispositif informatique/de traitement reçoit des instructions de programme lisibles par ordinateur en provenance du réseau et achemine les instructions de programme lisibles par ordinateur pour qu'elles soient stockées dans un support de stockage lisible par ordinateur au sein du dispositif informatique/de traitement respectif. Les instructions de programme lisibles par ordinateur permettant de réaliser des Io opérations de la présente invention peuvent être des instructions d'assembleur, des instructions d'architecture de jeux d'instructions (ISA), des instructions-machine, des instructions spécifiques d'une machine, un microcode, des instructions de micrologiciel, des données d'établissement d'état, ou soit un code source soit un code objet écrit dans toute combinaison d'un ou plusieurs langages de programmation, y compris un langage de 15 programmation orienté objet ou un langage de programmation procédural classique. Les instructions de programme lisibles par ordinateur peuvent s'exécuter totalement sur l'ordinateur de l'utilisateur, en partie sur l'ordinateur de l'utilisateur, en tant que progiciel autonome, en partie sur l'ordinateur de l'utilisateur et en partie sur un ordinateur distant ou totalement sur l'ordinateur ou serveur distant, Dans le dernier scénario, l'ordinateur distant 20 peut être connecté à l'ordinateur de l'utilisateur par l'intermédiaire de tout type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN), ou la connexion peut se faire à un ordinateur externe (par exemple, par l'intermédiaire de !Internet à l'aide d'un fournisseur de service Internet). Dans certains modes de réalisation, une circuiterie électronique incluant, par exemple, une circuiterie logique programmable, des matrices prédiffusées 25 programmables par l'utilisateur (FPGA), ou des réseaux logiques programmables (PLA) peuvent exécuter les instructions de programme lisibles par ordinateur en utilisant des informations d'état des instructions de programme lisibles par ordinateur pour personnaliser la circuiterie électronique, afin de réaliser des aspects de la présente invention. Des aspects de la présente invention sont décrits ici en référence aux illustrations 30 d'organigramme et/ou aux schémas fonctionnels de procédés, d'appareils (systèmes), et de produits de programme informatique selon des modes de réalisation de l'invention. Il convient de comprendre que chaque case des illustrations d'organigramme et/ou de schémas fonctionnels, et des combinaisons de cases dans les illustrations d'organigramme et/ou les schémas fonctionnels, peuvent être implémentées par des instructions de 35 programme lisibles par ordinateur. 3028971 10 Ces instructions de programme lisibles par ordinateur peuvent être fournies à un processeur d'un ordinateur universel, d'un ordinateur spécialisé, ou autre appareil de traitement de données programmable pour produire une machine, de sorte que les instructions, qui s'exécutent via le processeur de l'ordinateur ou autre appareil de traitement 5 de données programmable, créent des moyens d'implémentation des fonctions/actes spécifiés dans l'organigramme et/ou une ou des cases de schéma fonctionnel. Ces instructions de programme lisibles par ordinateur peuvent également être stockées dans un support de stockage lisible par ordinateur qui peut ordonner un ordinateur, un appareil de traitement de données programmable, et/ou autres dispositifs de fonctionner de manière io particulière, de sorte que le support de stockage lisible par ordinateur comportant des instructions stockées comprenne un article de fabrication incluant des instructions qui implémentent des aspects de la fonction/acte spécifiés dans la ou les cases de l'organigramme et/ou du schéma fonctionnel. Les instructions de programme lisibles par ordinateur peuvent également être 15 chargées sur un ordinateur, un autre appareil de traitement de données programmable, ou autre dispositif pour amener une série d'étapes opérationnelles à être réalisées sur un ordinateur, un autre appareil programmable ou autre dispositif pour produire un processus implémenté par ordinateur, de sorte que les instructions qui s'exécutent sur l'ordinateur, un autre appareil programmable, ou autre dispositif implémentent les fonctions/actes spécifiés 20 dans la ou les cases de l'organigramme et/ou du schéma fonctionnel. L'organigramme et les schémas fonctionnels sur les figures illustrent l'architecture, la fonctionnalité, et le fonctionnement d'autres implémentations possibles de systèmes, procédés, et produits de programme informatique selon divers modes de réalisation de la présente invention. A cet égard, chaque case dans l'organigramme ou les schémas 25 fonctionnels peuvent représenter un module, un segment ou une partie d'instructions, qui comprend une ou plusieurs instructions exécutables permettant d'implémenter la ou les fonctions logiques spécifiées. Dans certaines variantes d'implémentation, les fonctions notées dans la case peuvent se produire dans un autre ordre que celui noté sur les figures. Par exemple, deux cases montrées l'une à la suite de l'autre peuvent en fait être exécutées 30 sensiblement simultanément, ou les cases peuvent parfois être exécutées dans l'ordre inverse, selon la fonctionnalité impliquée. On notera également que chaque case des schémas fonctionnels et/ou de l'illustration d'organigramme, et des combinaisons de cases dans les schémas fonctionnels et/ou l'illustration d'organigramme, peuvent être implémentées par des systèmes à base de matériel spécialisé qui effectuent les fonctions ou 3028971 11 actes spécifiés ou réalisent des combinaisons d'instructions de matériel et d'ordinateur spécialisés. Enfin, la terminologie utilisée ici est destinée à décrire des modes de réalisation particuliers uniquement et n'est pas destinée à limiter l'invention. Telles qu'utilisées ici, les s formes au singulier « un », « une » et « le/la » sont censées également inclure les formes au pluriel, sauf indication contraire du contexte. On comprendra également que les termes « comprend » et/ou « comprenant », lorsqu'ils sont utilisés dans ce mémoire, spécifient la présence de particularités, de nombres entiers, d'étapes, d'opérations, d'éléments et/ou de composants énoncés, mais n'excluent pas la présence ou l'ajout d'une ou plusieurs autres 10 particularités, nombres entiers, étapes, opérations, éléments, composants, et/ou groupes de ceux-ci. Les structures, matériaux, actes correspondants, et les équivalents de tous moyens ou éléments étapes plus fonction dans les revendications ci-dessous sont destinés à inclure toute structure, matériau ou acte permettant de réaliser la fonction en combinaison avec 15 d'autres éléments revendiqués comme revendiqué spécifiquement. La description de la présente invention a été présentée à des fins d'illustration et de description, mais n'est pas destinée à être exhaustive ni limitée à l'invention sous la forme divulguée. De nombreuses modifications et variations apparaîtront à l'homme du métier sans s'éloigner de la portée ni de l'esprit de l'invention. Le mode de réalisation a été choisi et décrit afin d'expliquer au 20 mieux les principes de l'invention et l'application pratique, et pour permettre à d'autres hommes du métier de comprendre l'invention pour divers modes de réalisation avec diverses modifications telles qu'appropriées en vue de l'utilisation particulière envisagée. Ayant ainsi décrit l'invention de la présente demande en détail et en référence à ses modes de réalisation, il apparaîtra que des modifications et variations sont possibles sans 25 s'éloigner de la portée de l'invention définie dans les revendications annexées comme suit. REVENDICATIONS1. Procédé de détermination de faisabilité d'une mise à niveau d'un programme informatique et de création d'un rapport de mise à niveau, le procédé comprenant : la génération en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée du programme informatique destiné à être mis à niveau ; la comparaison de la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du io programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau ; l'identification d'une caractéristique concordante parmi les caractéristiques connues pour la caractérisation de déploiement générée ; et, l'affichage d'un rapport sur un afficheur du système informatique incluant un is prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. 2. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire de composantes incluses comme faisant partie de l'instance 20 personnalisée du programme informatique. 3. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire de composantes dont dépend l'instance du programme informatique. 25 4. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes. 5. Procédé selon la revendication 1, dans lequel le prédicteur de faisabilité de mise à 30 niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence. 6. Procédé selon la revendication 1, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau 3028971 13 particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport. 7. Système de traitement de données de déploiement d'une application configuré pour s déterminer la faisabilité d'une mise à niveau d'un programme informatique et créer un rapport de mise à niveau d'un programme informatique, le système comprenant : un système informatique hôte comprenant au moins un ordinateur avec une mémoire et au moins un processeur ; une base de données couplée au système informatique hôte ; 10 une instance personnalisée d'un programme informatique comprenant une pluralité de composantes stockées dans la base de données; et, un module de faisabilité de mise à niveau s'exécutant dans la mémoire du système informatique hôte, le module comprenant un code de programme activé lors de l'exécution par le au moins un processeur pour générer dans la mémoire une caractérisation de 15 déploiement de l'instance personnalisée du programme informatique désigné pour recevoir une mise à niveau, pour comparer la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique stocké dans le magasin de données, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à 20 niveau, pour identifier une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée et pour afficher un rapport sur un afficheur du système informatique hôte incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. 25 8. Système selon la revendication 7, dans lequel la caractérisation de déploiement comprend un inventaire des composantes incluses comme faisant partie de l'instance personnalisée du programme informatique. 9. Système selon la revendication 7, dans lequel la caractérisation de déploiement 30 comprend un inventaire d'autres composantes dont dépend l'instance du programme informatique. 10. Système selon la revendication 7, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par 35 défaut des composantes. 3028971 14 11. Système selon la revendication 7, dans lequel le prédicteur de faisabilité de mise à niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence. 12. Système selon la revendication 7, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport. 10 13. Produit de programme informatique pour déterminer la faisabilité d'une mise à niveau d'un programme informatique et créer un rapport de mise à niveau, le programme informatique étant stocké dans un support de stockage lisible par ordinateur et comportant des instructions de programme pouvant être exécutées par un dispositif afin d'amener le 15 dispositif à réaliser un procédé comprenant : la génération par un dispositif en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée d'un programme informatique désigné pour recevoir une mise à niveau ; la comparaison par le dispositif de la caractérisation de déploiement avec une 20 sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau ; l'identification par le dispositif d'une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée ; et, 25 l'affichage par le dispositif d'un rapport sur un afficheur du système informatique incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. 14. Produit de programme informatique selon la revendication 13, danse lequel la 30 caractérisation de déploiement comprend un inventaire de composantes incluses comme faisant partie de l'instance personnalisée du programme informatique. 15. Produit de programme informatique selon la revendication 13, dans lequel la caractérisation de déploiement comprend un inventaire de composantes dont dépend 35 l'instance du programme informatique. 3028971 15 16. Produit de programme informatique selon la revendication 13, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes. 17. Produit de programme informatique selon la revendication 13, dans lequel le prédicteur de faisabilité de mise à niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence. ro 18. Produit de programme informatique selon la revendication 13, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport.