Brevet FR2931272A1 — publié le 20091120

Procédé d'import export de données d'une base de données La présente invention concerne un procédé d'import export de données provenant d'une base de données par l'intermédiaire d'un fichier XML, acronyme de l'expression anglo-saxonne eXtensible Markup Language, signifiant langage de balisage extensible. La présente invention trouve notamment une de ses applications dans le domaine de l'ingénierie système et logicielle. Pendant les phases d'analyse et de conception de systèmes matériels ou logiciels, des équipes de concepteurs ont besoin de s'échanger des données. Ces données permettent notamment de décrire structurellement et fonctionnellement le système à concevoir. Ces données sont notamment des données formelles d'ingénierie système et logicielle. Les données formelles d'ingénierie système et logicielle peuvent être représentées comme un ensemble d'objets. Ces objets sont définis par des attributs et sont liés entre eux par des relations qui peuvent être des relations de composition ou des relations de référence. Les données sont gérées et stockées dans une ou plusieurs bases de données. Une base de données permet notamment de gérer la persistance des données, leur partage entre différents utilisateurs et la gestion des différentes versions de l'ensemble des données. Une base de données peut notamment comporter un ordinateur sur lequel peut s'exécuter un logiciel de gestion de base de données ainsi qu'un ou plusieurs disques durs de stockage des données de la base de données. Les données de description du système peuvent être exploitées, non seulement par différents utilisateurs appartenant à des équipes effectuant l'analyse et la conception du système, mais également à travers différents outils logiciels de conception ou d'analyse de données. L'accès aux données stockées dans la base de données se fait notamment via des ordinateurs reliés, par exemple par un réseau de transport de données, à la base de données. Les utilisateurs des différentes équipes de conception peuvent notamment effectuer : des exports de données de la base de données vers des applications s'exécutant sur les ordinateurs reliés à la base de données ; des imports de données des applications s'exécutant sur les ordinateurs reliés à la base de données vers la base de données. Les applications utilisant les données peuvent être des outils logiciels d'analyse et de conception du système. Les procédés d'import et d'export existants sont spécifiques à chaque outil logiciel. Pour accéder aux données via un outil logiciel, des procédés d'import et d'export sont développées, exploitant les données de la base de données, tout en permettant les échanges avec un autre outil logiciel. Les procédés d'import et d'export sont coûteuses à développer. 10 Leur coût est d'autant plus important que différentes procédés d'import export sont développées pour chaque outils logiciel. D'autre part, les objets sont décrits dans la base de données selon un modèle objet défini par un méta-modèle. Le méta-modèle décrit les relations possibles entre les différents objets de la base de données, ainsi 15 que les différents types d'objets présents dans la base de données. Toute modification du méta-modèle nécessite également une modification des procédés d'import export pour chacun des outils logiciels utilisés. Or dans une phase d'analyse et de conception, le méta-modèle est susceptible d'évoluer et donc de subir de multiples modifications. Ceci entraîne alors un 20 surcoût important en termes de développement des procédés d'import et d'export. Ceci nuit également à la souplesse d'utilisation des procédés d'import export de la base de données. Un but de l'invention est notamment de pallier les inconvénients 25 précités. A cet effet, l'invention a pour objet un procédé d'import export de données. Les données peuvent être stockées sur au moins un disque dur d'une base de données. La base de données peut être gérée par une première application logicielle au moyen d'au moins un processeur d'un premier ordinateur. L'export de données s'effectue de la base de données 30 vers au moins un deuxième ordinateur. Le deuxième ordinateur peut notamment comporter au moins un processeur sur lequel s'exécute au moins une deuxième application logicielle. La deuxième application logicielle est notamment apte à créer, modifier et supprimer des données de la base de données. Le procédé d'import export comporte notamment un premier 35 procédé d'export et un deuxième procédé d'import. Le procédé d'export peut comporter au moins les étapes suivantes, réalisées, par exemple, par la première application logicielle : • sélection de données de la base de données ; • requête d'un export des données sélectionnées ; • vérification que les données sélectionnées ne sont pas réservées dans la base de données ; • construction d'un ensemble d'export comportant les données sélectionnées, non réservées ; • réservation des données sélectionnées, non réservées dans la w base de données ; • génération d'un fichier d'échange de données. Le fichier d'échange de données comporte notamment les données de l'ensemble d'export. Le fichier d'échange de données peut être construit selon un modèle de fichier d'échange de données. Le modèle de fichier 15 décrit notamment des types de données, des liens entre les types de données, existants dans la base de données ; • transfert du fichier d'échange généré vers le deuxième ordinateur ; Le procédé d'import peut comporter au moins les étapes suivantes : • transfert d'un nouveau fichier d'échange de données, vers le 20 premier ordinateur. Le nouveau fichier d'échange de données comporte notamment les données de l'ensemble d'export, des modifications effectuées sur les données sélectionnées par la deuxième application logicielle ; • comparaison, par la première application logicielle, des données 25 sélectionnées du nouveau fichier d'échange de données avec les données sélectionnées présentes dans la base de données, afin d'identifier des suppressions d'objets effectuées sur les données sélectionnées ; • vérification de la faisabilité des modifications effectuées sur les 30 données sélectionnées, présentes dans le nouveau fichier d'échange, par rapport aux données sélectionnées présentes dans la base de données; • suppression des données, des liens, supprimés lors des modifications effectuées sur les données sélectionnées, pouvant 35 être supprimés ; • modification des données sélectionnées pouvant être modifiées dans la base de données ; • dé-réservation des données sélectionnées dans la base de données. Les données de la base de données peuvent être représentés par des objets, organisés en un modèle de données. Le modèle de données peut être construit d'après un méta-modèle de données. Le méta-modèle décrit notamment des types d'objets existants dans la base de données, des liens possibles entre les types d'objets de la base de données. Le modèle de fichier décrit les types d'objet et les liens entre les types d'objets définis dans le méta-modèle de données, les liens entre les objets étant des liens de composition, de référence. Les données sélectionnées sont des objets d'un sous-ensemble d'export. L'ensemble d'export comporte notamment : • un premier objet racine des objets du sous-ensemble d'export ; • un ensemble des objets descendants du premier objet racine en suivant les liens de composition entre les objets dans le modèle de données; • un ensemble de liens de référence dont un objet source est compris 20 dans l'ensemble des objets du sous-ensemble d'export. La génération du fichier d'échange de données peut s'effectuer en parcourant les objets de l'ensemble d'export à travers les liens de composition entre les objets et de l'ensemble d'export, en partant de l'objet racine, en décrivant pour chaque objet parcouru des attributs de l'objet, des 25 liens de référence dont l'objet est la source. La vérification de la faisabilité comporte notamment une première identification de liens entre un objet source, n'appartenant pas à l'ensemble d'export, et un objet destination supprimé du sous-ensemble d'export. 30 La vérification de la faisabilité comporte notamment une deuxième identification de liens entre un objet source, appartenant au sous-ensemble d'export et un objet destination n'appartenant pas à l'ensemble d'export. Le procédé d'export peut être interrompue si, au moins une des données sélectionnées est déjà réservée dans la base de données. Le procédé d'import peut être interrompue si, après vérification, au moins une des modifications effectuées n'est pas faisable dans la base de données. L'invention a notamment pour principal avantage de fournir un procédé d'import export générique, indépendamment de l'outil logiciel vers lequel se fait l'import export. D'autres caractéristiques et avantages de l'invention apparaîtront à 10 l'aide de la description qui suit, donnée à titre illustratif et non limitatif, et faite en regard des dessins annexés qui représentent : • la figure 1 : un exemple schématique d'une architecture client-serveur pour l'accès à des données stockées dans une base de données ; 15 • la figure 2 : un exemple d'une représentation d'un ensemble de données stockées sous la forme d'objets dans la base de données; • la figure 3 : un exemple d'un méta-modèle pour l'ensemble d'objets stockés dans la base de données ; 20 • la figure 4 : un exemple d'un fichier XSD, acronyme pour l'expression anglo-saxonne XML Schema Definition signifiant schéma de définition XML ; • la figure 5a : de manière schématique, un procédé d'export d'objets stockés dans la base de données ; 25 • la figure 5b : de manière schématique, une réservation d'objets par un premier utilisateur de la base de données ; • la figure 6 : un exemple de modification des objets par le premier utilisateur par l'intermédiaire d'un fichier XML ; • la figure 7a : un exemple de modifications effectuées sur les 30 objets par un deuxième utilisateur de la base de données ; • la figure 7b : les objets de la base de données après les modifications effectuées par le deuxième utilisateur ; • la figure 8a : différentes étapes possibles d'un procédé d'import d'objets modifiés dans la base de données, de 35 manière schématique ; • la figure 8b : des modifications effectuées par le premier utilisateur sur l'ensemble des objets de la base de données ; • la figure 8c : l'ensemble des objets de la base de données après les modifications effectuées par le premier utilisateur. La figure 1 présente un exemple d'une représentation schématique d'une architecture client-serveur pour un accès à des données stockées dans une base de données 1. Une architecture client-serveur d'une base de donnée 1 comporte notamment un serveur 2 de base de données 1. Le serveur 2 est un premier ordinateur 2 comportant au moins un processeur sur lequel s'exécute une première application logicielle 10 de gestion de la base de donnée 1. Le serveur 2 gère un ou plusieurs disques durs 3 de la base de données 1. Sur les disques durs 3 sont stockées les données de la base de données 1. Le premier ordinateur 2 permet à des clients 5, 6, 7 connectés par un réseau 4 à la base de données 1, d'avoir accès à la base de données 1. Les clients sont par exemple des deuxièmes ordinateurs 5, 6, 7. Chaque deuxième ordinateur 5, 6, 7 comporte au moins un processeur sur lequel peuvent s'exécuter plusieurs applications 11, 12 différentes. Les différentes applications 11, 12 peuvent accéder aux données stockées par la base de données 1 pour visualiser et/ou pour modifier les données de la base de données. L'accès aux données par les applications 11, 12 se fait par l'intermédiaire des processeurs des deuxièmes ordinateurs 5, 6, 7. En effet, les processeurs des deuxièmes ordinateurs 5, 6, 7 échangent des données de la base de données 1 avec le processeur du premier ordinateur 2 par l'intermédiaire du réseau 4. II peut donc exister des accès à la base de données 1, ainsi que des modifications des données, effectuées de manière concurrente et simultanée par plusieurs utilisateurs de la base de données 1. Les applications 11, 12 peuvent notamment être des outils logiciels 11 d'analyse et de conception d'un système avionique, par exemple. Les outils d'analyse et de conception 11 manipulent notamment des données formelles d'ingénierie système matériel et/ou logiciel. Des applications 12 s'exécutant sur les deuxièmes ordinateurs 5, 6, 7 peuvent être des troisièmes applications 12 servant d'interface entre un utilisateur et la première application 10 de gestion de la base de données 1. Les accès aux données de la base de données par les ordinateurs clients 5, 6, 7 se font par l'intermédiaire : • de procédés d'export pour la récupération des données de la base de données 1 vers les ordinateurs 5, 6, 7 ; • de procédés d'import pour la mise en base de données 1, des données provenant des ordinateurs 5, 6, 7. Ainsi des données exportées préalablement depuis la base de données 1 peuvent être modifiées par une application 11, 12 puis importées dans la base de données 1. L'importation, dans la base de données 1, des données modifiées permet la mise à jour des données stockées dans la base de données 1. Des données peuvent également être ajoutées ou supprimées dans la base de données 1, le procédé d'import permettant la mise à jour des données stockées dans la base de données 1, en prenant notamment en compte les ajouts, les suppressions, les modifications de données. La figure 2 représente un exemple d'un ensemble de données 20 stockées sous la forme d'objets dans la base de données 1. Cet ensemble de données peut être représenté sous la forme d'un modèle de données 20 définissant chaque objet stocké dans la base de données ainsi que des liens existants entre chaque objet de la base de données 1. Chaque objet est identifié par un identifiant Id qui peut valoir : R, A, Al, A11, Al2, A2, A21, A211, A22, A3, B, BI, B11, B12, B2, B21, B211, B22, B3. Les objets R, A, Al, A11, Al2, A2, A21, A211, A22, A3, B, BI, B11, B12, B2, B21, B211, B22, B3 peuvent être reliés deux à deux par des liens xxx, yyy, aaa, bbb. Les liens xxx, yyy, aaa, bbb peuvent définir des relations de composition xxx, yyy, ou des relations de référence aaa, bbb. Les liens, ou relations, de composition xxx, yyy définissent à la fois le lien, mais également le type de l'objet destination du lien de composition. Par exemple : • un premier lien xxx est un lien de composition reliant un premier objet R, d'un premier type d'objet Root, source de la composition, à un objet de deuxième type XXXType, par exemple un deuxième objet A ou un troisième objet B ; • un deuxième lien de composition yyy représente un lien entre, par exemple, le troisième objet B et un neuvième objet B3 d'un troisième type d'objet YYYType. Un objet source d'un lien de composition xxx, yyy vers un autre objet destination du lien de composition xxx, yyy est dénommé objet père, l'objet destination étant alors un objet fils. Par exemple le premier objet R est un objet père pour deux objets fils le deuxième objet A et le troisième objet B. Les liens, ou relations, de référence aaa, bbb représentent par exemple deux de références : une première référence aaa, une deuxième référence bbb. Ainsi dans l'exemple représenté sur la figure 2 : le premier objet R a un lien de composition vers le deuxième objet A de deuxième type XXXType et un lien de composition vers le troisième objet 10 B de deuxième type XXXType ; - le deuxième objet A a trois liens de composition vers des objets de troisième type YYYType suivants : un quatrième objet Al, un cinquième objet A2, un sixième objet A3 ; le troisième objet B a trois liens de composition vers des objets de 15 troisième type YYYType suivants : un septième objet B1, un huitième objet B2, un neuvième objet B3 ; le quatrième objet Al a deux liens de composition vers des objets de troisième type YYYType suivants : un dixième objet Al 1, un onzième objet Al2 ; 20 le cinquième objet A2 a deux liens de composition vers des objets de troisième type YYYType suivants : un douzième objet A21, un treizième objet A22 ; le sixième objet A3 a un deuxième lien de référence bbb vers le cinquième objet A2 ; 25 - le septième objet B1 a deux liens de composition vers des objets de troisième type YYYType suivants : un quatorzième objet B11, un quinzième objet B12, et un deuxième lien de référence bbb vers le quatrième objet Al ; - le huitième objet B2 a deux liens de composition vers des objets de 30 troisième type YYYType suivants : un seizième objet B21, un dix-septième objet B22, et un deuxième lien de référence bbb vers un objet : le douzième objet A21 ; - le douzième objet A21 a un lien de composition vers un objet de troisième type YYYType : un dix-huitième objet A211 ; le quatorzième objet B11 a un premier lien de référence aaa vers le dixième objet Al 1 ; le seizième objet B21 a un lien de composition vers un objet de troisième type YYYType : un dix-neuvième objet B211, et un deuxième lien de 5 référence bbb vers le douzième objet A21; le dix-septième objet B22 a un premier lien de référence aaa vers le treizième objet A22 ; le dix-huitième objet A211 a un premier lien de référence aaa vers le onzième objet Al2 ; 10 le dix-neuvième objet B211 a un premier lien de référence aaa vers le dix-huitième objet A211. La figure 3 représente un exemple d'un méta-modèle 30 pour un ensemble d'objets stockés dans une base de données 1. Le méta-modèle 30 15 est un modèle définissant une grammaire qui permet de décrire des interactions possibles entre les différents types d'objets de la base de données 1. Le méta-modèle 30 permet notamment de définir des liens pouvant exister entre les différents types d'objets du modèle de données 20 représenté sur la figure 2, par exemple. Le méta-modèle permet également 20 de décrire les différents attributs de chaque type d'objet. Un attribut d'un objet peut, par exemple, être un nom, un identifiant, une valeur. Par exemple, le modèle de données 20 répond à des règles d'interactions entre les types d'objets, définis par le méta-modèle 30. Les interactions, ou les liens, suivants peuvent être définis dans le méta-modèle 25 30: • un objet d'un premier type Root peut avoir un lien composition avec un objet de deuxième type XXXType : c'est notamment le cas entre le premier objet R et le deuxième objet A représentés sur la figure 2 ; • un objet de deuxième type XXXType peut avoir un lien de composition 30 avec un objet du troisième type YYYType : par exemple sur la figure 2, le deuxième objet A de deuxième type XXXType a un lien de composition vers un quatrième objet Al de troisième type YYYType ; • un objet de troisième type YYYType peut avoir un lien de composition avec un autre objet de troisième type YYYType : par exemple sur la figure 2, le quatrième objet Al de troisième type YYYType a un lien de composition vers le dixième objet Al 1 de troisième type YYYType ; • un objet de troisième type YYYType peut avoir un lien de composition avec un autre objet d'un quatrième type CCCtype. • un objet de troisième type YYYType peut avoir un premier lien de référence aaa vers un autre objet du troisième type YYYType : par exemple, sur la figure 2, le quatorzième objet B11 a un premier lien de référence aaa vers le dixième objet Al 1 ; • un objet de troisième type YYYType peut également avoir un deuxième lien de référence bbb vers un autre objet du troisième type YYYType : par exemple, sur la figure 2, le septième objet BI a deuxième un lien de référence bbb vers le dixième objet Al 1 ; • un objet du quatrième type CCCtype peut avoir un lien du premier type de référence aaa vers un autre objet du troisième type YYYType. Le méta-modèle 30 permet donc de décrire un ou plusieurs modèles de données tels que le modèle de données 20 représenté sur la figure 2. La figure 4 représente un exemple d'un fichier XSD 40, acronyme pour l'expression anglo-saxonne XML Schema Definition signifiant schéma de définition XML. Un fichier XSD est un fichier de description de structure formelle de fichiers XML. Un fichier XSD permet notamment de vérifier la validité d'un fichier XML. Un fichier XSD permet donc de décrire une structure des données que contient un fichier XML. Un fichier XSD a une syntaxe propre qui est définie dans un langage nommé XML Schema, signifiant schéma XML. Le procédé d'import export utilise avantageusement un fichier XSD comme le fichier XSD 40 représenté sur la figure 4. Le fichier XSD 40 est notamment défini à partir du méta-modèle 30 de la base de données 1. Le fichier XSD 40 décrit donc dans un formalisme propre le méta-modèle 30 représenté sur la figure 3. Le fichier XSD permet ensuite, de générer des fichiers XML comportant une description des objets de la base de donnée 1, selon un formalisme propre aux fichiers de type XML. Le fichier XSD 40 comporte notamment : un type d'un objet racine 41 du méta-modèle 30 ; une liste 42 de types d'objets du méta-modèle 30. Un objet racine 41, par définition, ne comporte aucun père dans le modèle de données 20 et tous les objets du modèle de données 20 peuvent lui être rattachés de façon directe ou indirecte, par un ou plusieurs liens de composition en cascade. Par exemple l'objet de premier type Root est l'objet racine du méta-modèle 30. L'objet racine du modèle de données 20 décrit par le méta-modèle 30 est le premier objet de nom, � xsd: element name �, ou d'identifiant R et de premier type Root. Chaque type d'objet est défini par le nom de son type : par exemple � xsd: complex Type Name = Root �, défini le nom du troisième type d'objet Root. Chaque type d'objets peut avoir des attributs, comme un identifiant, des liens avec d'autres objets. Les liens peuvent être définis par 1 o un type de lien : composition, référence. Un lien de composition est par exemple caractérisé par : le nom de la relation de composition, par exemple � xsd :element name = xxx � pour la relation de composition xxx ; le type de l'objet destination de la composition, par exemple � type = 15 XXXType � pour le premier type d'objet XXXType ; une cardinalité de la relation de composition, définie par un indice d'occurrence minimum, � minOccurs � et un indice d'occurrence maximum, � maxOccurs �. Un indice d'occurrence maximum � maxOccurs = unbounded � signifie que 20 le nombre d'occurrence maximum est indéfini, ou illimité. Un lien de référence peut être caractérisé par : le nom de la référence, par exemple � xsd :element name=aaa � pour une référence qui se nomme aaa ; le type de lien, par exemple � type=xsd:anyURl� signifie que le lien 25 est de type référence ; une cardinalité de la relation de référence, définie par un indice d'occurrence minimum, � minOccurs � et un indice d'occurrence maximum, � maxOccurs �. Un attribut peut être défini par : 30 un nom, par exemple �xsd:attribute name=ld� désigne un attribut de nom Id ; un type, par exemple � type=xsd:ID � défini un attribut de type identifiant ; une utilisation, par exemple � uses=required � signifie que l'attribut est 35 obligatoire pour le type d'objet auquel il appartient. Dans l'exemple représenté sur la figure 4, tous les types d'objets ont un attribut de type identifiant et de nom Id. Le fichier XSD 40 permet notamment de décrire les types d'objets suivants. Une première description de type d'objet 43 décrit le troisième type d'objet Root. Un objet du premier type Root comporte un premier lien de composition vers un objet du deuxième type XXXType. Le premier lien de composition est défini par le nom de la relation xxx, par le type de l'objet de deuxième type faisant partie de la composition : XXXType, ainsi que par une cardinalité de zéro à illimitée. Cela signifie qu'il peut y avoir une composition entre un objet de premier type Root et aucun, un ou plusieurs objets de deuxième type XXXType. Une deuxième description de type d'objet 44 décrit le deuxième type d'objet XXXType. Un objet du deuxième type d'objet XXXType comporte un deuxième lien de composition yyy vers un objet du troisième type YYYType. Le deuxième lien de composition est défini par le nom de la relation : yyy, par le type de l'objet de troisième type faisant partie de la composition : YYYType, ainsi que par une cardinalité de zéro à illimitée. Cela signifie qu'il peut y avoir une composition entre un objet de deuxième type XXXType et aucun, un ou plusieurs objets de troisième type YYYType. Une troisième description de type d'objet 45 décrit le troisième type d'objet YYYType. Un objet du troisième type d'objet YYYType comporte des liens de composition et des liens de références, dont notamment : - un troisième lien de composition vers un objet du deuxième type YYYType. Le troisième lien de composition est défini par le nom de la relation : yyy, par le type de l'objet de troisième type YYYType destination de la composition, ainsi que, par une cardinalité de zéro à illimitée ; cela signifie qu'il peut y avoir une composition entre un objet de troisième type YYYType et aucun, un ou plusieurs objets de troisième type YYYType. un quatrième lien de composition vers un objet du quatrième type CCCType. Le quatrième lien de composition est défini par le nom de la relation : ccc, par le type de l'objet de quatrième type CCCType destination de la composition, ainsi que par une cardinalité de zéro à illimitée ; cela signifie qu'il peut y avoir une composition entre un objet de troisième type YYYType et aucun, un ou plusieurs objets de quatrième type CCCType ; un premier lien de référence de nom aaa. Le premier lien de référence est défini par le nom de la relation : aaa, ainsi que par une cardinalité de zéro à illimitée ; Cela signifie qu'il peut y avoir aucune, un ou plusieurs références entre un objet de troisième type YYYType et aucun, un ou plusieurs objets . - un deuxième lien de référence de nom bbb. Le deuxième lien de référence est défini par le nom de la relation bbb, ainsi que par une cardinalité de zéro à illimité ; cela signifie qu'il peut y avoir aucune, un ou plusieurs références entre un objet de troisième type YYYType et aucun, un ou plusieurs objets. Une quatrième description de type d'objet 46 décrit le quatrième type d'objet CCCType. Un objet du quatrième type d'objet CCCType comporte un troisième lien de référence défini par le nom de la référence : aaa, ainsi que par une cardinalité de zéro à illimitée ; cela signifie qu'il peut y avoir aucune, un ou plusieurs références entre un objet de quatrième type CCCType et aucun, un ou plusieurs objets . Les figures 5a, 5b représentent schématiquement différentes étapes possibles d'un procédé d'export d'objets stockés dans la base de données 1, selon l'invention. Lorsqu'un utilisateur, d'une deuxième application logicielle 12 s'exécutant sur un deuxième ordinateur 5, 6, 7 représenté sur la figure 1, veut modifier, par l'intermédiaire de la deuxième application logicielle 12 des données de la base de données 1, il peut faire appel à un procédé d'export 50 des données de la base de données 1. Un procédé d'export de données 50 permet de charger en mémoire d'un deuxième ordinateur 5, 6, 7, représenté sur la figure 1 par exemple, une partie ou la totalité des données de la base de données 1. Les données chargées en mémoire peuvent ensuite être affichées par la deuxième application logicielle 11. La deuxième application logicielle 11 peut également fournir à l'utilisateur des moyens de modification des données chargées en mémoire. Le procédé d'export 50 peut être réalisée en partie par un composant logiciel faisant partie de la première application logicielle 10 de gestion de la base de données 1, par exemple. Une première étape 51 du procédé d'export 50 peut être une étape de spécification 51, par un utilisateur, d'un ensemble d'objets 510 qu'il souhaite pouvoir modifier. La spécification 51 peut être faite en sélectionnant un ensemble d'objets de la base de données 1, que l'utilisateur souhaite pouvoir modifier. L'ensemble d'objets modifiables 510 est un sous-ensemble de l'ensemble des objets 20 de la base de données 1, représentés sur la 1 o figure 5b. Le sous-ensemble d'objets 510 peut être nommé sous-ensemble d'export modifiable 510. Sur la figure 5b, le sous-ensemble d'export modifiable 510 est par exemple composé des objets suivants : le dix-neuvième objet B211, le seizième objet B21, le huitième objet B2, le dix-septième objet B22. La sélection du sous-ensemble d'export modifiable 510 15 peut s'effectuer à partir de la deuxième application logicielle 11 ou d'une troisième application 12 servant d'interface entre l'utilisateur et le serveur 2 de la base de données 1. Une fois la sélection du sous-ensemble d'export modifiable 510 effectuée, l'utilisateur peut demander un export des données en lecture 20 contenues dans le sous-ensemble d'export 511 au cours d'une deuxième étape 52 du procédé d'export 50. La demande d'export peut être faite par l'intermédiaire d'une requête envoyée de la deuxième application servant d'interface 11 entre l'utilisateur et le serveur 2 et la première application de gestion de la base de données 10. 25 Une troisième étape 53 du procédé d'export 50 peut être une étape de vérification 53 que le sous-ensemble d'export modifiable 510 ne comporte pas d'objets réservés dans la base de données 1. En effet, dès qu'un export de données à été réalisé, les objets modifiables sont marqués dans la base de données avec un marqueur précisant qu'ils sont réservés. 30 Un objet reste ainsi réservé jusqu'à ce qu'il ait fait l'objet d'un procédé d'import dans la base de données. Le procédé d'import est décrit par la suite plus en détail. La vérification 53 peut être réalisée par le composant logiciel 10 gérant le procédé d'export 50, s'exécutant sur le serveur de base de données 1. Lorsqu'un des objets du sous-ensemble d'export modifiable 510 35 est déjà réservé dans la base de donnée 1, le procédé d'export 50 s'arrête. Par exemple le serveur 2 peut envoyer, à la troisième application interface 12, un message d'erreur signalant qu'un ou plusieurs des objets du sous-ensemble d'export modifiable 510 est réservé. Le message d'erreur peut par exemple mentionner les identifiants des objets déjà réservés dans la base de données 1. Ainsi l'utilisateur peut reprendre la première étape 51 du procéde d'export 50 afin de spécifier un nouveau sous-ensemble d'objets modifiables 510. Lorsque aucun des objets du sous-ensemble d'export modifiable 510 n'est déjà réservé dans la base de données 1, le procédé d'export 50 peut se poursuivre avec une quatrième étape 54 de construction d'un ensemble d'export 511. Dans un autre mode de réalisation du procédé d'export, il peut être possible de n'exporter que les objets qui ne sont pas déjà réservés en base de données 1. L'export d'objets de l'ensemble d'export 511, s'effectue de la base de données 1 vers l'ordinateur 5, 6, 7 de l'utilisateur. Un ensemble d'export 511 est notamment composé des objets B2, B21, B22, B211 du sous-ensemble d'export modifiable 510. Le composant logiciel gérant l'export construit, lorsqu'il reçoit le sous-ensemble d'export 511, un ensemble d'export 511 comportant notamment : un objet racine B du sous-ensemble d'export 511 ; un ensemble des objets fils de l'objet racine B du sous-ensemble d'export 511 ; - un ensemble de liens de référence des objets de l'ensemble d'export 511. L'objet racine B est déterminé, par le composant logiciel gérant l'export par exemple, en parcourant le modèle de données 20 depuis chaque objet modifiable B2, B21, B22, B211, via les liens de composition des objets entre eux, en partant des objets fils et en remontant jusqu'à l'objet père racine B des objets du sous-ensemble d'export modifiable 510. L'objet racine B du sous-ensemble d'export 510 est le premier objet père commun aux objets du sous-ensemble d'export 510, rencontré dans lors du parcours du modèle de données 20 de fils en père à partir des objets du sous-ensemble d'export modifiable 510. Par exemple, sur la figure 5a, l'objet racine du sous-ensemble d'export modifiable 510 est le troisième objet B. En effet, en partant du dix-neuvième objet B211 du sous-ensemble d'export 510, l'objet père du dix-neuvième objet B211 est le seizième objet B21 qui fait lui-même partie du sous-ensemble d'export modifiable 510. L'objet père du seizième objet B21 est le huitième objet B2 qui fait lui-même partie du sous-ensemble d'export 510. L'objet père du huitième objet B2 est le troisième objet B qui, lui, ne fait pas partie du sous-ensemble d'export modifiable 510. Reste à savoir si le troisième objet B est l'objet racine du sous-ensemble d'export 510. Le seul objet du sous-ensemble d'export modifiable 510 qui n'a pas été parcouru est le dix-septième objet B22. L'objet père du dix-septième objet est le huitième objet B2, qui a déjà été parcouru, pour aboutir au troisième objet B. Le troisième objet B est donc bien l'objet racine du sous-ensemble d'export modifiable 510. L'ensemble des objets fils de l'objet racine B du sous-ensemble d'export modifiable 510 est composé de tous les fils des objets descendant de l'objet racine B du sous-ensemble d'export 510. Un descendant de l'objet racine B est un fils d'un descendant de l'objet racine. Le premier descendant de l'objet racine B est un fils de l'objet racine B. Par exemple sur la figure 5a, l'ensemble des objets fils de l'objet racine B comporte les objets B2, B21, B22, B211 du sous-ensemble d'export modifiable 510 ainsi que les autres descendants de l'objet racine B du sous-ensemble d'export 511, c'est à dire les objets descendants du troisième objet B : le septième objet B1, le neuvième objet B3, le quatorzième objet B11, le quinzième objet B12. L'ensemble des liens de référence des objets B1, B2, B3, B11, B12, B21, B22, B211, de l'ensemble d'export 511 vers d'autres objets, est par exemple représenté sur la figure 5b par un ensemble de traits en pointillés partant des objets B1, B2, B3, B11, B12, B21, B22, B211 de l'ensemble d'export 511 et allant vers d'autres objets du modèle de données 20. L'ensemble des liens de référence comporte par exemple : • un premier lien de référence du dix-neuvième objet B211 vers le dix-huitième objet A211 ; • un deuxième lien de référence du seizième objet B21 vers le douzième objet A21 ; • un troisième lien de référence du septième objet B1 vers le quatrième objet Al ; • un quatrième lien de référence du quatorzième objet B11 vers le 35 dixième objet Al 1 ; • un cinquième lien de référence du dix-septième objet B22 vers le treizième objet A22. Une cinquième étape 55 du procédé d'export 50 peut être une étape de marquage à � réservé � des objets B2, B22, B21, B211 du sous- ensemble d'export 511. La quatrième étape de marquage 55 des objets du sous-ensemble d'export 511 peut être réalisée par le composant logiciel gérant le procédé d'export 50. La quatrième étape de marquage 55 est une étape de réservation des objets de la base de données qui ne pourront alors être modifié que par l'instigateur du marquage. Une sixième étape 56 du procédé d'export 50 peut être une étape de génération d'un premier fichier XML 60 tel que représenté sur la figure 6, par exemple. La génération du premier fichier XML 60 peut être faite par exemple par la première application 10 de gestion de la base de données 1. Le premier fichier XML 60 comporte notamment la description des objets et liens de l'ensemble d'export 511. La génération du premier fichier XML s'effectue selon la grammaire décrite dans le fichier XSD 40. Ainsi un premier élément 61 du premier fichier XML 60 est l'objet racine R du modèle de données 20. Le premier fichier XML 60 est ensuite décrit en parcourant les liens de composition des objets du modèle de données 20 entre eux, de père en fils, en décrivant également pour chaque objet ses références vers d'autres objets. Chaque objet est précédé dans le premier fichier XML 60 par son type. Le premier objet R a notamment pour fils dans l'ensemble d'export 511 le troisième objet B, également objet racine de l'ensemble d'export 511. Un deuxième élément 62 du premier fichier XML 60 est donc le troisième objet B. Le troisième objet B a trois fils dans l'ensemble d'export 511: le septième objet B1, le huitième objet B2 et le neuvième objet B3. Un troisième élément 63 du premier fichier XML 60 est le septième objet BI. Le septième objet BI a dans le modèle de données 20 deux fils : le quatorzième objet B11 et le quinzième objet B12. Un quatrième élément 64 du premier fichier XML 60 est le quatorzième objet B11. Le quatorzième objet B11 a une référence de premier type de référence aaa vers le dixième objet Al 1. Un cinquième élément 65 du premier fichier XML 60 est donc la référence de premier type de référence aaa du quatorzième objet B11 vers le dixième objet A11. Ensuite, le quatorzième objet B11 n'ayant pas de fils au sens de la 5 composition, un sixième élément 66 du premier fichier XML 60 est le quinzième objet B12, fils du septième objet B1. Le quinzième objet B12 n'ayant pas de fils dans la base de données 1, un septième élément 67 du premier fichier XML 60 est la référence de deuxième type bbb du septième objet BI vers le quatrième 10 objet Al. Ainsi chaque objet de l'ensemble d'export 511 est décrit en spécifiant de manière récursive, tout d'abord ses fils, les fils de ses fils et enfin, ses références. Le premier fichier XML 60 comprend de la même manière que 15 précédemment une description 68 des objets B2, B21, B211, B22 du sous-ensemble d'export 510 de leurs liens de composition et de leurs références, comportant notamment les éléments suivants : un huitième élément 69 du premier fichier XML 60 est le huitième objet B2, objet racine du sous-ensemble d'export 510, et objet fils du troisième 20 objet B ; un neuvième élément 601 du premier fichier XML 60 est le seizième objet B21, fils du huitième objet B2 ; un dixième élément 602 du premier fichier XML 60 est le dix-neuvième objet B211, fils du seizième objet B21 ; 25 un onzième élément 603 du premier fichier XML 60 est une référence du premier type de référence aaa entre le dix-neuvième objet B211 et le dix-huitième objet A211 ; un douzième élément 604 du premier fichier XML 60 est une référence du deuxième type de référence bbb entre le huitième objet B2 et le douzième 30 objet A21 ; un treizième élément 605 du premier fichier XML 60 est le dix-septième objet B22 ; un quatorzième élément 606 du premier fichier XML 60 est une référence du premier type de référence aaa entre le dix-septième objet A22 et le 35 treizième objet A22 ; un quinzième élément 607 du premier fichier XML 60 est le neuvième objet B3, ledit neuvième objet B3 ne faisant pas partie du sous-ensemble d'export 510 mais faisant partie de l'ensemble d'export 511. Le premier fichier XML 60 ainsi défini permet d'exporter les données de l'ensemble d'export 511 vers un autre ordinateur 5, 6, 7 à partir de la base de données. Le premier fichier XML 60 est donc transféré, au cours d'une septième étape 57, du premier ordinateur, par l'intermédiaire du réseau 4, vers un deuxième ordinateur 5, 6, 7 sur lequel il peut être exploité par des applications 11, 12. La deuxième application 11, utilisant les données de l'ensemble d'export 511, peut reconstruire un modèle de données comportant les objets que l'utilisateur souhaite pouvoir modifier ou visualiser simplement. La figure 6 représente des modifications effectuées par un premier utilisateur ayant fait un export 50 de données à partir de la base de données 1. Le premier utilisateur peut par exemple modifier un objet, un lien, détruire un objet, un lien vers un autre objet, pour les objets réservés en base de données 1. Une première modification peut être une destruction ou une suppression d'un objet par exemple le dix-septième objet B22. La suppression de l'objet B22 entraîne la suppression des références qu'il comporte et notamment de la référence de deuxième type aaa vers le treizième objet A22. La suppression de l'objet B22 entraîne également la suppression du lien de composition de deuxième type yyy entre le huitième objet B2 et le dix-septième objet B22 supprimé. Une deuxième modification peut être une création d'un vingtième objet X1 de quatrième type ccc. Le vingtième objet Xl peut être le fils du huitième objet B2. Une troisième modification peut être une création d'un lien du 30 premier type de référence aaa entre le vingtième objet Xl et le dix-neuvième objet B211. Une quatrième modification peut être une création d'un autre lien du deuxième type de référence bbb entre le dix-neuvième objet B211 et le quinzième objet B12. Les modifications effectuées sur le modèle de données 20 et particulièrement sur le sous-ensemble d'export 510. Une prise en compte des modifications peut être effectuée par la deuxième application 11 utilisant les données du modèle de données 20, par exemple, ou par la troisième application interface 12. La prise en compte des modifications décrites précédemment peut se faire par l'intermédiaire d'une modification 610 du premier fichier XML 60. Un deuxième fichier XML 611 est par exemple le résultat de la prise en compte des modifications. Par exemple la prise en compte des modifications dans le deuxième fichier XML 611 peut conduire à effectuer : une suppression du treizième élément 605 du premier fichier XML 60 suite à la suppression du dix-septième objet B22 ; - une suppression du quatorzième élément 606 du premier fichier XML 60 suite à la suppression du lien de référence de deuxième type aaa du dix-15 septième objet B22 vers le treizième objet A22 ; un ajout d'un seizième élément 613 dans le deuxième fichier XML 611 après le onzième élément 603 du premier fichier XML 60, suite à la création d'un lien du deuxième type de référence bbb entre le dix-neuvième objet B211 et le quinzième objet B12 ; 20 un ajout d'un dix-septième élément 614 dans le deuxième fichier XML 611, suite à l'ajout du vingtième objet X1, fils du huitième objet B2 ; le dix-septième élément 614 est ajoutée à la suite du douzième élément 604 selon le principe de construction du fichier XML précédemment énoncé ; 25 - un ajout d'un dix-huitième élément 615 dans le deuxième fichier XML 611, suite à la création du lien de référence de premier type de référence aaa entre le vingtième objet X1 et le dix-neuvième objet B211. Le deuxième fichier XML 611, ainsi construit, permet un import des modifications effectuées sur les objets dans la base de données 1 selon 30 un procédé défini par la suite. Les figures 7a, 7b représentent un exemple de modifications effectuées sur les objets du modèle de données 20 par un deuxième utilisateur de la base de données 1. Un deuxième utilisateur peut, en effet, 35 modifier le modèle d'objet 20 de la base de données de manière concurrente avec le premier utilisateur. Ainsi le deuxième utilisateur peut modifier les objets du modèle de données 20 qui n'ont pas été préalablement réservés par le premier utilisateur. Cette modification par le deuxième utilisateur peut être faite par l'intermédiaire d'un procédé d'import export selon l'invention ou par tout autre moyen. Par exemple le deuxième utilisateur peut effectuer les modifications suivantes représentées sur la figure 7a : une première suppression 70 du lien de référence entre le dix-neuvième objet B211 et le dix-huitième objet A211 ; ~o une deuxième suppression 71 du lien de composition du douzième objet A21 vers le dix-huitième objet A211 ; une troisième suppression 72 du lien de référence entre le dix-huitième objet A211 et le onzième objet Al2 ; une quatrième suppression 73 du dix-huitième objet A211 ; 15 - une cinquième suppression 74 du lien de composition entre le septième objet B1 et le quinzième objet B12 ; une sixième suppression 75 du quinzième objet B12. La figure 7b représente le modèle de données 20 une fois les modifications effectuées par le deuxième utilisateur prises en compte au niveau de la base 20 de données 1. Les figures 8a, 8b, 8c représentent différentes étapes possibles d'un procédé d'import 80 d'objets stockés dans la base de données 1, selon l'invention. Les données du modèle de données 20, une fois modifiées par le 25 premier utilisateur et telles que représentées sur la figure 8c, peuvent être importées dans la base de données 1. Cet import permet de mettre à jour les données contenues dans la base de données 1. La mise à jour du modèle de données 20 en base de données 1 permet de mettre à disposition de tous les autres utilisateurs les modifications effectuées par le premier utilisateur. 30 Une première étape 82 du procédé d'import 80 peut être une étape de transfert du deuxième fichier XML 611 de l'application l'ayant créé vers la première application 10 de gestion de la base de donnée 1. La première étape 82 peut être un envoi du deuxième fichier XML 611 vers le 35 serveur 2 qui va se charger toutes les étapes suivantes en faisant les contrôles en local du serveur 2 entre la base de données 1 et le deuxième fichier XML 611. Une deuxième étape 83 peut être une étape de comparaison de la liste des objets autorisés en modification dans la base de données 1, c'est à dire des objets marqués � réservé � dans la base de données 1, avec les objets décrits dans le deuxième fichier XML 611. La comparaison peut être effectuée à l'aide des identifiants des objets du modèle de données 20. Cette étape de comparaison permet d'établir une liste des objets détruits par le 1 o premier utilisateur et présents dans la base de données 1. Une troisième étape 84 peut être une étape d'identification de liens du modèle de données 20 dont la destination est un objet identifié comme détruit au cours de la deuxième étape 83 précédente et dont la source est un objet n'appartenant pas au sous-ensemble d'import 510. Cette 15 troisième étape d'identification 84 permet de déterminer un premier impact des modifications effectuées par le premier utilisateur sur les objets de la base de données 1 : par exemple, sur la figure 8b les modifications apportées par l'import des modifications du premier utilisateur par rapport à un état du modèle de données 20 tel que représenté sur la figure 7b, en 20 prenant en compte les modifications effectuées par un deuxième utilisateur. Sur la figure 8b, une première destruction 810 du dix-septième objet B22 de la base de données 1, est représentée. La première destruction 810 du dix- septième objet B22 entraîne une deuxième destruction 811 du lien de référence entre le dix-septième objet B22 et le treizième objet A22. La 25 destruction 810 du dix-septième objet B22 entraîne également une troisième destruction 812 du lien de composition existant entre le huitième objet B2 et le dix-septième objet B22. Le premier impact des modifications sur le modèle de données 20 peuvent être présentées à le premier utilisateur effectuant l'import par l'intermédiaire de la troisième application 12 d'interface. Le 30 premier utilisateur peut alors abandonner l'import des données s'il ne souhaite pas effectuer les destructions identifiées dans le premier impact. En cas d'abandon de l'import, le modèle de données 20 reste tel que représenté sur la figure 7b dans la base de données 1. Les modifications effectuées par le premier utilisateur ne sont alors pas prises en compte dans le modèle de 35 données 20. La troisième étape 84 du procédé d'import de données selon l'invention est une première vérification de la cohérence du modèle de données 20, stocké dans la base de données 1, avec les modifications que l'on souhaite importer dans la base de données 1. Si le premier utilisateur souhaite continuer l'import, une deuxième vérification peut être effectuée au cours d'une quatrième étape 85 du procédé d'import 80 selon l'invention. La quatrième étape 85 peut être une étape de vérification de la faisabilité de liens, par exemple, créés par le premier utilisateur, ou existants, en fonction de l'état du modèle de données 20 tel que représenté sur la figure 7b. La deuxième vérification permet d'identifier les liens dont la source est un objet marqué � réservé � dans la base de données 1, et dont la destination est un objet détruit dans la base de données 1, n'appartenant pas à l'ensemble d'export 511. L'objet peut être par exemple détruit par les modifications apportées par le deuxième utilisateur. Par exemple, sur la figure 8b, un lien entre le dix-neuvième objet B211 et le dix-huitième objet A211 ne peut être maintenu du fait de la destruction du dix-huitième objet A211. Le lien créé par le premier utilisateur entre le dix-neuvième objet B211 et le quinzième objet B12 est impossible à créer du fait de la destruction du quinzième objet B12 du modèle de données 20 tel que représenté sur la figure 7b. La deuxième vérification peut être effectuée par la première application 10 de gestion de la base de données 20 par exemple. Les résultats de la deuxième vérification peuvent être présentés au premier utilisateur par l'intermédiaire de la troisième application d'interface 12 entre le serveur 2 et le deuxième ordinateur 5, 6, 7. Le premier utilisateur peut, au cours de la quatrième étape 85, décider ou non d'abandonner l'import des modifications qu'il a effectuées. Si le premier utilisateur décide d'abandonner ses modifications, le modèle de données 20 reste dans l'état représenté sur la figure 7b. Si le premier utilisateur décide de procéder aux modifications suite à la deuxième vérification, une cinquième étape 86 du procédé d'import 80 peut être une étape de destruction des liens et des objets identifiés comme supprimés au cours de la première vérification et de la deuxième vérification. Une sixième étape 87 peut être une étape de modification et de création des objets et des liens d'après le deuxième fichier XML 611. Chaque objet modifiable dans la base de données 20 ayant fait l'objet d'une modification est effectivement modifié au cours de la sixième étape 87 dans la base de donnée 1. Par exemple sur la figure 8b, le vingtième objet XI est ajouté dans la base de données 1. De même un premier lien de composition ajouté 813 du troisième type de composition ccc entre le huitième objet B2 et le vingtième objet 20 apparaissent dans la base de données 1. Un deuxième lien de référence ajouté 814 du premier type de référence aaa est également ajouté entre le vingtième objet X1 et le dix-neuvième objet B211. Une fois les modifications effectuées au cours de la sixième étape 87, les objets marqués � réservés � sont dé-réservés au cours d'une septième étape 88, et deviennent modifiables par un autre utilisateur. Le procédé d'import export selon l'invention permet de définir une manière générique d'importer et d'exporter des données via un fichier XML. Avantageusement la présente invention définit des règles génériques de structuration du fichier XML, selon un fichier XSD, et des attributs génériques des objets stockés en base de données 1, permettant une importation et une exportation des données indépendamment de l'application les utilisant. Le procédé d'import export selon l'invention est avantageusement simple et peu coûteuse à réaliser pour différentes applications logicielles, du fait de son caractère générique.20 REVENDICATIONS1. Procédé d'import export de données stockées sur au moins un disque dur 3 d'une base de données 1, géré par une première application logicielle 10 au moyen d'au moins un processeur d'un premier ordinateur 2, l'export s'effectuant de la base de données 1 vers au moins un deuxième ordinateur 5, 6, 7 comportant au moins un processeur sur lequel s'exécute au moins une deuxième application logicielle 11 apte à créer, modifier et supprimer des données de la base de données 1, ledit procédé d'import export comportant un premier procédé d'export 50 et un deuxième procédé d'import 80 , caractérisée en ce que : le procédé d'export 50 comporte au moins les étapes suivantes, réalisées par la première application logicielle 10 : • sélection 51 de données de la base de données 1 ; • requête 52 d'un export des données sélectionnées 510 ; • vérification 53 que les données sélectionnées 510 ne sont pas réservées dans la base de données 1 ; • construction 54 d'un ensemble d'export 511 comportant les données sélectionnées 510, non réservées ; • réservation 55 des données sélectionnées 510, non réservées dans 20 la base de données 1 ; • génération 56 d'un fichier d'échange de données 60 comportant les données de l'ensemble d'export 511, ledit fichier d'échange de données 60 étant construit selon un modèle de fichier 40 d'échange de données, ledit modèle de fichier 40 décrivant des types de 25 données, des liens entre les types de données, existants dans la base de données 1 ; • transfert 57 du fichier d'échange 60 généré vers le deuxième ordinateur 5, 6, 7 ; - le procédé d'import 80 comporte au moins les étapes suivantes : 30 • transfert 82 d'un nouveau fichier d'échange de données 611 vers le premier ordinateur 2, ledit nouveau fichier d'échange de données 611 comportant les données de l'ensemble d'export 511, des modifications effectuées sur les données sélectionnées 510 par la deuxième application logicielle 11 ;• comparaison 83, par la première application logicielle 10, des données sélectionnées 510 du nouveau fichier d'échange de données 611 avec les données sélectionnées 510 présentes dans la base de données 1, afin d'identifier des suppressions d'objets effectuées sur les données sélectionnées 510 ; • vérification 84, 85 de la faisabilité des modifications effectuées sur les données sélectionnées 510, présentes dans le nouveau fichier d'échange 611, par rapport aux données sélectionnées présentes dans la base de données 1 ; • suppression 86 des données, des liens, supprimés lors des modifications effectuées sur les données sélectionnées 510, pouvant être supprimés ; • modification 87 des données sélectionnées 510 pouvant être modifiées dans la base de données 1 ; • dé-réservation des données sélectionnées 510 dans la base de données 1. 2. Procédé d'import export de données selon la revendication 1, caractérisée en ce que les données de la base de données 1 sont représentés par des objets, organisés en un modèle de données 20, construit d'après un méta-modèle de données 30, ledit méta-modèle décrivant des types d'objets existants dans la base de données 1, des liens possibles entre les types d'objets de la base de données 1. 3. Procédé d'import export de données selon la revendication précédente, caractérisée en ce que le modèle de fichier 40 décrit les types d'objet et les liens entre les types d'objets définis dans le méta-modèle de données 30, les liens entre les objets étant des liens de composition, de référence. 4. Procédé d'import export de données selon la revendication 3, caractérisée en ce que, les données sélectionnées étant des objets d'un sous-ensemble d'export 510, l'ensemble d'export 511 comporte : • un premier objet B racine des objets du sous-ensemble d'export 510 ;• un ensemble des objets descendants du premier objet racine B en suivant les liens de composition entre les objets dans le modèle de données 20 ; • un ensemble de liens de référence dont un objet source est compris 5 dans l'ensemble des objets du sous-ensemble d'export 510. 5. Procédé d'import export de données selon la revendication 4, caractérisée en ce que la génération 56 du fichier d'échange de données 60 s'effectue en parcourant les objets de l'ensemble d'export 510 à travers les 10 liens de composition entre les objets et de l'ensemble d'export 511, en partant de l'objet racine B, en décrivant pour chaque objet parcouru des attributs de l'objet, des liens de référence dont l'objet est la source. 6. Procédé d'import export de données selon l'une quelconque des 15 revendications 4 et 5, caractérisée en ce que la vérification 84, 85 de la faisabilité comporte une première identification 84 de liens entre un objet source, n'appartenant pas à l'ensemble d'export 511, et un objet destination supprimé du sous-ensemble d'export 510. 20 7. Procédé d'import export de données selon la revendication 6, caractérisée en ce que la vérification 84, 85 de la faisabilité comporte une deuxième identification 85 de liens entre un objet source, appartenant au sous-ensemble d'export 510 et un objet destination n'appartenant pas à l'ensemble d'export 511. 25 8. Procédé d'import export de données selon l'une quelconque des revendications précédentes, caractérisée en ce que le procédé d'export 50 est interrompu si, au moins une des données sélectionnées est déjà réservée dans la base de données 1. 9. Procédé d'import export de données selon l'une quelconque des revendications précédentes, caractérisée en ce que le procédé d'import 80 est interrompu si, après vérification 84, 85, au moins une des modifications effectuées n'est pas faisable dans la base de données 1. 30 35