FR 3146747 A1 20240920 FR 2302498 A 20230317 TITRE : PROCÉDÉ ET DISPOSITIF DE GÉNÉRATION AUTOMATIQUE D’AU MOINS DEUX ENSEMBLES D’INSTRUCTIONS INFORMATIQUES Le procédé (300) mis en œuvre par ordinateur de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, comporte : - une étape (110) de sélection d’au moins deux contextes d’exécution d’un ensemble d’instructions, - une étape (116) de sélection d’au moins un identifiant représentatif d’un composant logiciel standardisé, représentatif : - d’au moins une définition d’entité logicielle, - d’au moins une structure de données, - d’au moins un traitement logiciel et/ou - d’au moins un écran d’interface logicielle, - une étape (115) de génération automatique d’instructions et - une étape (120) de stockage des instructions générées. La mise en œuvre d’une telle invention permet une compatibilité ascendante des logiciels ainsi générés. Figure pour l’abrégé : Figure 3 PROCÉDÉ ET DISPOSITIF DE GÉNÉRATION AUTOMATIQUE D’AU MOINS DEUX ENSEMBLES D’INSTRUCTIONS INFORMATIQUES Domaine technique de l’invention La présente invention vise un procédé de génération automatique d’au moins deux ensembles complémentaires instructions informatiques et un dispositif de génération automatique d’au moins deux ensembles complémentaires d’instructions informatiques. Elle s’applique, notamment, au domaine de la génération automatique de logiciels informatiques. État de la technique Dans le domaine de la programmation informatique, on connaît deux types de logiciels : - les logiciels dits « spécifiques », c’est-à-dire conçus pour être déployés une seule fois et - les logiciels dits « standardisés », c’est-à-dire conçus pour être déployés de manière répétable et pouvant comporter des éléments de personnalisation. Aujourd’hui, la programmation informatique nécessite des compétences spécialisées restreignant la capacité pour les individus de créer des logiciels pour leurs besoins. On connait des approches dites « no code », c’est-à-dire ne nécessitant aucune compétence de programmation et permettant de réaliser des logiciels spécifiques. Dans ces approches, un utilisateur définit des objets et des interactions entre ces objets par le biais d’une interface graphique permettant la conversation de ces interactions définies en instructions informatiques par le biais d’un convertisseur. Au-delà de la génération de tels logiciels, le déploiement, la maintenance et l’exploitation optimisés de tels logiciels est hors de portée d’opérateurs ne disposant pas des compétences techniques adéquates. Or un déploiement inadapté peut conduire à des dysfonctionnements techniques du logiciel, voire à sa mise en arrêt. Toutefois, ces approches présentent plusieurs désavantages techniques significatifs : - leur exécution peut être inadaptée à leur environnement matériel de déploiement et d’exécution, entraînant des dysfonctionnements de ce matériel, - leur consommation de ressources logiques (mémoire) de déploiement et d’exécution peut être élevée en raison de cette inadaptation, - leur consommation de ressources physiques (électricité) de déploiement et d’exécution peut être élevée en raison de cette inadaptation et - leur absence de modularité ne permet pas de générer des logiciels standardisés. La présente invention vise à remédier à tout ou partie de ces inconvénients. À cet effet, selon un premier aspect, la présente invention vise un procédé mis en œuvre par ordinateur de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, qui comporte : - une étape de sélection, sur une interface informatique, d’au moins deux contextes d’exécution d’un ensemble d’instructions, - une étape de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associées à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - une étape de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection et - une étape de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées. Grâce à ces dispositions, les instructions générées, formant un logiciel standardisé ou spécifique, sont optimisées techniquement pour leur contexte d’exécution. Cet avantage permet l’adaptation technique du logiciel et une même saisie peut ainsi donner lieu à plusieurs ensembles d’instruction distincts correspondant, chacun, à un contexte d’exécution de ces instructions. Ceci modifie substantiellement le fonctionnement du système développement-déploiement-exécution ordinaire, dans lequel les instructions à exécuter sont directement développées et soit non optimisées soit saisies manuellement. La mise en œuvre de la méthode objet de la présente invention permet de définir, générer, déployer et exploiter un ou plusieurs logiciels. De plus, ces dispositions permettent de générer, d’un seul coup, une pluralité de logiciels complémentaires, c’est-à-dire coopérant entre eux dans le cadre d’un processus métier. De plus, ces dispositions permettent de mettre en œuvre des composants logiciels standardisés en lieu de composants logiciels ordinairement soit programmés sur mesure, soit préprogrammés et donc invariables. De plus, ces dispositions permettent de bénéficier des avantages suivants : - un ensemble de composants logiciels standardisés constitue un ensemble cohérent en termes de solution standard mais il est possible d'en prendre seulement une partie avec un niveau de découpage très fin, - le standard constitué par les composants logiciels standardisés permet de réaliser l’essentiel des fonctionnalités ordinaires d’un logiciel - si une fonctionnalité ne correspond pas exactement ou manque, il est possible facilement de l'ajouter au niveau personnalisation et - les composants logiciels standardisés sont intégrés au modèle de chaque logiciel générés mais l'invention permet de gérer l'application d'une nouvelle version des composants logiciels standardisés à un logiciel existant en étant capable d'assurer la compatibilité ascendante en fonction du niveau de personnalisation. Dans des modes de réalisation particuliers, au moins un composant logiciel standardisé associé à un identifiant représentatif d’un composant logiciel standardisé présente une partie surchargeable et une partie non surchargeable, le procédé comportant de plus une étape d’édition d’une partie surchargeable d’un composant logiciel standardisé. Ces modes de réalisation permettent à la fois de permettre une personnalisation des composants logiciels standardisés et de garantir une compatibilité ascendante dans un contexte de mise à jour des ensembles d’instructions générés. En effet, la partie non surchargeable peut être mise à jour pour différents ensembles d’instructions (ou logiciels), sans impacter la partie personnalisée surchargeable, garantissant ainsi une comptabilité ascendante des logiciels ainsi générés. Dans des modes de réalisation particuliers, au cours de l’étape de génération automatique, une partie éditée au cours de l’étape d’édition est prioritairement mise en œuvre pour générer un ensemble d’instructions et, en absence de partie éditée, la partie surchargeable est mise en œuvre. Ces modes de réalisations permettent à la fois une flexibilité de définition des comportements d’un logiciel ainsi généré tout en garantissant une compatibilité ascendante de ce logiciel. Dans des modes de réalisation particuliers, le procédé objet de la présente invention comporte une étape de mise à jour d’au moins un ensemble d’instructions, comportant : - une étape de mise à disposition d’une mise à jour dans le métalangage, par un dispositif de calcul, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé, - une étape de validation, sur une interface informatique, de l’application d’au moins une mise à jour mise à disposition, - une étape de mise à jour, dans le métalangage, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé lorsque l’application d’au moins une mise à jour est validée et - une étape de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions mis à jour, dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection d’au moins un ensemble. Ces modes de réalisation présentent une capacité de compatibilité ascendante, ou de montée en version, applicable de manière sélective par un utilisateur. Dans des modes de réalisation particuliers, au moins deux identifiants de composants logiciels standardisés sont liés, dans une mémoire informatique, par un lien de dépendance, le procédé comportant une étape de sélection automatique d’au moins un identifiant de composant logiciel standardisé lié par un lien de dépendance à un identifiant de composant logiciel standardisé sélectionné au cours de l’étape de sélection. Ces modes de réalisation permettent de générer automatiquement une multitude de composants en dépendance d’un composant sélectionné par un utilisateur. Dans des modes de réalisation particuliers, au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé est associé à un identifiant de rôle, l’étape de sélection automatique étant réalisée en fonction d’un identifiant de rôle d’au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé sélectionné. Ces modes de réalisations permettent de présenter à un utilisateur une multitude de composants pouvant mettre en œuvre un rôle donné et de sélectionner le composant souhaité par l’utilisateur. Dans des modes de réalisation particuliers, le procédé objet de la présente invention comporte : - une étape de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et - une étape de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie. Ces modes de réalisation permettent d’adapter les ensembles d’instructions à leur environnement de déploiement, permettant ainsi de générer des logiciels complémentaires multi-environnements. Dans des modes de réalisation particuliers, au moins une étape de génération comporte : - une première étape de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape de sélection et du contexte d’exécution sélectionné et - une deuxième étape de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape de sélection et du contexte d’exécution sélectionné. Dans des modes de réalisation particuliers, au moins une étape de génération comporte une étape de conversion de la représentation logique d’un composant logiciel standardisé dans le métalangage en une représentation logique dans un langage d’exploitation. Ces modes de réalisations permettent, via la couche d’abstraction du métalangage, de garantir la capacité de mise à jour des logiciels ainsi générés au gré des mises à jour des langages d’exploitation de ces logiciels. Ceci permet, à tout moment, de générer un logiciel fonctionnel dans les standards logiciels du moment de génération sans nécessiter de re-saisie de la logique du logiciel à générer. Dans des modes de réalisation particuliers, au moins un composant logiciel standardisé correspond à une représentation logique partielle d’un logiciel, au moins une étape de génération étant configurée pour associer à une représentation logique d’au moins un composant logiciel standardisé sélectionné une représentation logique de fonctionnalités de base d’un logiciel. Selon un deuxième aspect, la présente invention vise un dispositif de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, qui comporte : - un moyen de sélection, sur une interface informatique, d’au moins deux contextes d’exécution d’un ensemble d’instructions, - un moyen de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associée à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - un moyen de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat du moyen de sélection et - un moyen de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées. Ce deuxième aspect présente les mêmes avantages que la méthode objet du premier aspect de la présente invention. Brève description des figures D’autres avantages, buts et caractéristiques particulières de l’invention ressortiront de la description non limitative qui suit d’au moins un mode de réalisation particulier du procédé et du dispositif objets de la présente invention, en regard des dessins annexés, dans lesquels : représente, schématiquement et sous forme d’un logigramme, une première succession d’étapes particulière du procédé objet de la présente invention représente, schématiquement, un mode de réalisation particulier du dispositif objet de la présente invention, représente, schématiquement et sous forme d’un logigramme, une deuxième succession d’étapes particulière du procédé objet de la présente invention, représente, schématiquement, un exemple d’architecture informatique permettant de mettre en œuvre le procédé objet de la présente invention, représente, schématiquement, un exemple d’architecture logicielle permettant de mettre en œuvre le procédé objet de la présente invention représente, schématiquement et sous forme d’un logigramme, une troisième succession d’étapes particulière du procédé objet de la présente invention et représente, schématiquement, un mode de réalisation particulier d’un système informatique susceptible de mettre en œuvre le procédé objet de la présente invention. La présente description est donnée à titre non limitatif, chaque caractéristique d’un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse. Comme on le comprend à la lecture de la présente description, divers concepts inventifs peuvent être mis en œuvre par une ou plusieurs méthodes ou dispositifs décrits ci-après, dont plusieurs exemples sont ici fournis. Les actions ou étapes réalisées dans le cadre de la réalisation du procédé ou du dispositif peuvent être ordonnées de toute manière appropriée. En conséquence, il est possible de construire des modes de réalisation dans lesquels les actions ou étapes sont exécutées dans un ordre différent de celui illustré, ce qui peut inclure l'exécution de certains actes simultanément, même s'ils sont présentés comme des actes séquentiels dans les modes de réalisation illustrés. L'expression "et/ou", telle qu'elle est utilisée dans le présent document et dans les revendications, doit être comprise comme signifiant "l'un ou l'autre ou les deux" des éléments ainsi conjoints, c'est-à-dire des éléments qui sont présents de manière conjonctive dans certains cas et de manière disjonctive dans d'autres cas. Les éléments multiples énumérés avec "et/ou" doivent être interprétés de la même manière, c'est-à-dire "un ou plusieurs" des éléments ainsi conjoints. D'autres éléments peuvent éventuellement être présents, autres que les éléments spécifiquement identifiés par la clause "et/ou", qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, une référence à "A et/ou B", lorsqu'elle est utilisée conjointement avec un langage ouvert tel que "comprenant" peut se référer, dans un mode de réalisation, à A seulement (incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à B seulement (incluant éventuellement des éléments autres que A) ; dans un autre mode de réalisation encore, à A et B (incluant éventuellement d'autres éléments) ; etc. Tel qu'utilisé ici dans la description et dans les revendications, "ou" doit être compris de manière inclusive Telle qu'elle est utilisée dans la présente description et dans les revendications, l'expression "au moins un", en référence à une liste d'un ou de plusieurs éléments, doit être comprise comme signifiant au moins un élément choisi parmi un ou plusieurs éléments de la liste d'éléments, mais n'incluant pas nécessairement au moins un de chaque élément spécifiquement énuméré dans la liste d'éléments et n'excluant pas toute combinaison d'éléments dans la liste d'éléments. Cette définition permet également la présence facultative d'éléments autres que les éléments spécifiquement identifiés dans la liste des éléments auxquels l'expression "au moins un" fait référence, qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, "au moins l'un de A et B" (ou, de manière équivalente, "au moins l'un de A ou B", ou, de manière équivalente, "au moins l'un de A et/ou B") peut se référer, dans un mode de réalisation, à au moins un, incluant éventuellement plus d'un, A, sans B présent (et incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, B, sans A présent (et comprenant éventuellement des éléments autres que A) ; dans encore un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, A, et au moins un, comprenant éventuellement plus d'un, B (et comprenant éventuellement d'autres éléments) ; etc. Dans les revendications, ainsi que dans la description ci-dessous, toutes les expressions transitoires telles que "comprenant", "incluant", "portant", "ayant", "contenant", "impliquant", "tenant", "composé de", et autres, doivent être comprises comme étant ouvertes, c'est-à-dire comme signifiant incluant mais non limité à. Seules les expressions transitoires "consistant en" et "consistant essentiellement en" doivent être comprises comme des expressions transitoires fermées ou semi-fermées, respectivement. Dans la présente description, on appelle « moyen de saisie » ou « interface informatique » tout dispositif permettant la transmission d’information vers un système informatique. Un tel moyen d’entrée est, par exemple, un clavier, une souris et/ou un écran tactile adapté pour interagir avec un système informatique de manière à recueillir une saisie de l'utilisateur. Dans des variantes, le moyen d’entrée est de nature logique, tel un port réseau d'un système informatique configuré pour recevoir une commande de saisie transmise électroniquement. Un tel moyen d’entrée peut être associé à une interface graphique utilisateur (GUI) présentée à un utilisateur ou à une interface de programmation d'application (API). Dans d'autres variantes, le moyen d'entrée peut être un capteur configuré pour mesurer un paramètre physique spécifié pertinent pour le cas d'utilisation prévu. On appelle « dispositif de calcul » tout dispositif de calcul électronique, unitaire ou distribué, capable de recevoir des entrées numériques et de fournir des sorties numériques par et vers toute sorte d'interface numérique. Typiquement, un dispositif de calcul désigne soit un ordinateur exécutant un logiciel ayant accès à un stockage de données, soit une architecture client-serveur dans laquelle les données et/ou au moins une partie des calculs est effectué côté serveur tandis que le côté client sert d'interface. Un tel dispositif de calcul est présenté en . On appelle « identifiant numérique » toute information représentative, de manière univoque, d’un objet physique ou logique. Un tel identifiant numérique est, par exemple, un identifiant dans une base de données. On appelle « ensemble d’instructions complémentaires » une pluralité d’instructions distinctes, représentatives de logiciels distincts, configurés pour être déployés et hébergés de manière distinctes, mais dont une partie des représentations numériques (entités) sont partagées. Par partagées, on entend que ces entités sont définis de manière similaire, c’est-à-dire que les paramètres qui composent ces identités sont de même nombre et de même nature, quelle que soit leur syntaxe logicielle particulière ou leur représentation en termes d’instructions générées. Optionnellement, par partagées, on entend que ces entités font référence à une même structure de données voire à une même représentation dans une base de données partagée entre différents logiciels. Chaque ensemble d’instructions peut être stocké dans un même medium ou dans un medium distinct. On appelle « métalangage » un langage informatique formel permettant de représenter une relation logique entre des variables. Un tel langage informatique est différent d’un langage informatique d’exploitation dans la mesure où le métalangage ne peut pas être interprété en dehors d’un logiciel spécifique permettant une étape de génération d’instructions dans un langage d’exploitation à partir du métalangage. On appelle « langage informatique d’exploitation » un langage informatique formel ordinairement adapté à une exécution par un système informatique générique. Un tel langage informatique est conventionnel et partagé par un nombre important de logiciels. On appelle « composant logiciel » un élément autonome d'un programme informatique qui peut être développé, testé, déployé et utilisé indépendamment dans une variété de contextes. Un composant logiciel est conçu pour fournir une fonctionnalité spécifique et peut être utilisé dans différentes applications ou systèmes informatiques. Un composant logiciel peut être stocké dans une bibliothèque ou un référentiel de composants pour être réutilisé ultérieurement. Ainsi, comme on le comprend, une entité logicielle est une abstraction conceptuelle qui représente une partie du système logiciel, tandis qu'un composant logiciel est une unité de code (ou représentation logique) réutilisable qui effectue une fonction spécifique et peut être intégré dans différents systèmes. On observe, en , schématiquement, un mode de réalisation particulier du procédé 100 objet de la présente invention. Ce procédé 100 mis en œuvre par ordinateur de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, comporte : - une étape 110 de sélection, sur une interface informatique, d’au moins deux contextes d’exécution d’un ensemble d’instructions, - une étape 116 de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associée à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - une étape 115 de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection et - une étape 120 de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées. L’étape 110 de sélection est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par au moins un processeur d’un dispositif de calcul. Ce logiciel informatique présente, par exemple, une interface graphique permettant à un utilisateur de choisir, parmi une liste de contexte d’utilisation des instructions, au moins deux tels contextes. Un contexte d’utilisation peut être, par exemple et à titre non limitatif : - logiciel de vente en ligne (« e-commerce », en anglais), - logiciel de planification des ressources d’entreprises (pour « entreprise resource planning », ou ERP, en anglais), - logiciel de gestion d’entrepôt (pour « warehouse management system », ou WMS, en anglais), - logiciel d’intelligence économique (pour « business intelligence », ou BI, en anglais), - logiciel pour périphérique mobile et/ou - logiciel pour magasin. L’étape 116 de sélection d’au moins un identifiant représentatif d’un composant logiciel standardisé est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par au moins un processeur d’un dispositif de calcul. Ce logiciel informatique présente, par exemple, une interface graphique utilisateur comportant au moins une représentation graphique d’un identifiant de composant logiciel standardisé. La sélection d’une telle représentation graphique et la validation de cette sélection, par un mécanisme de glisser-déposer par exemple, permet de confirmer la sélection de l’utilisateur. La sélection d’au moins identifiant représentatif d’un composant logiciel standardisé entraîne l’ajout, dans le métalangage, d’au moins une représentation logique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associée à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, chaque représentation étant associée au dit identifiant tif d’un composant logiciel standardisé. Une entité logicielle désigne une abstraction informatique qui représente une unité de traitement ou une partie d'un système logiciel. Une telle entité peut être un module, une classe, une méthode, une fonction, un composant ou tout autre élément logiciel qui a une responsabilité spécifique dans l'application ou le système. Une entité logicielle peut être conçue pour effectuer une tâche spécifique, traiter des données ou fournir une interface utilisateur. Elle peut être créée en utilisant différents langages de programmation et peut interagir avec d'autres entités logicielles pour accomplir des tâches plus complexes. Une entité logicielle, ou « entité métier », peut être associée à un nom, ou identifiant numérique et dispose d’un jeu de champs (« Fieldset », en anglais) maître. Ce jeu de champs maître dispose de 0 à N jeu de champs fils. Chacun des jeux de champs fils peut disposer lui-même de 0 à N jeu de champs fils. Ainsi de suite récursivement et sans limite. La seule contrainte est alors que la structure est ainsi hiérarchique. Chaque table ne peut disposer au maximum que d’un jeu de champs fils. Si tel n’est pas le cas pour couvrir le besoin, cela implique que l’entité doit être découpée en deux entités métiers distinctes. À titre illustratif, un logiciel ainsi créé par un utilisateur peut comporter : - une entité nommée « client » comporte un unique jeu de champs comportant un champ « nom » et un champ « prénom », - une entité nommée « produit » comporte un unique jeu de champs comportant un champ « référence » et - une entité nommée « commande » comporte trois jeux de champs : - un premier jeu de champs, nommé « entête », comportant un champ de « numéro de commande », - un deuxième jeu de champs, nommé « lignes », comportant un champ de « numéro de ligne », un champ de « prix unitaire », un champ de « quantité » et un champ de « montant de la ligne » et - un troisième jeu de champs, nommé « règlement » comportant un champ de « numéro de règlement » et un champ de « montant réglé ». Une structure de données logicielle est une représentation organisée et systématique des données dans un programme informatique. Elle permet de stocker, organiser, manipuler et accéder aux données de manière efficace et structurée. Les structures de données sont utilisées pour optimiser la performance des programmes et pour résoudre des problèmes de traitement de données. Il existe différents types de structures de données, chacune ayant ses propres caractéristiques et utilisations. Les structures de données courantes comprennent notamment les tableaux, les listes chaînées, les piles, les files d'attente, les arbres, les graphes, les ensembles, les dictionnaires, les tables de hachage. Un traitement logiciel désigne une succession d’opérations logiques réalisées sur un ensemble de données en entrée et/ou de données intermédiaires en vue de produite au moins une donnée de sortie. Un traitement logiciel peut être défini par un utilisateur, sur l’interface graphique du logiciel de création, en définissant par exemple le comportement d’un bouton d’une interface du logiciel en cours de création. Un tel comportement peut correspondre, par exemple, à l’exécution d’un calcul en fonction d’une valeur saisie dans un champs de saisie par un utilisateur du logiciel. Un traitement logiciel peut consister, par exemple, à compter le nombre de lignes dans une table de données ou à réaliser une opération mathématique entre deux valeurs numériques. Un tel exemple d’un traitement logiciel est, par exemple, la définition d’une date limite d’envoi d’un colis, en ajoutant à une date de réception de commande un nombre de jours déterminés. Ces deux valeurs peuvent être associées à des entités différentes. Dans un autre exemple, une valeur correspondant à un montant hors taxes de commande est calculée en fonction des valeurs de montants hors taxes individuels de produits associés à une commande d’un utilisateur. Un écran d’une interface logicielle désigne un ensemble d’éléments graphiques constitutifs d’une partie d’une interface graphique utilisateur. L’étape 115 de génération est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par au moins un processeur d’un dispositif de calcul. Au cours de l’étape 115 de génération, au moins une technologie informatique, tel un langage informatique ou une architecture informatique, adaptée à chaque contexte d’exécution sélectionné au cours de l’étape 110 de sélection, est choisi. Préférentiellement, une pluralité de technologies est sélectionnée pour correspondre à un ensemble de briques logicielles fondamentales, telles par exemple et de manière non limitative : - une architecture dorsale (« backend », en anglais), - un langage dorsal, - une technologie frontale (« frontend », en anglais) et - une technologie de couche de persistance. À titre indicatif, le tableau 1 suivant présente six exemples de telles sélections en fonction de contexte d’exécution possibles. Type de logiciel Architecture Back End Langage Back end Technologie Front end Couche de persistance e-commerce Micro-services Java/.Net Flutter - Web SGBDr (PostgreSQL) ERP Micro-services Java/.Net Flutter - Web SGBDr(PostgreSQL) WMS Micro-services Java/.Net Flutter - Web SGBDr(PostgreSQL) Business Intelligence (BI) N/A N/A Power BI BdD Snowflake Mobile N/A N/A Flutter – Mobile SCBDr Embarqué SQLite Magasin N/A N/A Flutter – Mobile SCBDr Embarqué SQLite Au cours de cette première étape 115 de génération, en fonction d’un langage de programmation ou d’un framework (ou « cadre informatique ») mis en œuvre, les ensembles d’instructions sont générées pour correspondre à la formalisation logique dans le métalangage. Cette étape 115 de génération est réalisée par un convertisseur, configuré pour convertir au moins les entités, structures de données, traitements logiciels et écrans associés aux composants logiciels standardisés en instructions dans un langage ou framework déterminé. Des instructions personnalisées correspondant à une formalisation dans le métalangage, par un utilisateur, de représentations logiques d’entités, structures de données, traitements et écrans peuvent également être générées. Des instructions personnalisées correspondant à une formalisation dans un langage d’exploitation, par un utilisateur, de représentations logiques d’entités, structures de données, traitements et écrans peuvent également être associées aux instructions générées. Au cours de cette première étape 115 de génération, par exemple, en fonction des contextes d’exécution sélectionnés, les valeurs associés aux composants logiciels standardisés sélectionnés au cours de l’étape 116 de sélection sont associées à des modèles (« template », en anglais) pour produire des instructions. Le nombre et le type de ces modèles dépend par exemple du contexte d’exécution sélectionné. Par exemple, dans le cas d’un contexte d’exécution sur périphérique mobile : - tout ou partie des valeurs saisies sont associées à un modèle de gestion des sections d’écran (« Screen section », en anglais), pour produire une classe par section d’écran, constituant ainsi une couche d’interface utilisateur (« User interface layer », en anglais), - tout ou partie des valeurs saisies sont associées à un modèle de gestion de contrôleurs d’interface utilisateur (« UI Controller », en anglais), pour produire une classe par écran (« Screen », en anglais), constituant ainsi un contrôleur d’interface utilisateur, - tout ou partie des valeurs saisies sont associées à un modèle de service d’entités (« Entity service », en anglais) pour produire une classe par entité, - tout ou partie des valeurs saisies sont associées à un modèle de service de règles (« Rules service », en anglais) pour produire une classe par règle, - tout ou partie des valeurs saisies sont associées à un modèle de services de processus (« Process service », en anglais) pour produire une classe par processus, les classes d’entité, règle et processus constituant ainsi une couche de service (« Service layer », en anglais) et - tout ou partie des valeurs saisies sont associées à un modèle de dépôt de jeu de champs (« Fieldset repository », en anglais), pour produire une classe par jeu de champ, constituant ainsi une couche de dépôt (« Repository layer », en anglais). Par exemple, dans le cas d’un contexte d’exécution d’un contexte de logiciel de type dit « web » : - tout ou partie des valeurs saisies sont associées à un modèle de gestion des sections d’écran (« Screen section », en anglais), pour produire une classe par section d’écran, constituant ainsi une couche d’interface utilisateur (« User interface layer », en anglais), - tout ou partie des valeurs saisies sont associées à un modèle de gestion de contrôleurs d’interface utilisateur (« UI Controller », en anglais), pour produire une classe par écran (« Screen », en anglais), constituant ainsi un contrôleur d’interface utilisateur, - tout ou partie des valeurs saisies sont associées à un modèle de service d’entités (« Entity service », en anglais) pour produire une classe par entité, - tout ou partie des valeurs saisies sont associées à un modèle de contrôleur d’interfaces de données (« Data interface controller », en anglais) pour produire une classe par interface de donnée, - tout ou partie des valeurs saisies sont associées à un modèle de service de règles (« Rules service », en anglais) pour produire une classe par règle, - tout ou partie des valeurs saisies sont associées à un modèle de services de processus (« Process service », en anglais) pour produire une classe par processus, les classes d’entité, interface de données, règle et processus constituant ainsi une couche de service (« Service layer », en anglais) et - tout ou partie des valeurs saisies sont associées à un modèle de dépôt de jeu de champs (« Fieldset repository », en anglais), pour produire une classe par jeu de champ, constituant ainsi une couche de dépôt (« Repository layer », en anglais). Dans des modes de réalisation particuliers, au moins une étape, 115 et/ou 318, de génération comporte une étape 336 de conversion de la représentation logique d’un composant logiciel standardisé dans le métalangage en une représentation logique dans un langage d’exploitation. L’étape de conversion 336 est réalisée, par exemple, par la mise en œuvre d’un moyen de saisie d’un dispositif de calcul associé à un logiciel exécuté par au moins un processeur. Au cours d’une telle étape 336 de conversion, un convertisseur de représentation logique dans le métalangage en représentation logique dans au moins un langage d’exploitation est mis en œuvre. Un convertisseur est, par exemple, une base de données associant à chaque forme de représentation logique du métalangage une forme de représentation logique dans un langage d’exploitation. Au cours de l’étape 336 de conversion, le métalangage correspondant à l’ensemble des composants logiciels standardisés est parcouru et converti en expressions logiques dans le langage d’exploitation. Dans des modes de réalisation particuliers, au moins un composant logiciel standardisé correspond à une représentation logique partielle d’un logiciel, au moins une étape, 115 et/ou 118, de génération étant configurée pour associer à une représentation logique d’au moins un composant logiciel standardisé sélectionné une représentation logique de fonctionnalités de base d’un logiciel. On appelle « représentation logique de fonctionnalités de base d’un logiciel » des fonctionnalités fondamentales de tout logiciel adapté à un contexte ou un environnement de déploiement particulier. De telles fonctionnalités fondamentales sont, par exemple : - une application de gestion des requêtes, - une interface d’émission de requêtes vers un serveur, - une couche d’interfaçage vers une mémoire informatique, - une gestion de fichier et - des instructions de gestion de la mémoire vive ou d’un cache. Ces fonctionnalités fondamentales correspondent aux instructions intrinsèques au fonctionnement d’un logiciel générique, les fonctionnalités particulières étant représentées par les composants logiciels standardisés. Dans des modes de réalisations particuliers, au moins un composant logiciel standardisé associé à un identifiant représentatif d’un composant logiciel standardisé présente une partie surchargeable et une partie non surchargeable, le procédé 300 comportant de plus une étape 311 d’édition d’une partie surchargeable d’un composant logiciel standardisé. Une partie surchargeable correspond, par exemple, à un ensemble paramètres permettant une surcharge (« override », en anglais) tandis qu’une partie non surchargeable ne permet pas de telle surcharge. L’étape 311 d’édition est réalisée, par exemple, par la mise en œuvre d’un moyen de saisie d’un dispositif de calcul associé à un logiciel exécuté par au moins un processeur. Au cours d’une telle étape 311 d’édition, un utilisateur peut saisir, via une souris et/ou un clavier, dans une interface graphique utilisateur, une valeur de surcharge pour au moins un paramètre d’une représentation logique représentative : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associés à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle. Une telle surcharge peut également correspondre en l’ajout d’éléments par rapport à un modèle de base. De tels ajouts d’éléments peuvent correspondre, par exemple, à l’ajout de tables de données ou d’entrées dans des tables. Une telle surcharge peut également correspondre en la modification d’une valeur dans une table de donnée existante. Dans des modes de réalisations particuliers, au cours de l’étape 115 de génération automatique, une partie éditée au cours de l’étape 311 d’édition est prioritairement mise en œuvre pour générer un ensemble d’instructions et, en absence de partie éditée, la partie surchargeable est mise en œuvre. Dans de telles variantes, une valeur de paramètre surchargée est mise en œuvre au cours de l’étape 115 de génération et, en l’absence d’une telle valeur, une valeur initiale pour ce paramètre est mise en œuvre. Dans des modes de réalisations particuliers, tel que celui représenté en , le procédé 300 objet de la présente invention comporte une étape 335 de mise à jour d’au moins un ensemble d’instructions, comportant : - une étape 313 de mise à disposition d’une mise à jour dans le métalangage, par un dispositif de calcul, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé, - une étape 314 de validation, sur une interface informatique, de l’application d’au moins une mise à jour mise à disposition, - une étape 317 de mise à jour, dans le métalangage, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé lorsque l’application d’au moins une mise à jour est validée et - une étape 318 de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions mis à jour, dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection d’au moins un ensemble. Des instructions de montée de version (ou de mise à jour) permettent notamment de définir comment migrer les données d'un logiciel d'une version vers une autre version. De telles instructions peuvent être générées au cours du procédé 300 objet de la présente invention. Par exemple si un champ est ajouté dans une table qui existait déjà dans une version précédente du logiciel, la valeur de ce champ dans les enregistrements déjà existant doit être initialisée. Une telle initialisation peut être définie par une règle de calcul. L’étape 335 de mise à jour est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique de montée en version exécuté par un dispositif de calcul. Au cours de cette étape 335 de mise à jour, des instructions de mise à jour (ou « script » de montée en version) sont exécutées et permettent, par exemple, de mettre à jour composant logiciel standardisé, c’est-à-dire de modifier au moins une représentation logique associée à ce composant logiciel standardisé. L’étape 313 de mise à disposition d’une mise à jour est réalisée, par exemple, par la mise en œuvre d’un logiciel exécuté par au moins un processeur d’un dispositif de calcul. Par exemple, au cours de cette étape 313 de mise à disposition, une mise à jour d’instructions dans un système central de gestion des composants métiers standardisés est réalisée. Cette mise à jour entraîne une différence d’identifiant de version pour au moins un composant métier standardisé entre la version mise en œuvre au cours d’une étape, 115 et/ou 318, de génération antérieure et la version mise à jour dans le système central. La détection de cette différence d’identifiant de version permet, par exemple, à un logiciel associé aux composants métiers standardisés dont la version a été mise en œuvre au cours d’une étape, 115 et/ou 318, de génération antérieure de détecter la disponibilité d’une mise à jour et d’en télécharger le contenu (ou de proposer à un utilisateur d’en télécharger le contenu). L’étape 314 de validation est réalisée, par exemple, par la mise en œuvre d’un logiciel exécuté par au moins un processeur d’un dispositif de calcul. Par exemple, au cours de cette étape 314 de validation, une notification est émise vers un utilisateur, par exemple dans une interface graphique utilisateur et l’utilisateur peut cliquer sur un élément d’interface pour valider ou invalider l’application de la mise à jour. L’étape 317 de mise à jour est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique de montée en version exécuté par un dispositif de calcul. Au cours de cette étape 335 de mise à jour, des instructions de mise à jour (ou « script » de montée en version) sont exécutées et permettent, par exemple, de mettre à jour une partie surchargeable d’au moins un composant logiciel standardisé. L’étape 318 de génération automatique est réalisée de manière similaire à l’étape 115 de génération. Comme on le comprend également, l’étape 315 de mise à jour peut également être mise en œuvre pour générer un logiciel (ou script) de mise à jour d’ensembles d’instructions générées au cours de l’étape 115 de génération ou d’une étape de génération ultérieure. Ce logiciel, appliqué aux d’instructions générées au cours de l’étape 115 de génération ou d’une étape de génération ultérieure, met à jour ces ensembles d’instructions. Dans des modes de réalisation particuliers, au moins deux identifiants de composants logiciels standardisés sont liés, dans une mémoire informatique, par un lien de dépendance, le procédé 300 comportant une étape 321 de sélection automatique d’au moins un identifiant de composant logiciel standardisé lié par un lien de dépendance à un identifiant de composant logiciel standardisé sélectionné au cours de l’étape 116 de sélection. L’étape 321 de sélection automatique est réalisée similairement à l’étape 116 de sélection, c’est-à-dire par exemple par affichage, sur une interface graphique utilisateur, de représentations graphiques de composants correspondants à des identifiants de composants extraits d’une mémoire informatique et associés en mémoire à au moins un composant sélectionné au cours d’une étape de sélection, 116 ou 321. Dans des modes de réalisation particuliers, au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé est associé à un identifiant de rôle, l’étape 321 de sélection automatique étant réalisée en fonction d’un identifiant de rôle d’au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé sélectionné. On désigne par « Rôle » le rôle fonctionnelle d'un champ de données (ou « fieldset ») dans une modélisation standardisée. Par exemple, Dans la relation entre un fieldset « Sku » et un fieldset « Customerorderline », un lien de type absolu est concrétisé pour des entités par les propriétés de la relation : « entityId » et « fieldSetId ». Dans le cas d’un composant logiciel standardisés, ces attributs sont vides et le lien est matérialisé par l’attribut « "tagData": {"role": "SKU", "applyMode": "Mandatory", "status": "ToResolve"} ». Cet attribut matérialise le fait que cette table est liée aux champs de données dont le rôle est « SKU ». Il précise si le lien est obligatoire (Mandatory), optionnel (Optional) ou conseillé (Advised). Par exemple, le fieldset "Produit" de l'entité "Produit" est associée au rôle "Produit" dans la modélisation des composants logiciels standardisés. Dans la modélisation des composants logiciels standardisés, les liens entre les fieldsets sont exprimés via les rôles. Ainsi le FieldSet "Ligne de commande client" de l'entité "Commande Client", a une relation avec le fieldset "Produit" de l'entité "Produit" exprimé sous forme de rôle. Il est lié avec le rôle "Produit" et ce lien est obligatoire, optionnel ou conseillé. Plusieurs fieldset peuvent avoir le même rôle dans la modélisation des composants logiciels standardisés. Dans ce cas, à l'application des composants logiciels standardisés, le système propose plusieurs entités liées et l'utilisateur choisit un de ces composants ou entité. Dans des modes de réalisation particuliers, tel que celui représenté en , le procédé 300 objet de la présente invention comporte : - une étape 305 de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et - une étape 310 de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie. L’étape 305 de saisie est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Un tel logiciel présente, par exemple, une interface graphique permettant à un utilisateur de saisir, parmi une liste d’environnements de déploiement prédéterminée, au moins un environnement de déploiement pour le logiciel généré. Un tel exemple d’environnement de déploiement peut être, par exemple, une machine virtuelle ou un serveur dédié. Chaque environnement de déploiement est associé à des caractéristiques techniques, tel un système d’exploitation par exemple, nécessitant aujourd’hui un déploiement adapté. L’étape 310 de fourniture est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Au cours de cette étape 310 de fourniture, des instructions propres à un environnement de déploiement sont générées. Ces instructions comportent, par exemple, le transfert du logiciel généré vers une ressource d’hébergement, puis le déploiement de ce logiciel sur une ressource de calcul par exemple. Dans des modes de réalisations optionnels, au moins une étape, 115 et/ou 118, de génération comporte : - une première étape 325 de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape de sélection et du contexte d’exécution sélectionné et - une deuxième étape 330 de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape de sélection et du contexte d’exécution sélectionné. Structurellement, les premières et deuxièmes étapes, 325 et 330, de génération sont réalisées de manière analogue à l’étape 115 de génération. Les instructions ainsi générées sont adaptées à leur environnement de mises en œuvre par les utilisateurs. L’étape 120 de stockage des instructions est réalisée, par exemple, par la mise en œuvre d’une mémoire informatique, locale ou distante, c’est-à-dire associée directement au terminal réalisant l’étape 116 de sélection ou associée avec ce terminal à travers un réseau de données, tel Internet par exemple. Cette étape 120 de stockage met en œuvre, par exemple, un disque dur, un disque à état solide (pour « Solid State Drive », ou SSD, en anglais) ou un serveur informatique. Dans des modes de réalisations optionnels, au cours de l’étape 116 de sélection d’au moins un identifiant représentatif d’un composant logiciel standardisé, au moins un contexte d’exécution est sélectionné, la deuxième étape 118 de génération étant mise en œuvre pour chaque contexte d’exécution sélectionné. Par exemple, un composant logiciel standardisé peut être disponible uniquement pour un nombre déterminé de contextes prédéterminés. Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, l’étape 115 de génération comporte une étape d’enrichissement de modèle, par un dispositif de calcul. Au cours de cette étape d’enrichissement, par exemple, des noms de variable sont initialisés de sorte à faciliter la génération d’instructions dans un framework déterminé. Cette étape d’enrichissement est réalisée en fonction des besoins opérationnels du framework de génération d’instruction choisi pour le logiciel. Au cours de cette étape d’enrichissement, par exemple, un modèle objet correspondant à la saisie réalisée par l’utilisateur est réalisée et des liens sont établis entre des instances de classes conformément aux liens décrits dans le modèle. Un modèle additionnel est ensuite préférentiellement généré par langage cible, un tel modèle additionnel comportant par exemple un gestionnaire (« handler », en anglais), éventuellement liés, pour chaque constituant du modèle (entité, champ de données, champ, logiciel, par exemple) et des informations (noms de classe, de champ, de table, par exemple) définissant la manière dont les instructions doivent être générées. Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte : - une étape de modification, sur une interface informatique, d’au moins : - une définition d’entité logicielle, - une structure de données associées aux entités informatiques et/ou - un traitement logiciel d’au moins une entité logicielle et - une étape de génération automatique, par un dispositif de calcul, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et - une étape de stockage des instructions, par un dispositif de calcul, des instructions modifiées. L’étape de modification est réalisée de manière similaire à l’étape de saisie telle que représentée en . Par exemple, au cours de cette étape de modification, un utilisateur modifie une entité pour ajouter un champ représentatif d’un montant toutes taxes comprises d’une commande et modifie un traitement logiciel pour ajouter le calcul d’un montant toutes taxes comprises, mettant en œuvre un champ déjà existant dans une version antérieure du logiciel représentative du montant hors taxes de la commande et y appliquant un facteur multiplicateur déterminé correspondant aux taxes sur cette commande. Tout ceci peut être réalisé dans une interface graphique, par un utilisateur, en modifiant une entité déjà créée et en ajoutant un traitement logiciel permettant le calcul de la nouvelle valeur de cette entité. L’étape de génération automatique est réalisée de manière similaire à l’étape 115 de génération. Par exemple, au cours de cette étape de génération, un champ correspondant à une valeur de commande toutes taxes comprises est ajouté à une entité représentative de la commande. Ensuite, deux fonctions, de collecte (« get », en anglais) ou de définition (« set », en anglais) sont automatiquement générées pour ce champ. Ensuite, une classe permettant d’implémenter le processus de calcul du champ est générée. L’étape de stockage est réalisée de manière similaire à l’étape 120 de stockage. Une modification est ici entendue au sens de mis à jour des instructions générées, par ajout, modification ou suppression d’instructions. Cette mise à jour peut être réalisée par un utilisateur via une interface graphique. Une telle mise à jour peut consister en la modification, l’ajout ou la suppression d’une entité ou d’un traitement logiciel appliqué à une entité par exemple. Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape de constitution automatique, par un dispositif de calcul, d’instructions de montée en version en fonction des instructions modifiées générées. Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape de détection automatique d’un changement de version d’une bibliothèque de fonctions mise en œuvre au cours d’une étape 115 de génération d’instructions, l’étape de génération automatique étant réalisée en fonction du changement détecté. L’étape de détection automatique est réalisée, par exemple, par la mise en œuvre d’un logiciel exécuté par un dispositif de calcul. Au cours de cette étape de détection, par exemple, un identifiant de framework ou de version de framework est associé avec un jeu d’instructions généré au cours d’une étape 115 de génération ou une étape de constitution. Lorsqu’un identifiant de framework ou de version de framework de référence, fixé manuellement par un administrateur du système permettant la saisie d’entités, structures de données ou traitement logiciel ou fixé automatiquement, diffère de l’identifiant de framework ou de version de framework associé à un jeu d’instructions, l’étape de génération automatique est mise en œuvre. Au cours de cette étape de génération, un jeu d’instruction mis à jour en fonction de l’identifiant de référence de framework ou de version de framework est généré. On observe, sur la , schématiquement, un mode de réalisation particulier du dispositif 200 objet de la présente invention. Ce dispositif 200 de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, comporte : - un moyen 210 de sélection, sur une interface informatique, 210 et/ou 230, d’au moins deux contextes d’exécution d’un ensemble d’instructions, - un moyen 216 de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associés à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - un moyen 215 de génération automatique, par un dispositif de calcul 235, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat du moyen 216 de sélection et - un moyen 220 de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées. Des modes particuliers d’implémentation des moyens, 205, 210, 215 et 216, caractéristiques du dispositif 200 objet de la présente invention sont décrits en regard des figures 1 et 3 à 7. Les interfaces informatiques, 210 et 230, et le dispositif de calcul 235 sont exemplifiés en regard de la . On observe, en , schématiquement, une architecture 400 mettant en œuvre le procédé 200 objet de la présente invention. Cette architecture 400 comporte : - un ordinateur 405 configuré pour afficher une interface utilisateur 430 permettant à un utilisateur de réaliser la saisie d’entités, structures de données et traitements logiciels à opérer, cette saisie pouvant être facilitée par la mise en œuvre de modèles 460 correspondant à des cas type de logiciels, - un serveur 410 informatique d’exécution du logiciel 435 de saisie associé à l’interface utilisateur 430, - un serveur 415 informatique de conversion de saisie en instructions et de déploiement des instructions ainsi générées, configuré pour exécuter : - un logiciel de génération 440 d’instructions, à partir de modèles 465 prédéterminés, pour générer des logiciels, 470 et 475, standards et - un moteur de déploiement 445 des logiciels, 470 et 475, ainsi générés. Cet architecture 400 permet ainsi de générer automatiquement et de déployer, sur plusieurs ordinateurs, 420 et 425, plusieurs logiciels, 450 et 455, pouvant être identiques ou distincts. On observe, sur la , schématiquement, une architecture 500 logicielle permettant la mise en œuvre du procédé 200 objet de la présente invention. Cette architecture 500 comporte : - au moins un modèle 505 de logiciel définissant des entités 510 à saisir, - au moins une entité 510 saisie par un utilisateur, - au moins un écran 515 généré par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie, - au moins une interface de donnée 525 générée par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie, - au moins un processus 530 générée par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie et d’au moins une règle de calcul saisie 535 et - au moins une règle de calcul 535 saisie, une telle règle de calcul correspondant à un traitement logiciel. On observe sur la , une succession d’étapes particulier du procédé 600 objet de la présente invention. Ce procédé 600 mis en œuvre par ordinateur de génération automatique d’un environnement applicatif comportant au moins deux logiciels, chaque logiciel étant formé d’instructions configurées pour être stockées dans un medium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, comporte : - une étape 105 de saisie, sur une interface informatique, d’au moins : - une définition d’entité logicielle commune, - une structure de données commune associées aux entités informatiques et - un traitement logiciel commun d’au moins une entité logicielle, - une étape 110 de sélection, sur une interface informatique, d’au moins deux contextes distincts d’exécution des instructions, - une étape 115 de génération automatique, par un dispositif de calcul, pour au moins deux dits contextes, d’instructions en fonction du résultat de l’étape de saisie et d’au moins deux contextes d’exécution sélectionnés, qui comporte, pour chaque dit logiciel, une étape 605 de filtration des entités saisies en fonction du contexte d’exécution sélectionné associé au logiciel et - une étape 120 de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées. On appelle « environnement applicatif » un ensemble de logiciels coopérant pour produire un ensemble d’effets techniques. Un tel environnement applicatif est, par exemple, constitué d’un logiciel de gestion d’entrepôt et d’un logiciel de vente en ligne. De la nature coopérative de ces logiciels et de leur intrication importante résulte un besoin de définitions communes de données à échanger entre logiciels. C’est ainsi que l’étape 105 de saisie permet à un utilisateur de définir des entités, structures de données et traitement logiciels dont une partie peut être partagée entre différents ensembles d’instructions correspondant à des logiciels distincts. Le procédé 600 comporte, par exemple, une étape 115 de génération par logiciel à générer. Chaque étape 115 de génération peut mettre en œuvre des technologies distinctes et ainsi présenter, pour un même traitement logiciel, des instructions très différentes correspondant à la technologie utilisée. Au moins une étape 115 de génération comporte une étape 605 de filtration des entités. Cette étape 605 de filtration est réalisée, par exemple, réalisée par la mise en œuvre d’un logiciel exécuté par un dispositif de calcul. Au cours de cette étape 605 de filtration, seules les entités mises en œuvre dans un traitement logiciel associé aux instructions à générer sont retenues. Ceci permet de diminuer la consommation de ressource lors de la génération, du déploiement et de l’exécution des instructions. Dans des modes de réalisations particuliers, le procédé 600 objet de la présente invention comporte : - une étape de modification, sur une interface informatique, d’au moins : - une définition d’entité logicielle commune, - une structure de données commune associées aux entités informatiques et/ou - un traitement logiciel d’au moins une entité logicielle et - une étape de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et - une étape de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées. On observe, sur la , qui n’est pas à l’échelle, un schéma fonctionnel qui illustre un exemple de système informatique avec lequel un mode de réalisation d’un procédé objet de la présente invention peut être mis en œuvre. Dans l'exemple de la , un système informatique 705 et des instructions pour la mise en œuvre des technologies divulguées dans le matériel, le logiciel, ou une combinaison de matériel et de logiciel, sont représentés schématiquement, par exemple sous forme de boîtes et de cercles, au même niveau de détail qui est couramment utilisé par les personnes de compétence ordinaire dans l'art auquel cette divulgation se rapporte pour communiquer sur l'architecture des ordinateurs et les mises en œuvre des systèmes informatiques. Le système informatique 705 comporte un sous-système d'entrée/sortie (dit « I/O », pour « Input/Output », traduit par Entrée/sortie en français) 720 qui peut comporter un bus et/ou un ou plusieurs autres mécanismes de communication pour communiquer des informations et/ou des instructions entre les composants du système informatique 705 sur des chemins de signaux électroniques. Le sous-système d'entrée/sortie 720 peut comporter un contrôleur d'entrée/sortie, un contrôleur de mémoire et au moins un port d'entrée/sortie. Les chemins de signaux électroniques sont représentés schématiquement dans les dessins, par exemple sous forme de lignes, de flèches unidirectionnelles ou de flèches bidirectionnelles. Au moins un processeur 710, ou dispositif de calcul, est couplé au sous-système I/O 720 pour traiter les informations et les instructions. Le processeur 710 peut comporter, par exemple, un microprocesseur ou un microcontrôleur à usage général et/ou un microprocesseur à usage spécial tel qu'un système intégré ou une unité de traitement graphique (GPU) ou un processeur de signaux numériques ou un processeur ARM. Le processeur 710 peut comporter une unité arithmétique et logique (UAL) intégrée ou peut être couplé à une UAL séparée. Le système informatique 705 comporter une ou plusieurs mémoire 725, telle qu'une mémoire principale, qui est couplée au sous-système I/O 720 pour stocker numériquement de manière électronique des données et des instructions à exécuter par le processeur 710. La mémoire 725 peut comporter une mémoire volatile telle que diverses formes de mémoire vive (RAM) ou tout autre dispositif de stockage dynamique. La mémoire 725 peut également être utilisée pour stocker des variables temporaires ou d'autres informations intermédiaires pendant l'exécution des instructions à exécuter par le processeur 710. De telles instructions, lorsqu'elles sont stockées dans un support de stockage lisible par ordinateur non transitoire accessible au processeur 710, peuvent transformer le système informatique 705 en une machine à usage spécial qui est personnalisée pour effectuer les opérations spécifiées dans les instructions. Le système informatique 705 comporte, de plus, une mémoire non volatile telle qu'une mémoire morte (ROM) 730 ou un autre dispositif de stockage statique couplé au sous-système I/O 720 pour stocker des informations et des instructions pour le processeur 710. La ROM 730 peut comporter diverses formes de ROM programmable (PROM) telles que la PROM effaçable (EPROM) ou la PROM effaçable électriquement (EEPROM). Une unité de stockage persistant 715 peut comporter diverses formes de mémoire vive non volatile (NVRAM), telle qu'une mémoire FLASH, ou un stockage à l'état solide, un disque magnétique ou un disque optique tel qu'un CD-ROM ou un DVD-ROM et peut être couplée au sous-système I/O 720 pour stocker des informations et des instructions. La mémoire 715 est un exemple de support lisible par ordinateur non transitoire qui peut être utilisé pour stocker des instructions et des données qui, lorsqu'elles sont exécutées par le processeur 710, provoquent l'exécution de méthodes mises en œuvre par ordinateur pour exécuter les techniques du présent document. Les instructions dans la mémoire 725, la ROM 730 ou le stockage 715 peuvent comporter un ou plusieurs ensembles d'instructions qui sont organisés en modules, méthodes, objets, fonctions, routines ou appels. Les instructions peuvent être organisées comme un ou plusieurs programmes informatiques, services de système d'exploitation ou programmes d'application, y compris les applications mobiles. Les instructions peuvent comporter un système d'exploitation et/ou un logiciel système ; une ou plusieurs bibliothèques pour prendre en charge des fonctions multimédia, de programmation ou autres ; des instructions ou des piles de protocoles de données pour mettre en œuvre des protocoles de communication TCP/IP, HTTP ou autres ; des instructions de traitement de format de fichier pour analyser ou rendre des fichiers codés en utilisant HTML, XML, JPEG, MPEG ou PNG ; des instructions d'interface utilisateur pour rendre ou interpréter des commandes pour une interface utilisateur graphique (dite « GUI », pour « Graphic User Interface », traduit par interface utilisateur graphique), une interface de ligne de commande ou une interface utilisateur textuelle ; un logiciel d'application tel qu'une suite bureautique, des applications d'accès à Internet, des applications de conception et de fabrication, des applications graphiques, des applications audio, des applications de génie logiciel, des applications éducatives, des jeux ou des applications diverses. Les instructions peuvent mettre en œuvre un serveur web, un serveur d'applications web ou un client web. Les instructions peuvent être organisées sous la forme d'une couche de présentation, d'une couche d'application et d'une couche de stockage de données telles qu'un système de base de données relationnelle utilisant un langage d'interrogation structuré (SQL) ou aucun SQL, un magasin d'objets, une base de données graphique, un système de fichiers plats ou tout autre stockage de données. Le système informatique 705 peut être couplé via le sous-système I/O 720 à au moins un dispositif de sortie 735. Dans un mode de réalisation, le dispositif de sortie 735 est un écran d'ordinateur numérique. Des exemples d'affichage qui peuvent être utilisés dans divers modes de réalisation comprennent un écran tactile ou un affichage à diodes électroluminescentes (DEL) ou un affichage à cristaux liquides (LCD) ou un affichage sur papier électronique. Le système informatique 705 peut comporter un ou plusieurs autres types de dispositifs de sortie 735, en remplacement ou en plus d'un dispositif d'affichage. Des exemples d'autres dispositifs de sortie 735 comportent des imprimantes, des imprimantes de tickets, des traceurs, des projecteurs, des cartes son ou des cartes vidéo, des haut-parleurs, des buzzers ou des dispositifs piézoélectriques ou d'autres dispositifs audibles, des lampes ou des indicateurs LED ou LCD, des dispositifs haptiques, des actionneurs ou des servos. Au moins un dispositif d'entrée 740 est couplé au sous-système I/O 720 pour communiquer des signaux, des données, des sélections de commandes ou des gestes au processeur 710. Des exemples de dispositifs d'entrée 740 comportent des écrans tactiles, des microphones, des caméras numériques fixes et vidéo, des touches alphanumériques et autres, des claviers, des tablettes graphiques, des scanners d'images, des joysticks, des horloges, des interrupteurs, des boutons, des cadrans, des glissières. Un autre type de dispositif d'entrée est un dispositif de commande 745, qui peut effectuer une commande de curseur ou d'autres fonctions de commande automatisée telles que la navigation dans une interface graphique sur un écran d'affichage, alternativement ou en plus des fonctions d'entrée. Le dispositif de commande 745 peut être un pavé tactile, une souris, une boule de commande ou des touches de direction du curseur pour communiquer des informations de direction et des sélections de commande au processeur 710 et pour commander le mouvement du curseur sur l'écran 735. Le dispositif d'entrée peut avoir au moins deux degrés de liberté dans deux axes, un premier axe (par exemple, x) et un deuxième axe (par exemple, y), ce qui permet au dispositif de spécifier des positions dans un plan. Un autre type de dispositif d'entrée est un dispositif de commande filaire, sans fil ou optique, tel qu'un joystick, une baguette, une console, un volant, une pédale, un mécanisme de changement de vitesse ou tout autre type de dispositif de commande. Un dispositif d'entrée 740 peut inclure une combinaison de plusieurs dispositifs d'entrée différents, tels qu'une caméra vidéo et un capteur de profondeur. Dans un autre mode de réalisation, le système informatique 705 peut comprendre un dispositif de l'internet des objets (dit « IoT », pour « Internet of things ») dans lequel un ou plusieurs du dispositif de sortie 735, du dispositif d'entrée 740 et du dispositif de commande 745 sont omis. Ou, dans un tel mode de réalisation, le dispositif d'entrée 740 peut comporter une ou plusieurs caméras, des détecteurs de mouvement, des thermomètres, des microphones, des détecteurs sismiques, d'autres capteurs ou détecteurs, des dispositifs de mesure ou des codeurs et le dispositif de sortie 735 peut comprendre un affichage à usage spécial tel qu'un affichage LED ou LCD à ligne unique, un ou plusieurs indicateurs, un panneau d'affichage, un compteur, une vanne, un solénoïde, un actionneur ou un servomoteur. Le dispositif de sortie 735 peut comporter du matériel, des logiciels, des microprogrammes et des interfaces pour générer des paquets de rapport de position, des notifications, des signaux d'impulsion ou de battement de cœur, ou d'autres transmissions de données récurrentes qui spécifient une position du système informatique 705, seul ou en combinaison avec d'autres données spécifiques à l'application, dirigées vers l'hôte 750 ou le serveur 755. Le système informatique 705 peut mettre en œuvre les techniques décrites dans le présent document en utilisant une logique câblée personnalisée, au moins un ASIC (pour « Application-specific integrated circuit », traduit par « circuit intégré propre à une application ») ou un FPGA (pour « Field-programmable gate array », traduit par « réseau de portes programmables in situ), un microprogramme et/ou des instructions de programme ou une logique qui, lorsqu'ils sont chargés et utilisés ou exécutés en combinaison avec le système informatique, provoquent ou programment le système informatique pour qu'il fonctionne comme une machine à usage spécifique. Selon un mode de réalisation, les techniques décrites ici sont exécutées par le système informatique 705 en réponse au processeur 710 qui exécute au moins une séquence d'au moins une instruction contenue dans la mémoire principale 725. Ces instructions peuvent être lues dans la mémoire principale 725 à partir d'un autre support de stockage, tel que la mémoire 715. L'exécution des séquences d'instructions contenues dans la mémoire principale 725 amène le processeur 710 à exécuter les étapes du processus décrites dans le présent document. Dans d'autres modes de réalisation, des circuits câblés peuvent être utilisés à la place ou en combinaison avec des instructions logicielles. Le terme "support de stockage", tel qu'il est utilisé dans le présent document, désigne tout support non transitoire qui stocke des données et/ou des instructions permettant à une machine de fonctionner d'une manière spécifique. Ces supports de stockage peuvent comporter des supports non volatils et/ou des supports volatils. Les supports non volatils comprennent, par exemple, les disques optiques ou magnétiques, tels que la mémoire 715. Les supports volatils comportent la mémoire dynamique, telle que la mémoire 725. Les formes courantes de supports de stockage comportent, par exemple, un disque dur, un lecteur à semi-conducteurs, un lecteur flash, un support de stockage de données magnétique, tout support de stockage de données optique ou physique, une puce mémoire, etc. Les supports de stockage sont distincts des supports de transmission, mais peuvent être utilisés conjointement avec eux. Les supports de transmission participent au transfert d'informations entre les supports de stockage. Par exemple, les supports de transmission comportent les câbles coaxiaux, les fils de cuivre et les fibres optiques, y compris les fils qui constituent un bus du sous-système I/O 720. Les supports de transmission peuvent également prendre la forme d'ondes acoustiques ou lumineuses, telles que celles générées pendant les communications de données par ondes radio et infrarouges. Diverses formes de supports peuvent être impliquées dans le transport d'au moins une séquence d'au moins une instruction vers le processeur 710 pour exécution. Par exemple, les instructions peuvent initialement être transportées sur un disque magnétique ou un lecteur à semi-conducteurs d'un ordinateur distant. L'ordinateur distant peut charger les instructions dans sa mémoire dynamique et envoyer les instructions sur un lien de communication tel qu'un câble à fibre optique ou coaxial ou une ligne téléphonique en utilisant un modem. Un modem ou un routeur local au système informatique 705 peut recevoir les données sur la liaison de communication et convertir les données dans un format qui peut être lu par le système informatique 705. Par exemple, un récepteur tel qu'une antenne de radiofréquence ou un détecteur infrarouge peut recevoir les données transportées dans un signal sans fil ou optique et un circuit approprié peut fournir les données au sous-système I/O 720, par exemple en plaçant les données sur un bus. Le sous-système I/O 720 transporte les données vers la mémoire 725, à partir de laquelle le processeur 710 récupère et exécute les instructions. Les instructions reçues par la mémoire 725 peuvent éventuellement être stockées sur la mémoire 715 avant ou après l'exécution par le processeur 710. Le système informatique 705 comporte également une interface de communication 760 couplée à un bus 720. L'interface de communication 760 fournit un couplage de communication de données bidirectionnel à la ou aux liaisons réseau 765 qui sont directement ou indirectement connectées à au moins un réseau de communication, tel qu'un réseau 770 ou un nuage public ou privé sur Internet. Par exemple, l'interface de communication 760 peut être une interface de réseau Ethernet, une carte de réseau numérique à intégration de services (RNIS), un modem câble, un modem satellite ou un modem pour fournir une connexion de communication de données à un type correspondant de ligne de communication, par exemple un câble Ethernet ou un câble métallique de tout type ou une ligne à fibre optique ou une ligne téléphonique. Le réseau 770 représente largement un réseau local (dit « LAN », pour « Local Area Network »), un réseau étendu (dit « WAN », pour « Wide Area Network »), un réseau de campus, un réseau Internet, ou toute combinaison de ceux-ci. L'interface de communication 760 peut comporter une carte LAN pour fournir une connexion de communication de données à un LAN compatible, ou une interface de radiotéléphone cellulaire qui est câblée pour envoyer ou recevoir des données cellulaires selon les normes de réseau sans fil de radiotéléphone cellulaire, ou une interface de radio satellite qui est câblée pour envoyer ou recevoir des données numériques selon les normes de réseau sans fil de satellite. Dans n'importe quelle mise en œuvre de ce type, l'interface de communication 760 envoie et reçoit des signaux électriques, électromagnétiques ou optiques sur des trajets de signaux qui transportent des flux de données numériques représentant divers types d'informations. La liaison réseau 765 fournit typiquement une communication de données électrique, électromagnétique ou optique directement ou par l'intermédiaire d'au moins un réseau à d'autres dispositifs de données, en utilisant, par exemple, la technologie satellite, cellulaire, Wi-Fi ou BLUETOOTH. Par exemple, la liaison réseau 765 peut fournir une connexion à travers un réseau 770 à un ordinateur hôte 750. En outre, la liaison réseau 765 peut fournir une connexion par l'intermédiaire du réseau 770 ou à d'autres dispositifs informatiques via des dispositifs d'interconnexion et/ou des ordinateurs qui sont exploités par un fournisseur de services Internet (ISP) 775. Le FAI 775 fournit des services de communication de données par l'intermédiaire d'un réseau mondial de communication de données par paquets représenté par Internet 780. Un ordinateur serveur 755 peut être couplé à Internet 780. Le serveur 755 représente largement tout ordinateur, centre de données, machine virtuelle ou instance informatique virtuelle avec ou sans hyperviseur, ou ordinateur exécutant un système de programme conteneurisé tel que DOCKER ou KUBERNETES. Le serveur 755 peut représenter un service numérique électronique qui est mis en œuvre à l'aide de plus d'un ordinateur ou d'une instance et auquel on accède et qu'on utilise en transmettant des demandes de services Web, des chaînes de localisateurs de ressources uniformes (dit « URL », pour « Uniform Resource Locator ») avec des paramètres dans des charges utiles HTTP (pour « Hypertext transfer protocol », traduit par « protocole de transfert hypertexte », des appels d'API (pour « application programing interface », traduit par « interface de programmation applicative »), des appels de services d'applications ou d'autres appels de services. Le système informatique 705 et le serveur 755 peuvent former des éléments d'un système informatique distribué qui comprend d'autres ordinateurs, un cluster de traitement, une ferme de serveurs ou une autre organisation d'ordinateurs qui coopèrent pour effectuer des tâches ou exécuter des applications ou des services. Le serveur 755 peut comporter un ou plusieurs ensembles d'instructions qui sont organisés sous forme de modules, de méthodes, d'objets, de fonctions, de routines ou d'appels. Les instructions peuvent être organisées comme un ou plusieurs programmes informatiques, services de système d'exploitation ou programmes d'application, y compris des applications mobiles. Les instructions peuvent comporter un système d'exploitation et/ou un logiciel système ; une ou plusieurs bibliothèques pour prendre en charge des fonctions multimédia, de programmation ou autres ; des instructions ou des piles de protocoles de données pour mettre en œuvre des protocoles de communication TCP/IP (pour « Transmission control protocol / Internet protocol », traduit par « protocole de contrôle de transmission / protocole internet »), HTTP ou autres ; des instructions de traitement de format de fichier pour analyser ou rendre des fichiers codés en utilisant HTML (pour « Hypertext markup language », traduit par « langage de balisage hypertexte »), XML (for « Extensible markup language », traduit par « langage de balisage extensible »), JPEG (pour « Joint Photographic Experts Group », traduit par « Groupe joint d’experts photographiques), MPEG (pour « Moving picture experts group », traduit par groupe d’experts d’images en mouvement ») ou PNG (for « Portable Networks Graphic », traduit par « graphiques portables pour réseaux »); des instructions d'interface utilisateur pour rendre ou interpréter des commandes pour une interface utilisateur graphique (GUI), une interface de ligne de commande ou une interface utilisateur textuelle ; un logiciel d'application tel qu'une suite bureautique, des applications d'accès à Internet, des applications de conception et de fabrication, des applications graphiques, des applications audio, des applications de génie logiciel, des applications éducatives, des jeux ou des applications diverses. Le serveur 755 peut comprendre un serveur d'application web qui héberge une couche de présentation, une couche d'application et une couche de stockage de données telles qu'un système de base de données relationnelle utilisant un langage d'interrogation structuré (dit « SQL », pour « Structured Query Language ») ou aucun SQL, un magasin d'objets, une base de données graphique, un système de fichiers plats ou tout autre stockage de données. Le système informatique 705 peut envoyer des messages et recevoir des données et des instructions, y compris du code de programme, par l'intermédiaire du ou des réseaux, de la liaison réseau 765 et de l'interface de communication 760. Dans l'exemple Internet, un serveur 755 peut transmettre un code demandé pour un programme d'application par l'intermédiaire d'Internet 780, du FAI 775, du réseau local 770 et de l'interface de communication 760. Le code reçu peut être exécuté par le processeur 710 au fur et à mesure de sa réception, et/ou stocké dans la mémoire 715, ou dans une autre mémoire non volatile pour une exécution ultérieure. L'exécution d'instructions telle que décrite dans cette section peut mettre en œuvre un processus sous la forme d'une instance d'un programme informatique en cours d'exécution et constitué d'un code de programme et de son activité actuelle. Selon le système d'exploitation (dit « OS », « operating system »), un processus peut être constitué de plusieurs fils d'exécution qui exécutent des instructions simultanément. Dans ce contexte, un programme informatique est une collection passive d'instructions, tandis qu'un processus peut être l'exécution réelle de ces instructions. Plusieurs processus peuvent être associés au même programme ; par exemple, l'ouverture de plusieurs instances du même programme signifie souvent que plus d'un processus est en cours d'exécution. Le multitâche peut être mis en œuvre pour permettre à plusieurs processus de partager le processeur 710. Bien que chaque processeur 710 ou noyau du processeur exécute une seule tâche à la fois, le système informatique 705 peut être programmé pour mettre en œuvre le multitâche afin de permettre à chaque processeur de basculer entre les tâches en cours d'exécution sans avoir à attendre la fin de chaque tâche. Dans un mode de réalisation, les commutations peuvent être effectuées lorsque les tâches effectuent des opérations d’entrée/sortie, lorsqu'une tâche indique qu'elle peut être commutée, ou sur des interruptions matérielles. Le partage du temps peut être mis en œuvre pour permettre une réponse rapide aux applications interactives des utilisateurs en effectuant rapidement des commutations de contexte pour donner l'impression d'une exécution simultanée de plusieurs processus. Dans un mode de réalisation, pour des raisons de sécurité et de fiabilité, un système d'exploitation peut empêcher la communication directe entre des processus indépendants, en fournissant une fonctionnalité de communication interprocessus strictement médiatisée et contrôlée. Ainsi, comme on le comprend à la lecture de la présente description, la mise en œuvre de la présente invention octroie à un utilisateur : - la capacité de décrire l’ensemble des fonctionnalités des logiciels métiers sans écrire une seule ligne de code informatique – la modélisation étant centrée sur la définition des entités métiers à partie de laquelle, la présente invention est capable, de déduire automatiquement de la définition des comportements de base des logiciels tels que les écrans, les règles de validation et les interfaces de données, - la capacité à définir des composants métiers standard permettant de réaliser très rapidement des logiciels personnalisés tout en bénéficiant de meilleurs pratiques des logiciels standards et - la capacité à simuler plusieurs logiciels de nature technique différente à partir d’un seul modèle et d’un seul logiciel. Procédé (100, 300) mis en œuvre par ordinateur de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, caractérisé en ce qu’il comporte : - une étape (110) de sélection, sur une interface informatique, d’au moins deux contextes d’exécution d’un ensemble d’instructions, - une étape (116) de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associés à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - une étape (115) de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection et - une étape (120) de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées. Procédé (300) selon la revendication 1, dans lequel au moins un composant logiciel standardisé associé à un identifiant représentatif d’un composant logiciel standardisé présente une partie surchargeable et une partie non surchargeable, le procédé (300) comportant de plus une étape (311) d’édition d’une partie surchargeable d’un composant logiciel standardisé. Procédé (300) selon la revendication 2, dans lequel au cours de l’étape (115) de génération automatique, une partie éditée au cours de l’étape (311) d’édition est prioritairement mise en œuvre pour générer un ensemble d’instructions et, en absence de partie éditée, la partie surchargeable est mise en œuvre. Procédé (300) selon la revendication 3, qui comporte une étape (335) de mise à jour d’au moins un ensemble d’instructions, comportant : - une étape (313) de mise à disposition d’une mise à jour dans le métalangage, par un dispositif de calcul, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé, - une étape (314) de validation, sur une interface informatique, de l’application d’au moins une mise à jour mise à disposition, - une étape (317) de mise à jour, dans le métalangage, d’une partie surchargeable et/ou d’une partie non surchargeable d’au moins un composant logiciel standardisé lorsque l’application d’au moins une mise à jour est validée et - une étape (318) de génération automatique, par un dispositif de calcul, pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions mis à jour, dans au moins un langage informatique d’exécution, en fonction du résultat de l’étape de sélection d’au moins un ensemble. Procédé (300) selon l’une des revendications 1 à 4, dans lequel au moins deux identifiants de composants logiciels standardisés sont liés, dans une mémoire informatique, par un lien de dépendance, le procédé (300) comportant une étape (321) de sélection automatique d’au moins un identifiant de composant logiciel standardisé lié par un lien de dépendance à un identifiant de composant logiciel standardisé sélectionné au cours de l’étape (116) de sélection. Procédé (300) selon la revendication 5, dans lequel au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé est associé à un identifiant de rôle, l’étape (321) de sélection automatique étant réalisée en fonction d’un identifiant de rôle d’au moins un élément d’une structure de données associée à un identifiant de composant logiciel standardisé sélectionné. Procédé (300) selon l’une des revendications 1 à 6, qui comporte : - une étape (305) de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et - une étape (310) de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie. Procédé (300) selon l’une des revendications 1 à 7, dans lequel au moins une étape (115, 118) de génération comporte : - une première étape (325) de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape (106) de sélection et du contexte d’exécution sélectionné et - une deuxième étape (330) de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape (106) de sélection et du contexte d’exécution sélectionné. Procédé (100, 300) selon l’une des revendications 1 à 8, dans lequel au moins une étape (115, 318) de génération comporte une étape (336) de conversion de la représentation logique d’un composant logiciel standardisé dans le métalangage en une représentation logique dans un langage d’exploitation. Procédé (100, 300) selon l’une des revendications 1 à 8, dans lequel au moins un composant logiciel standardisé correspond à une représentation logique partielle d’un logiciel, au moins une étape (115, 118) de génération étant configurée pour associer à une représentation logique d’au moins un composant logiciel standardisé sélectionné une représentation logique de fonctionnalités de base d’un logiciel. Dispositif (200) de génération automatique d’au moins deux ensembles d’instructions complémentaires configurés pour être stockés dans un medium de stockage lisible par un ordinateur et pour être exécutés par au moins un processeur d’ordinateur, caractérisé en ce qu’il comporte : - un moyen (210) de sélection, sur une interface informatique (210, 230), d’au moins deux contextes d’exécution d’un ensemble d’instructions, - un moyen (216) de sélection, sur une interface informatique, pour au moins un contexte d’exécution, d’au moins un identifiant représentatif d’un composant logiciel standardisé, un composant logiciel standardisé correspondant à une représentation logique, dans un métalangage informatique : - d’au moins une définition d’entité logicielle commune à au moins deux contextes d’exécution, - d’au moins une structure de données associés à au moins une entité logicielle définie, - d’au moins un traitement logiciel d’au moins une entité logicielle commune et/ou - d’au moins un écran d’interface logicielle, - un moyen (215) de génération automatique, par un dispositif de calcul (235), pour chaque contexte d’exécution sélectionné, d’au moins un ensemble d’instructions dans au moins un langage informatique d’exécution, en fonction du résultat du moyen (216) de sélection et - un moyen (220) de stockage des instructions, dans le medium de stockage, des ensembles d’instructions générées.