FR 3021787 A1 20151204 FR 1554332 A 20150513 Système de gestion de contenu ARRIERE-PLAN La présente invention concerne de manière générale les systèmes de gestion de données, et en particulier des procédés, systèmes et produits de programmes d'ordinateur pour la gestion de contenu comprenant un contenu standard et un contenu non-standard. Les systèmes de gestion de contenu peuvent offrir un accès à un contenu spécifique à un ou plusieurs clients (par exemple, des consommateurs finaux) connectés au système via des réseaux de communication dédiés. Avec l'apparition d'un nombre gigantesque de fournisseurs de distribution de contenu dans chaque secteur industriel, il existe un besoin pour chaque consommateur de pouvoir accéder à plusieurs fournisseurs de contenu via un unique système de gestion de contenu. Par exemple, dans l'industrie du tourisme, des systèmes de gestion de voyages 15 peuvent être utilisés pour distribuer du contenu obtenu auprès d'un ensemble de systèmes de fournisseurs de voyages (fournisseurs de contenu) vers une pluralité de systèmes d'agences de voyages (consommateurs de contenu). L'industrie du tourisme a connu une croissance considérable durant ces dernières décennies et, dans le même temps, les services proposés par l'industrie du tourisme ont considérablement changé, de sorte qu'une large variété de services 20 est maintenant offerte aux consommateurs finaux, impliquant un contenu hétérogène. En outre, l'industrie du tourisme implique maintenant beaucoup d'acteurs entre les fournisseurs de voyages et les consommateurs finaux, avec une énorme quantité de données à gérer entre ces différents acteurs. Entre le fournisseur de voyages et l'utilisateur final, des intermédiaires voyagistes tels que des Systèmes de Distribution Globale (GDS, "Global Distribution 25 Systems") fournissent des Systèmes de Gestion de Voyages pour permettre aux agents voyagistes de récupérer des informations auprès de fournisseurs de voyages traditionnels (compagnies aériennes), ou de conduire des transactions entre des consommateurs finaux et des fournisseurs de voyages traditionnels. Le modèle métier des agences de voyages qui se concentrait principalement sur la 30 distribution exclusive de transports aériens évolue et des acteurs réalisent maintenant des marges plus importantes grâce à un contenu non aérien. Une très grande variété de services 3021787 2 offerts par de nouveaux types de fournisseurs de voyages est ainsi proposée à destination. Avec l'attractivité de ces canaux de distribution alternatifs, les agences de voyages tendent à distribuer de plus en plus de contenu non GDS (par exemple, hôtels, locations de véhicules, etc.) en plus du contenu GDS habituel (par exemple, un contenu de voyage par 5 avion ou par train). Cependant, les systèmes de gestion de voyages classiques n'offrent pas de moyens appropriés pour fournir directement aux agences de voyages des informations relatives à du contenu non GDS. Tel que représenté sur la Figure 1, un système de gestion de voyages 1 comprend 10 généralement une structure de données d'enregistrement telle qu'une structure de données "Enregistrement du Nom du Passager" 900 pour stocker des enregistrements associés à du contenu GDS reçu directement de fournisseurs de contenu GDS 40. Chaque enregistrement (PNR) est identifié dans une base de données BD par un repère de dossier. Les repères de dossier PNR peuvent alors être utilisés pour accéder au contenu GDS et le distribuer à des dispositifs clients tels que des systèmes d'agents voyagistes ou de consommateurs finaux (60). La structure de données PNR 900 contient un repère de dossier en association avec des données de voyages associées à un passager donné ou un groupe de passagers voyageant ensemble (le repère de dossier est également connu comme un numéro de confirmation, un 20 numéro de réservation, un code de confirmation, une référence de réservation, etc.). Par exemple, lorsqu'une réservation est effectuée pour un passager ou un groupe de passagers, un PNR est créé dans la structure de données 900, ce PNR comprenant un repère de dossier et des données correspondant au contenu de la réservation (par exemple, données du vol telles que l'heure d'arrivée, l'heure de départ, etc.). 25 Actuellement, les systèmes de gestion de voyages ne peuvent pas recevoir directement du contenu non GDS en provenance de fournisseurs de voyages non GDS 50 en raison de contraintes de normalisation. En effet, la manière dont un système de gestion de voyages échange avec un fournisseur de voyages standard (40) est soumis aux règles définies par l'Association 30 Internationale des Transports Aériens (IATA, "International Air Transport Association"), dans les Procédures de Messages Interlignes de Réservations ATA/IATA - Passagers 3021787 3 (AIRIMP, "ATA/IATA Reservations Interline Message Procedures - Passenger"). En particulier, les messages échangés entre un fournisseur de voyages standard 40 et le moteur de gestion de contenu de voyages 30 doivent satisfaire à un format d'échange de messages TTY (format Télétype) défini par la norme IATA et les PNR conventionnels 900 sont 5 configurés pour ne traiter que du contenu reçu dans un tel format TTY. Aucune norme industrielle n'est définie en tant que telle pour la topologie et le contenu d'un PNR 900. Cependant, chaque système de gestion de voyages (par exemple, un Système de Réservation par Ordinateur, (CRS, "Computer Reservation System") définit ses propres normes propriétaires pour la topologie et le contenu du PNR, en tenant compte des 10 limitations de l'AIRIMP et en particulier la nécessité d'établir aisément une correspondance entre données PNR et messages AIRIMP. Par conséquent, il existe de nombreuses similitudes en ce qui concerne les contenus et formats de données de PNR 900 tenus par différents systèmes de gestion de voyages. En particulier, chaque structure de données PNR 900 est telle que les données de voyages associées à un repère de dossier doivent satisfaire à un 15 certain nombre de types prédéfinis qui correspondent au contenu GDS normalisé par l'IATA (données aériennes, données ferroviaires, etc.). Par conséquent, seul du contenu GDS (par exemple, des données aériennes, ferroviaires) peut être enregistré dans la structure de données PNR 900 dans un format statique satisfaisant aux contraintes associées à la norme d'échange de messages IATA. Il n'est donc pas possible de créer d'enregistrement pour un contenu non GDS (location de véhicules, jet-ski, etc.). Le document US2012259667 propose une solution pour le stockage de contenu non GDS dans le PNR 900 sous la forme de remarques, de segments divers ou fantômes. Cependant, une telle solution ne permet pas au système de gestion de voyages de stocker de 2 5 manière dynamique et fluide du contenu non GDS reçu directement d'un fournisseur de voyages non-standard, d'une manière structurée, à l'avance, dans le PNR 900 parmi d'autres éléments non GDS. Les systèmes de gestion de voyages classiques 1 ne traitent que du contenu provenant de fournisseurs de voyages GDS, tels que des fournisseurs de lignes aériennes. Un 30 système de gestion de voyages classique comprend un moteur de gestion de contenu de voyages 30 utilisant un nombre considérable d'applications, chaque application étant associée à un service de voyage spécifique (par exemple, réservation, boutique, prix, etc.). En réponse 3021787 4 à une demande provenant d'un agent voyagiste donné Ai (70), le moteur de gestion de contenu de voyages 30 peut uniquement récupérer du contenu auprès de fournisseurs de voyages GDS 40, générer un enregistrement dans le PNR 900 et renvoyer une représentation de l'enregistrement PNR ainsi créé à l'agent voyagiste Ai. 5 Chaque agent voyagiste doit être connecté directement à un ensemble de fournisseurs de contenu non GDS 50 si l'agent voyagiste a besoin d'accéder à du contenu non GDS, tandis que le système de gestion de voyages 1 n'est connecté directement qu'à des fournisseurs de contenu GDS 40. D'autre part, chaque agent voyagiste est connecté directement à un ensemble spécifique de fournisseurs de voyages 50 pour obtenir du contenu 10 de voyage non GDS (taxi, billets de spectacles, etc.). Le moteur de gestion de contenu de voyages 30 expose donc n plateformes de services de voyages (une plateforme 2.1, 2.2, ...2.i, 2.n pour chaque agent voyagiste Al à An), tout en ne traitant que du contenu de voyages standard (contenu GDS) provenant des fournisseurs de voyages standard 40. Par conséquent, si un agent voyagiste Ai donné souhaite un contenu spécifique 15 provenant d'un fournisseur de voyages non-standard 50 (par exemple, un billet de musée), ce contenu doit être implémenté personnellement par l'agent voyagiste Ai. Cette implémentation personnelle est particulièrement coûteuse et complexe pour les agents voyagistes. Il existe donc un besoin pour des systèmes, procédés et produits de programmes d'ordinateur améliorés pour la gestion de contenu, permettant de distribuer de manière 20 dynamique et fluide tout type de contenu à partir d'un fournisseur de contenu quelconque (à la fois contenu standard et non-standard) par le biais d'une plate-forme unique. RESUME Afin de résoudre ces problèmes ainsi que d'autres, il est mis à disposition un procédé de gestion de contenu tel que défini dans la revendication indépendante 1 présentée en annexe, et un système de gestion de contenu tel que défini dans la revendication indépendante 12 présentée en annexe. Des formes de réalisation préférées sont définies dans les revendications dépendantes. Le procédé et le système selon les différentes formes de réalisation de l'invention 30 permettent au dispositif de gestion de contenu de recevoir directement n'importe quel type de contenu, tout en supprimant la nécessité pour le dispositif client de recevoir séparément le 3021787 5 contenu non-standard. En outre, l'utilisation d'un identifiant commun partagé par la structure de données d'enregistrement standard et la structure de données d'enregistrement non-standard permet au conteneur de données non-standard de gérer l'accès aux éléments de données comme s'ils étaient stockés dans une structure de données d'enregistrement unique. 5 D'autres avantages de la présente invention deviendront clairs pour l'homme du métier à l'examen des dessins et de la description détaillée. Il est prévu que tout avantage additionnel soit incorporé ici. BREVE DESCRIPTION DES DESSINS 10 Les dessins joints, qui sont incorporés ici et qui constituent une partie de la présente demande, illustrent différentes formes de réalisation de l'invention et, en association avec la description générale de l'invention donnée ci-dessus et la description détaillée des formes de réalisation données ci-après, servent à expliquer les formes de réalisation de l'invention. La Figure 1 est une vue schématique d'un système de gestion de contenu classique 15 selon la technique antérieure ; La Figure 2 est une vue schématique d'un système de gestion de contenu selon certaines formes de réalisation incluant une pluralité de systèmes informatiques connectés via un réseau ; La Figure 3 est une vue schématique d'un environnement de fonctionnement 2 0 représentatif incluant un système de gestion de contenu ; La Figure 4 est une vue schématique d'un système informatique représentatif des Figures 2 et 3 ; La Figure 5 est un organigramme décrivant un processus qui peut être exécuté pour ajouter un nouveau contenu dans la structure de données d'enregistrement étendue ; 2 5 La Figure 6 est une vue schématique de la structure d'une application interne s'exécutant dans le système de gestion de contenu selon certaines formes de réalisation ; La Figure 7 est une vue schématique décrivant le fonctionnement d'une application interne basée sur des objets techniques du type Modèle d'Objet Métier ; La Figure 8 est une vue schématique du système de gestion de contenu décrivant des 3 0 interactions représentatives entre des applications internes ; 3021787 6 La Figure 9 est une vue schématique d'un conteneur de données non-standard représentatif défini par un ensemble de valeurs de clés ; La Figure 10 est une vue schématique de formats de sérialisation représentatifs ; La Figure 11 est une vue schématique du conteneur de données non-standard 5 représentatif de la Figure 9 avec des informations de type incluses dans le conteneur de données non-standard ; La Figure 12 est une vue schématique du fichier de description de structure représentatif associé au conteneur de données non-standard de la Figure 12 ; La Figure 13 est un organigramme d'un procédé qui peut être exécuté pour un accès 10 de contenu par une application ; La Figure 14 est une vue schématique d'une unité d'échange de contenu représentative ; La Figure 15 est un organigramme d'un processus qui peut être exécuté pour transmettre du contenu à un dispositif client ; 15 La Figure 16 est une vue schématique d'une conversion XSLT d'un conteneur de données standard de type C ; La Figure 17 est une vue schématique d'une conversion XSLT d'un conteneur de données non-standard du même type C que le conteneur de données standard de la Figure 16 ; La Figure 18 est une vue schématique d'une conversion XSLT d'un conteneur de 2 0 données standard du type D comprenant un ensemble d'attributs ; La Figure 19 est une vue schématique d'une conversion XSLT d'un conteneur de données non-standard de type E ayant certains attributs identiques aux attributs du conteneur de données standard de la Figure 18 ; La Figure 20 est un organigramme d'un processus qui peut être exécuté pour 2 5 réarranger des éléments de données ; et La Figure 21 est une vue schématique d'une structure de données d'enregistrement étendue, selon certaines formes de réalisation. DESCRIPTION DETAILLEE Les procédés, systèmes et produits de programmes informatiques selon des formes 3021787 7 de réalisation de l'invention peuvent permettre une gestion dynamique de tout type de contenu (standard et non-standard) reçu en provenance de fournisseurs de contenu et d'un stockage centralisé d'enregistrements associés à ce contenu, quel que soit le type de contenu. Le système de gestion de contenu 100 peut être basé sur une architecture client/serveur 5 permettant la réception de demandes de clients. En référence à la Figure 2, il est mis à disposition un système de gestion de contenu 100 par l'intermédiaire duquel un certain nombre de clients utilisateurs 7 peut accéder directement, via une plateforme unique, à tout type de contenu fourni par un ensemble de systèmes de fournisseurs de contenu 4, 5. Le contenu traité par le système de gestion de 10 contenu 100 peut être reçu de systèmes de fournisseurs de contenu standard 4 communiquant avec le système de gestion de contenu 100 en fonction d'un premier type de format d'échange de messages 14, tel qu'un format d'échange de messages standardisé prédéfini, ou de systèmes de fournisseurs de contenu non-standard 5 communiquant avec le système de gestion de contenu 100 selon un deuxième type de format d'échange de messages 15. 15 Le système de gestion de contenu 100 peut être connecté à un réseau de communication 13, lequel réseau de communication 13 peut comprendre l'Internet, un réseau local (LAN), un réseau étendu (WAN), un réseau voix/données cellulaires, une ou plusieurs connexions par bus haute vitesse, et/ou d'autres réseaux de communication de ce type. Le système de gestion de contenu 100 peut être dédié à un ou plusieurs champs 2 0 spécifiques (par exemple, le champ voyage). Un ou plusieurs dispositifs clients 7 peuvent être connectés chacun au réseau de communication 13, de telle sorte qu'un utilisateur puisse initialiser une session de demande de service auprès du système de gestion de voyages 100 et recevoir du contenu en provenance du système de gestion de voyages 100 en réponse à la demande de service. 2 5 Des formes de réalisation de l'invention peuvent être implémentées par un système informatique comprenant un ou plusieurs ordinateurs ou serveurs en réseau. Le système informatique peut proposer des fonctions de traitement et de base de données pour une gestion de contenu. Chaque dispositif client 7 peut être un dispositif informatique personnel, un 3 0 ordinateur de type tablette, un terminal client mince, un smartphone et/ou d'autres dispositifs informatiques de ce type. Chaque dispositif client 7 peut héberger des navigateurs Web et/ou 3021787 8 un logiciel d'application personnalisé (par exemple, un système client) et peut inclure une interface utilisateur cliente. Chaque système de fournisseur de contenu 4 ou 5 peut être connecté au réseau de communication 13. Chaque système de fournisseur de contenu 4 ou 5 peut héberger un ou 5 plusieurs sites Web et/ou avoir un service d'hébergement hébergeant un ou plusieurs sites Web. Un utilisateur (à savoir, un voyageur) utilisant l'un des dispositifs clients 7 peut se connecter au système de gestion de contenu 100 à l'aide du dispositif client 7 pendant une session de demande de service associée à une application (accédée par exemple par 10 connexion à un service Web). Le système de gestion de contenu 100 comprend un moteur de gestion de contenu 3 pour traiter la demande de service émanant du dispositif client 7. Le moteur de gestion de contenu 3 peut échanger des messages avec les fournisseurs de voyages standard 4 en utilisant le format d'échange de messages TTY normalisé selon la norme IATA (premier format d'échange de messages 14). 15 Le moteur de gestion de contenu 3 peut en outre échanger des messages avec les fournisseurs non-standard 5 via une unité d'échange de données 11. L'unité d'échange de données 11 peut utiliser des messages définis selon un langage de description de données tel que le langage de balisage extensible (deuxième format d'échange de messages 15) pour communiquer avec les fournisseurs de contenu non-standard, par exemple en réponse à une 2 0 recherche, une réservation, une demande de prix, une délivrance, une demande d'annulation émanant d'un client utilisateur 7 associé à une entité d'agent voyagiste (par exemple, un opérateur agent voyagiste ou un système d'agent voyagiste). L'utilisateur peut soumettre la demande de service au système de gestion de contenu 100 en saisissant des informations au niveau du dispositif client 7 via une interface graphique 2 5 utilisateur générée sur le dispositif client 7 par une application s'exécutant sur le système de gestion de contenu 100 (par exemple, sous la forme d'un service Web). Des informations reçues de l'utilisateur peuvent être accumulées jusqu'à ce que l'utilisateur soumette la demande de service au système de gestion de contenu 100 (par exemple, en exécutant une action de soumission). 3 0 En réponse à la demande utilisateur, le moteur de gestion de contenu 3 peut demander et obtenir du contenu auprès des systèmes de fournisseurs de contenu 4 et/ou 5 3021787 9 selon les formats d'échange de messages 14 et/ou 15 et stocker un enregistrement apparenté au contenu récupéré dans une structure de données d'enregistrement étendue 9. La structure de données d'enregistrement étendue 9 peut être stockée dans un contexte et sauvegardée dans une ou plusieurs bases de données 8 en réponse à une demande de sauvegarde, ou bien 5 périodiquement. D'une autre manière, dans certaines formes de réalisation, la structure de données d'enregistrement étendue 9 peut être stockée directement dans une ou plusieurs bases de données 8. La structure de données d'enregistrement étendue 9 comprend une structure de données d'enregistrement standard 90 pour stocker des enregistrements en association avec 10 des données standard et une structure de données d'enregistrement non-standard 91 pour stocker des enregistrements en association avec des données non-standard. Un enregistrement comprend un identifiant d'enregistrement (également appelé "repère de dossier") en association avec des éléments de données apparentés. L'identifiant d'enregistrement peut être d'un type quelconque ou d'un format quelconque, tel qu'un nombre. 15 La structure de données d'enregistrement standard 90 est statique car elle est uniquement adaptée pour stocker un enregistrement pour des types prédéfinis de contenu (appelé contenu "standard") ayant un ou plusieurs attributs parmi un ensemble prédéfini d'attributs. Tel qu'utilisé ici, le terme "standard" fait référence à un contenu standard ayant un format et/ou un type prédéfini correspondant au format et/ou aux types pris en charge par la 2 0 structure de données d'enregistrement standard 90. Un enregistrement peut être ajouté dans la structure de données d'enregistrement standard 90 pour un contenu reçu comprenant des éléments de données apparentés, si le contenu reçu comprend uniquement des éléments de données standard. L'enregistrement comprend un identifiant d'enregistrement en association avec les éléments de données. 2 5 D'une autre manière, un enregistrement peut être ajouté à la structure de données d'enregistrement non-standard 91 pour un contenu reçu comprenant des éléments de données apparentés, si le contenu reçu comprend uniquement des éléments de données non-standard. L'enregistrement comprend un identifiant d'enregistrement en association avec au moins un conteneur de données non-standard comprenant les éléments de données non-standard. 3 0 En outre, un enregistrement peut être ajouté à la structure de données d'enregistrement standard 90 et à la structure de données d'enregistrement non-standard 91 3021787 10 pour un contenu reçu comprenant des éléments de données apparentés, si le contenu reçu comprend des éléments de données non-standard et une structure de données d'enregistrement standard 90. Les deux enregistrements ajoutés pour le standard de contenu reçu dans la structure de données d'enregistrement 90 et dans la structure de données d'enregistrement 5 non-standard 91 peuvent se voir attribuer tous les deux le même identifiant d'enregistrement (appelé ci-après "identifiant d'enregistrement commun"). L'identifiant d'enregistrement commun est partagé entre un ou plusieurs éléments de données standard (contenu standard) dans la structure de données d'enregistrement standard 90 et/ou un ou plusieurs conteneurs de données non-standard (comprenant des éléments de données non-standard) dans la structure 10 de données d'enregistrement non-standard 91. En utilisant un même identifiant d'enregistrement dans les deux structures de données d'enregistrement 90 et 91 pour identifier des éléments de données standard et non-standard apparentés, le système de gestion de contenu 100 peut gérer les deux structures de données d'enregistrement de manière transparente comme si elles formaient une unique 15 structure de données d'enregistrement. Le moteur de gestion de contenu 3 peut enregistrer un certain nombre d'applications associées à différents services. Le moteur de gestion de contenu 3 peut exécuter une ou plusieurs applications en fonction de la demande de service reçue en provenance du dispositif client 7, qui peut déclencher une récupération de contenu auprès de systèmes de fournisseurs 20 de contenu et le stockage des enregistrements apparentés à ce contenu reçu dans la structure de données étendue 9. Le moteur de gestion de contenu peut être en outre configuré pour renvoyer la réponse à la demande de service, en fonction des enregistrements stockés dans la structure de données d'enregistrement étendue 9, quel que soit le type de contenu, aux clients utilisateurs utilisant le contenu enregistré dans la structure de données d'enregistrement 25 étendue 9. Pour retourner la réponse aux clients, le moteur de gestion de contenu 3 peut utiliser une unité d'échange de données 11 pour générer une représentation uniforme du contenu des dispositifs clients 7, quels que soient les types de contenu compris dans les enregistrements récupérés de la structure de données d'enregistrement étendue 9. Le moteur de gestion de contenu 3 joue donc le rôle d'un agrégateur d'applications pour fournir des services aux clients utilisateurs 7. Dans une forme de réalisation préférée de l'invention, le système de gestion de contenu 100 peut être un Système de Gestion de Voyages. Le système de gestion de voyages 3021787 11 100 peut être mis en oeuvre par un opérateur intermédiaire (par exemple, un Système de Distribution Mondial (GDS) dans le domaine des voyages) pour permettre une gestion centralisée du contenu du voyage, implémentée par exemple par un GDS (acronyme pour "Global Distribution System" (Système de Distribution Mondial)). 5 La Figure 3 présente un environnement de fonctionnement représentatif 10 d'un tel système de gestion de contenu 100 mis en oeuvre dans un GDS 1. Dans cette forme de réalisation, le contenu standard fait référence au contenu GDS compatible avec les contraintes IATA (tel que des données aériennes, ferroviaires) fourni par des systèmes de fournisseurs de voyages standard 4, tandis que le contenu non-standard peut être un type 10 quelconque de contenu non GDS qui ne satisfait pas aux contraintes IATA (par exemple, la location de véhicules) fourni par des systèmes de fournisseurs de voyages non-standard 5 ou réservé en dehors du système GDS. La structure de données d'enregistrement standard 90 peut être une structure de données PNR standard (également appelée ci-après "PNR standard", PNR étant l'acronyme de "Passenger Name Record" (Enregistrement du Nom du 15 Passager)) qui est configurée pour stocker du contenu standard tandis que la structure de données d'enregistrement non-standard 91 (également appelée ci-après "PNR non-standard") est configurée pour enregistrer de façon dynamique tout type de contenu non-standard sans qu'il soit nécessaire que les types et attributs du contenu non-standard soient prédéfinis par un codage matériel des mécanismes de mappage et de compilation des données. Le PNR 20 standard 90 comporte généralement un ensemble complet de données pour un itinéraire de voyage, incluant des segments provenant de porteuses multiples, avec des structures de données prédéfinies (types, attributs, familles) et/ou d'autres services constituant le voyage, tels que les réservations d'un hôtel et d'un véhicule de location. La structure de données d'enregistrement étendue 9 forme un Enregistrement de 2 5 Voyage Etendu (également appelé ci-après "ETR" ("Extended Travel Record")), où chaque enregistrement de contenu peut être manipulé de manière fluide par le moteur de gestion de contenu 3 quel que soit le type de contenu associé à l'enregistrement. Les dispositifs clients 7 peuvent être associés à une pluralité de systèmes d'agences de voyages 700 demandant des services via des interfaces clientes respectives 2. Plus 3 0 particulièrement, le système de gestion de voyages 100 peut également accéder à différents types de dispositifs clients soumettant différents types de demandes selon une approche client/serveur, tels que des dispositifs de voyageurs 6 via des interfaces utilisateurs 3021787 12 respectives 2 ou même des systèmes de fournisseurs de voyages 4 ou 5 (par exemple, pour l'échange de contenus stockés dans l'Enregistrement de Voyage Etendu 9). Les systèmes de fournisseurs de voyages standard 4 peuvent inclure une pluralité de systèmes de compagnies ou systèmes de voyageurs. Les systèmes de fournisseurs de produits 5 de voyages non-standard 5 peuvent inclure des systèmes de location de véhicule, des systèmes de réservation de musée, etc. Lorsqu'ils sont implémentés, les systèmes de compagnies peuvent inclure un Système de Réservation par Ordinateur (CRS, "Computer Reservation System") et/ou un système de facturation pour la ligne aérienne concernée, qui permet le GDS 1. Les systèmes d'agences de voyages 700 peuvent être configurés pour 10 réserver et payer pour des billets de voyages et/ou des services additionnels offerts par des fournisseurs de voyages non-standard 5. Certains systèmes de fournisseurs de voyages standard 4 peuvent également interagir entre eux, soit directement soit via le GDS 1, pour permettre à une compagnie émettrice de vendre des billets pour des sièges fournis par une compagnie exploitante. La compagnie exploitante peut alors facturer la compagnie émettrice 15 pour les services fournis. Le GDS 1 peut être configuré pour faciliter la communication entre les fournisseurs de voyages 4 et 5 et les systèmes d'agences de voyages 700 en permettant aux agents voyagistes, aux compagnies émettrices, ou à d'autres vendeurs indirects de rechercher des segments disponibles et d'effectuer des réservations sur un ou plusieurs systèmes de 20 compagnies 4 et de rechercher et réserver des services additionnels (par exemple, location de véhicule, billets de musées, etc.) via le GDS 1. Chaque système d'agence de voyages 70 peut inclure un serveur Web qui fournit un site Web accessible au public. Ce site Web peut être configuré pour offrir un accès à des fonctionnalités de planification de voyage, telles que la possibilité de rechercher des produits 25 de voyage concordant avec une demande concernant un voyage. A cette fin, le système d'agence de voyages 70 peut fournir au voyageur un accès à des données provenant d'une ou plusieurs bases de données hébergées par le GDS 1, les fournisseurs de voyages 4 et 5, et le système d'agence de voyages 70. Dans une autre forme de réalisation de l'invention, le système d'agence de voyages 70 peut être un système propriétaire qui limite l'accès aux 30 fournisseurs de services de voyages ou aux agents voyagistes, auquel cas un accès peut être fourni via un site Web privé ou une autre application. Les voyageurs ou les agents voyagistes peuvent utiliser le système d'agence de 3021787 13 voyages 70 pour générer et/ou rechercher des propositions de voyage qui satisfont à une demande concernant un voyage reçue du voyageur à l'aide d'une application spécifique relative aux voyages (par exemple, une application de planification de voyage). Des dispositifs de voyageurs 6 peuvent être connectés directement au système de 5 gestion des voyages 100 via un réseau publique ou privé 13 (par exemple, l'Internet). Le dispositif de voyageur 6 peut être un quelconque système informatique approprié configuré pour communiquer sur le réseau 13 avec le système de gestion de voyages 100. Par exemple, le dispositif de voyageur 6 peut comprendre un ordinateur de bureau, un ordinateur portable ou une tablette, un téléphone intelligent, ou tout autre dispositif informatique qui permet à un 10 voyageur de rechercher et de réserver des services de voyages sur le réseau 20. Dans une forme de réalisation de l'invention, le dispositif de voyageur 6 peut inclure une application de navigateur Web qui communique avec une application de services Web hébergée par le moteur de gestion de contenu 3 du système de gestion de voyages 100 pour soumettre des demandes de voyages en fonction de l'application de services Web. 15 D'une autre manière, le dispositif de voyageur 6 peut inclure une application de navigateur Web qui communique avec une application de services Web hébergée par le système d'agence de voyages 70. L'application de services Web peut, quant à elle, communiquer avec le système de gestion de voyages 100 pour soumettre les demandes de voyage en fonction de l'application de services de voyage. 2 0 Les demandes de voyages peuvent être soumises, par exemple, pour obtenir des données apparentées à des segments de voyages disponibles, pour générer des propositions de voyage qui satisfont à la demande de voyage et/ou pour réserver des services auxiliaires (par exemple, location de véhicule, réservation de jet-ski, réservation de billet de musée, etc.) correspondant au contenu non-standard fourni par des fournisseurs non-standard 5, en 2 5 liaison avec un voyage fourni via le GDS 1 ou via un autre GDS. En référence maintenant à la Figure 4, le GDS 1, le système de gestion de voyages 100, les systèmes de fournisseurs de voyages 4 et 5, les systèmes d'agences de voyages 70, les dispositifs de voyageurs 6 de l'environnement d'exploitation 10 peuvent être implémentés sur un ou plusieurs dispositifs ou systèmes informatiques, appelés 30 collectivement ordinateur, tel que l'ordinateur 30. L'ordinateur 30 peut comporter un processeur 32, une mémoire 34, un dispositif de mémoire de stockage de masse 36, une interface d'entrée/sortie (I/O) 38 et une Interface Homme-Machine (IHM) 40. L'ordinateur 3021787 14 30 peut également être couplé de manière fonctionnelle à une ou plusieurs ressources externes 42 via le réseau 22 et/ou une interface I/O 38. Des ressources externes peuvent inclure, mais sans y être limitées, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau à base de nuage, ou 5 toute autre ressource informatique appropriée qui peut être utilisée par l'ordinateur 30. Le processeur 32 peut inclure un ou plusieurs dispositifs sélectionnés parmi les microprocesseurs, les microcontrôleurs, les processeurs de signaux numériques, les micro-ordinateurs, les unités centrales de traitement, les réseaux prédiffusés programmables par l'utilisateur, les dispositifs logiques programmables, les machines d'état, les circuits 10 logiques, les circuits analogiques, les circuits numériques, ou d'autres dispositifs qui manipulent des signaux (analogiques ou numériques) en fonction d'instructions d'opérations qui sont stockées dans la mémoire 34. La mémoire 34 peut inclure un seul dispositif mémoire ou une pluralité de dispositifs mémoire incluant, mais sans y être limités, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire volatile, une mémoire non 15 volatile, une mémoire à accès aléatoire statique (SRAM), une mémoire à accès aléatoire dynamique (DRAM), une mémoire flash, une mémoire cache, ou tout autre dispositif capable de stocker des informations. Le dispositif de mémoire de stockage de masse 36 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un disque optique, un lecteur de cassette, un dispositif à semi-conducteurs non volatile, ou tout autre dispositif 20 capable de stocker des informations. Une base de données 44 peut résider sur le dispositif de mémoire de stockage de masse 36, et peut être utilisée pour collecter et organiser des données utilisées par les différents systèmes et modules décrits ici. Le processeur 32 peut fonctionner sous la commande d'un système d'exploitation 46 qui réside dans la mémoire 34. Le système d'exploitation 46 peut gérer des ressources 25 informatiques de telle sorte qu'un code de programme informatique intégré sous la forme d'une ou plusieurs applications logicielles, telles qu'une application 48 résidant dans la mémoire 34, peuvent avoir des instructions exécutées par le processeur 32. Dans une autre forme de réalisation, le processeur 32 peut exécuter l'application 48 directement, auquel cas le système de fonctionnement 46 peut être omis. Une ou plusieurs structures de données 50 30 peuvent également résider dans la mémoire 34, et peuvent être utilisées par le processeur 32, le système d'exploitation 46 et/ou l'application 48 pour le stockage ou la manipulation de données. 3021787 15 L'interface I/O 38 peut fournir une interface machine qui couple fonctionnellement le processeur 32 à d'autres dispositifs et systèmes, tels que le réseau 22 et/ou une ressource externe 42. L'application 48 peut ainsi travailler en coopération avec le réseau 22 et/ou une ressource externe 42 en communiquant via l'interface I/O 38 pour fournir les différentes 5 particularités, fonctions, applications, processus et/ou modules comprenant des formes de réalisation de l'invention. L'application 48 peut également avoir un code programme qui est exécuté par une ou plusieurs ressources externes 42, ou autrement s'appuyer sur des fonctions et/ou signaux fournis par d'autres composants système ou réseau externes à l'ordinateur 30. En effet, étant donné la presque infinité de configurations matérielles et 10 logicielles possibles, l'homme du métier comprendra que les formes de réalisation de l'invention peuvent inclure des applications qui sont situées à l'extérieur de l'ordinateur 30, distribuées sur plusieurs ordinateurs ou d'autres ressources externes 42, ou fournies par des ressources informatiques (matérielles ou logicielles), sous la forme d'un service sur le réseau 22, tel qu'un service informatique en nuage. 15 L'interface IHM 40 peut être couplée de manière fonctionnelle au processeur 32 de l'ordinateur 30 d'une manière connue, pour permettre à un utilisateur de l'ordinateur 30 d'interagir directement avec l'ordinateur 30. L'interface IHM 40 peut inclure des écrans vidéo et/ou alphanumériques, un écran tactile, un haut-parleur, et tout autre indicateur audio et visuel approprié capable de fournir des informations à l'utilisateur. L'interface IHM 40 2 0 peut également inclure des dispositifs de saisie et des commandes tels qu'un clavier alphanumérique, un dispositif de pointage, des pavés numériques, des boutons poussoirs, des boutons de commande, des microphones, etc., capables de recevoir des commandes et données d'entrée en provenance de l'utilisateur et de transmettre les entrées introduites dans le processeur 32. 2 5 La description qui suit sera faite en référence au système de gestion de contenu 100 de la Figure 3, à titre d'exemple uniquement. Différents agents de voyages connectés au système de gestion de contenu 100 via des systèmes d'agences de voyages 70 respectifs peuvent donc accéder directement, via une plateforme unique, à tout type de contenu fourni par un ensemble de systèmes de 30 fournisseurs de voyages (4, 5), quel que soit le type de contenu (tel que du contenu de ligne aérienne standard, des taxis, des billets de spectacle, etc.). Le Système de Gestion de Voyages 100 offre donc la possibilité de stocker non seulement du contenu standard 3021787 16 compatible avec la structure de données PNR standard 90, mais également tout nouveau type de contenu (à savoir, courses de taxi, billet de théâtre, concert, cadeaux, etc.) tout en rendant inutile que les agences de voyages réservent un tel contenu non-standard en dehors du système GDS par téléphone, ou par Internet, etc. 5 Grâce à l'ajout d'un PNR non-standard 91 au PNR standard 90, le système de gestion de voyages peut fournir de manière dynamique et fluide un nombre illimité de services de voyages aux systèmes d'agences de voyages 70. L'Enregistrement de Voyage Etendu à deux couches 9 forme donc une représentation de contenu structurée fournie par un quelconque système de fournisseur de 10 voyages 4 ou 5 (il peut correspondre par exemple à un produit réservé en dehors du GDS), tandis que les enregistrements enregistrés dans l'ETR 9 peuvent être accédés et gérés comme si le PNR standard 90 et le PNR non-standard 91 formaient une unique structure de données d'enregistrement. Un élément de données standard (par exemple, un produit) dans le PNR standard 15 90 est associé à un ensemble d'attributs qui peuvent être qualifiés comme étant optionnels ou obligatoires en fonction de la topologie et du format mis en oeuvre dans le GDS 1 pour être compatible avec la norme IATA. Les données enregistrées dans l'Enregistrement de Voyage Etendu 9 peuvent être classifiées en une pluralité de familles, chaque famille comprenant plusieurs types 2 0 d'éléments de données comme, par exemple, les 5 familles représentées dans le Tableau 1. L'ETR 9 est adapté pour prendre en charge un nombre quelconque de nouveaux types et nouvelles familles d'éléments de données. Tableau 1 Déplacements Nuitées Repas Activités Services Air Hôtel Restaurant Activités sportives Assurance Ferry Appartement Bar & Club Boutiques Visa Croisière Camping Autre Spectacles & Sp Cadeaux Evénements Rail B&B Excursions Documentation 3021787 17 Autocar Autre Visites Equipement de loisirs Transports urbains Autre Services locaux Transfert Réunion Taxi Vaccin Voiture Autre Vélo Parking Le moteur de gestion de contenu 3 est configuré pour gérer du contenu hétérogène de l'ETR 9 qui peut comprendre : - l'ajout de nouveaux éléments de données provenant de tout système de fournisseur 5 de voyages 4 ou 5 dans l'enregistrement de voyage étendu 9, quel que soit le type de contenu, par exemple en réponse à des demandes émanant de systèmes d'agences de voyages 70; - la modification d'éléments de données dans l'enregistrement de voyage étendu 9 (par exemple par changement de la date de début d'un produit "Musée" correspondant à une pré-réservation de deux entrées pour un Musée); 10 - l'effacement d'éléments de données de l'enregistrement de voyage étendu 9 (par exemple par suppression du Produit "Musée" de l'enregistrement de voyage étendu si un utilisateur a décidé de retirer ce produit de son voyage à New-York). - la récupération d'éléments de données auprès de l'enregistrement de voyage étendu 9 (par exemple par récupération de tous les attributs structurés du produit "Musée" dans un 15 enregistrement de voyage spécifique). L'Enregistrement de Voyage Etendu (9) peut donc stocker du contenu non-standard et du contenu standard comme s'ils faisaient partie d'une unique structure de données d'enregistrement (PNR). Le moteur de gestion de contenu 3 gère le contenu hétérogène enregistré dans l'enregistrement de voyage étendu 9, d'une manière transparente pour les 2 0 clients utilisateurs. L'enregistrement de voyage étendu 9 est en outre flexible et adapté à tout type de nouveau contenu (taxi, métro, bus, billetterie de musée, etc.), quels que soit les 3021787 18 attributs associés au nouveau contenu. Le PNR standard 90 est organisé selon la norme IATA. Lorsqu'un ensemble donné d'éléments de données est transmis par un système de fournisseur de voyages standard 4 au moteur de gestion de contenu 3 via un message selon le premier format d'échange de 5 messages 14 dans un flux d'applications associé à un service donné (par exemple, un flux de gestion de réservation), les étapes suivantes peuvent être exécutées par le moteur de gestion de contenu 3 : i. les données peuvent être extraites par le moteur de gestion de contenu 3 à partir du message entrant transmis par le système de fournisseur de voyages standard 4, et 10 ii. un enregistrement peut être ajouté dans le PNR standard 90, l'enregistrement comprenant un identifiant d'enregistrement en association avec les éléments de données correspondant aux données extraites par le moteur de gestion de contenu 3 (données de contenu). Les données ainsi obtenues peuvent être utilisées pour construire un autre message à 15 envoyer à une application suivante dans le flux d'applications. Lorsque le flux d'applications met en jeu un ensemble d'applications internes chaînées, l'étape i. peut être effectuée par une application interne donnée dans le flux d'applications, tandis que l'étape ii. peut être déclenchée par une autre application du flux. Les données ajoutées dans le PNR standard 90 peuvent avoir uniquement un nombre 2 0 limité d'attributs prédéfinis et doivent respecter un ou plusieurs types et formats prédéfinis (attributs normalisés). Le PNR non-standard 91 n'est pas compatible avec les règles et les contraintes historiques de la norme (définition de contenu IATA, messages TTY, messages TATA). Cependant, le contenu non-standard peut faire partie de l'Enregistrement de Voyage Etendu 9 2 5 et être accédé de manière fluide et transparente par les applications exécutées par le moteur de gestion de contenu 3. L'Enregistrement de Voyage Etendu 9 peut donc stocker tout type de contenu standard (par exemple, du contenu GDS tel que vol, hôtel, véhicule, croisière, assurance, ferry) et de contenu non-standard (tels que bus/taxi/restaurant/etc.) d'une manière structurée 3 0 et dans un format universel. 3021787 19 Pour la gestion dynamique de tout type de contenu, le moteur de gestion de contenu 3 est configuré pour créer un conteneur de données non-standard en réponse à du contenu reçu comprenant des éléments de données non-standard transmis au système de gestion de voyages 100 par des systèmes de fournisseurs de contenu non-standard 5. Le conteneur de 5 données non-standard peut s'adapter de manière dynamique au format de l'application interne du système de gestion de contenu qui reçoit l'élément de données en raison des propriétés d'auto-sérialisation du conteneur de données non-standard. Lorsque l'application interne réceptrice est une application d'un flux d'applications mettant en jeu un ensemble d'applications chaînées (applications internes), le conteneur de données non-standard peut 10 s'adapter de manière dynamique au format de chaque application interne à laquelle il est transmis à l'aide des propriétés d'auto-sérialisation du conteneur de données non-standard. Plus spécifiquement, lorsque le Système de Gestion de Voyages 100 se connecte à un nouveau fournisseur de voyages 5 fournissant un type de contenu non-standard, les éléments de données non-standard reçus du système de fournisseur de contenu non-standard 5 15 peuvent être stockés dans ce conteneur de données non-standard assigné au type de contenu non-standard. Un enregistrement peut ensuite être ajouté dans la structure de données d'enregistrement non-standard 91 par une application interne (par exemple dans un flux d'applications). L'enregistrement peut comprendre un identifiant d'enregistrement et le conteneur de données non-standard ayant le type de contenu non-standard. Le conteneur de 20 données non-standard peut comprendre une liste d'attributs, chaque attribut étant représenté par une clé et une valeur. Chaque attribut peut lui-même comprendre une liste de sous-attributs, qui sont chacun représentés par une clé et une valeur (de manière similaire pour les sous-attributs, etc.). Chaque clé d'attribut est associée à un nom et un type. Le conteneur de données non-standard est configuré pour s'auto-implémenter quelle(s) que soi(en)t la 25 structure qu'il représente ou les données qu'ils contient : pour un accès en lecture seule ou un accès en lecture/écriture (par exemple, obtenir ou paramétrer) d'une quelconque valeur de tout attribut qui fait partie du conteneur de données non-standard, le conteneur de données non-standard permet un tel accès via un procédé ne dépendant ni du nom de la clé ni du type de la clé, sans qu'il soit nécessaire de mettre en oeuvre des procédés d'obtention/paramétrage 30 par codage matériel. Le conteneur de données non-standard peut donc être utilisé pour créer un nouvel enregistrement dans le PNR non-standard 91, quel que soit le type de contenu. Cet 3021787 20 enregistrement peut être accédé de manière transparente par le moteur de gestion de contenu 3, pour tout type d'actions de gestion de contenu, par exemple pour exécuter des applications de voyages, générer un affichage de résultat de demande de service sur les dispositifs clients 7, ou transmettre du contenu à des dispositifs externes (par exemple, des systèmes de 5 fournisseurs de voyages ou des dispositifs de voyages). En référence maintenant à la Figure 5, celle-ci présente un organigramme qui décrit un procédé pour la création d'un nouvel enregistrement dans l'Enregistrement de Voyage Etendu 9 en réponse à un contenu reçu en provenance d'un ou plusieurs systèmes de fournisseurs de voyages. 10 Au bloc 501, le moteur de gestion de contenu 3 peut recevoir du contenu en provenance d'un ou plusieurs fournisseurs de voyages 4, 5 par l'intermédiaire de formats d'échange de messages 14 et/ou 15, par exemple en réponse à une demande de service émanant d'un dispositif client 7, tel qu'un système d'agences de voyages. Le contenu peut comprendre une pluralité d'éléments de données apparentés, par 15 exemple des éléments de données relatifs à un même voyage, tels qu'un produit de type Vol (élément de données standard) et un produit de type Taxi (contenu non-standard) reçus de manière séquentielle. Les éléments de données associés à un contenu commun peuvent être reçus de manière séquentielle ou en parallèle. Les éléments de données peuvent comprendre des informations permettant d'identifier qu'ils font partie d'un même contenu commun. 2 0 Les éléments de données peuvent comprendre des éléments de données standard (par exemple, un produit de type Vol) et/ou des éléments de données non-standard (par exemple, un produit de type Taxi). Les éléments de données standard (par exemple, du contenu GDS) peuvent être reçus selon le premier format d'échange de messages 14 tel que le format TTY. 2 5 Les éléments de données non-standard peuvent être reçus par l'unité d'échange de données 11 sous la forme d'un message défini selon un langage de description de balises tel que le langage XML selon le deuxième format d'échange de messages 15. La description qui suit sera faite en référence au message XML (également appelé document ou fichier XML) pour un échange de données entre le système de gestion de voyages 100 et des systèmes 3 0 externes. Le message d'échange de données peut comprendre un fichier de description de structure pour décrire la structure du message et les types et formats des données contenues 3021787 21 dans le message. Par exemple, pour des messages d'échange de données du type XML, XML XSD, des schémas tels que des fichiers de description de structure peuvent être utilisés pour fournir une représentation de la structure des attributs du message XML. Au bloc 502, pour chaque élément de données reçu pour le contenu commun, le 5 moteur de gestion de contenu 3 peut extraire les éléments de données. L'extraction de contenu peut être effectuée par une application interne du moteur de gestion de contenu 3. Si l'élément de données correspond à un contenu standard (par exemple, un produit de type Vol), le moteur de gestion de contenu 3 crée un enregistrement R dans le PNR standard (90) pour le contenu standard (par exemple, produit de type Vol) à l'aide d'un 10 conteneur de données standard (également appelé ci-après "conteneur standard") au bloc 503 ayant le type d'élément de données (par exemple, le type Vol). Le conteneur de données standard peut être un conteneur statique configuré pour des types d'éléments de données prédéfinis (éléments de données standard). L'enregistrement R peut se voir assigner un identifiant d'enregistrement I et peut être associé au conteneur de données 15 standard au bloc 505. L'enregistrement peut être sauvegardé dans un contexte temporaire et/ou dans au moins une base de données 8. Si l'élément de données correspond à un contenu non-standard (par exemple, un produite de type Taxi), le moteur de gestion de contenu 3 crée un enregistrement R dans le PNR non-standard (90) pour le contenu standard (par exemple, produit de type Vol) en 20 utilisant le conteneur de données non-standard (également appelé ci-après "conteneur standard") au bloc 505. L'étape 505 peut être déclenchée par une application interne du flux d'applications. L'application interne déclenchant la création de l'enregistrement dans l'ETR peut être différente de l'application interne recevant l'élément de données non-standard de l'unité d'échange de données 11. Par exemple, une première application interne Al peut 25 recevoir l'élément de données non-standard au format F 1 de l'application Al, l'élément de données non-standard peut être transmis aux autres applications internes de la chaîne jusqu'à ce qu'il arrive à une application interne An au format Fn de l'application An, et finalement l'application An déclenche la création d'un enregistrement dans la structure de données d'enregistrement non-standard 91 (le conteneur de données non-standard ayant le 30 format Fn). Le conteneur de données non-standard peut se voir assigner au type de l'élément de données (par exemple, type Taxi). Le conteneur de données non-standard est adapté pour contenir tout type d'élément 3021787 22 de données (élément de données non-standard). L'enregistrement R peut se voir assigner le même identifiant d'enregistrement I et peut être associé au conteneur de données non-standard au bloc 506. L'enregistrement peut être stocké dans un contexte temporaire et/ou dans au moins une base de données. 5 Dans une forme de réalisation, le conteneur de données non-standard créé au bloc 506 peut en outre se voir assigner une étiquette au bloc 507. Cette étiquette peut être utilisée par le moteur de gestion de contenu 3 lors de l'accès à l'enregistrement R, par exemple pour identifier les éléments de données qui ne sont pas envoyés à des dispositifs clients 7. 10 Par conséquent, un identifiant d'enregistrement unique I peut être créé dans le PNR standard 90 et le PNR non-standard 91 pour tous les éléments de données standard et les éléments de données non-standard correspondant à un contenu commun (éléments de données apparentés). Cet identifiant d'enregistrement commun peut donc être partagé pour manipuler des enregistrements correspondant à des éléments de données hétérogènes, 15 comme s'ils étaient tenus dans une unique structure de données d'enregistrement. Par exemple, l'identifiant d'enregistrement I peut être utilisé par le moteur de gestion de contenu 3 pour permettre à une application de lire/écrire des éléments de données non-standard, quel que soit le type de données. Dans un exemple simplifié, l'Enregistrement de Voyage Etendu 9 peut par exemple 2 0 comprendre plusieurs enregistrements auxquels est assigné un identifiant d'enregistrement commun H , cet enregistrement ID1 étant associé en commun aux éléments de données suivants : - Elément de Données Standard Dl de type 1 - Elément de Données Standard D2 de type 2 2 5 - Elément de Données Standard D3 de type 3 Elément de Données Non-standard D4 de type 4 étiqueté Elément de Données Non-standard D5 de type 5 Elément de Données Non-standard D6 de type 2 étiqueté. Les enregistrements des éléments de données Dl, D2, D3 sont enregistrés dans la 3 0 structure de données d'enregistrement standard 90 en association avec l'identifiant d'enregistrement ID1. 3021787 23 Les enregistrements pour les éléments de données D4, D5, D6 sont enregistrés dans la structure de données d'enregistrement standard 90 en association avec l'identifiant d'enregistrement ID1 (dans des conteneurs de données non-standard). Le conteneur de données standard utilisé pour contenir des éléments de données 5 standard est spécifiquement adapté pour contenir des éléments de données ayant un type prédéfini et paramétrer des attributs en fonction de la norme IATA. Le conteneur de données standard est donc uniquement adapté aux formats de données et types de données normalisés. Le conteneur de données non-standard peut être créé quels que soient le type, les attributs et le format des éléments de données non-standard. Chaque attribut peut lui-même 10 comprendre un certain nombre de sous-attributs. Le moteur de gestion de contenu 3 utilise par conséquent le conteneur de données non-standard pour créer de manière dynamique un nouveau type de contenu dans l'Enregistrement de Voyage Etendu (9), quel que soit le type de contenu. Le conteneur de données non-standard peut être un conteneur de données 15 polymorphe qui, à la différence d'un conteneur standard, n'est pas codé par codage matériel en le code pour un élément donné. En revanche, la forme qu'il prend peut être définie de manière dynamique. Le conteneur de données non-standard peut également avoir des propriétés d'autosérialisation/désérialisation. 2 0 Dans certaines formes de réalisation, le conteneur de données non-standard peut être un objet technique représenté par un Modèle d'Objet Métier 21 de l'application interne qui le manipule, ce qui facilite l'intégration d'un nouveau contenu dans l'Enregistrement de Voyage Etendu 9. La Figure 6 représente de manière schématique la structure d'une application interne 2 5 du moteur de gestion de contenu 3 selon certaines formes de réalisation de l'invention, dans lesquelles le conteneur de données non-standard est un Modèle d'Objet Métier 21. L'application interne peut être une application autonome ou une application dans une chaîne d'applications (formant des applications apparentées). L'application interne comprend : 3 0 - des interfaces structurées 2, 3021787 24 - un Modèle d'Objet Métier 21, - une Couche Métier 22. Les interfaces structurées 2 représentent la manière dont les applications communiquent entre elles. Les interfaces structurées peuvent transporter les données 5 fonctionnelles que les applications peuvent traiter. Elles peuvent être mappées sur le modèle d'objet métier 21 qui est utilisé par la couche métier 22 pour effectuer des actions de validation et fonctionner. Une action de validation correspond à des vérifications fonctionnelles effectuées par la couche métier 22 sur les données en plus des vérifications grammaticales. Les éléments de données peuvent être insérés dans la structure de données 10 d'enregistrement étendue 9 d'une manière structurée après validation. Par conséquent, une modification des structures de données du PNR étendu 9 peut mettre en jeu une modification du Modèle d'Objet Métier 21 de l'application et une modification de ses interfaces structurées. En outre, pour tirer avantage des modifications de structure de données, les autres applications apparentées possibles peuvent également avoir 15 besoin d'adapter leur Modèle d'Objet Métier 21, leurs interfaces structurées 2 et d'intégrer la nouvelle version du modèle de données dans les autres interfaces de modules. Les différentes formes de réalisation de l'invention permettent de limiter les coûts associés à une telle modification en utilisant le modèle de conteneur de données non-standard. 2 0 Des applications de services de voyages fonctionnant dans le moteur de gestion de contenu 3 peuvent fonctionner selon le schéma de la Figure 7. Le BOM 21 représente le Modèle d'Objet Métier 21 utilisé pour représenter le modèle de données interne utilisé par l'application. Le Service 210 représente un quelconque message structuré reçu par le système de 2 5 gestion de voyages 100 (tel qu'un message XML ou Edifact) en provenance d'un dispositif client 7, un fournisseur de voyages non-standard 5 ou un dispositif de voyageur 6 qui peut être déclenché par l'application. Le serveur de Contexte 211 représente le stockage Contextuel des données (également appelées "contexte") utilisées par l'application entre des interactions 3 0 asynchrones avec d'autres applications. Les données du contexte peuvent être sauvegardées dans la base de données 8 en 3021787 25 réponse à une demande, périodiquement ou selon certaines conditions. La Figure 8 illustre les interactions entre des applications chaînées Al à AN dans le moteur de gestion de contenu 3, en fonction de certaines formes de réalisation. Lorsque le système de gestion de voyages 100 est mis en oeuvre selon une architecture distribuée, les 5 applications internes chaînées Al à AN en charge des processus peuvent alors s'appeler mutuellement, ce qui peut entraîner plusieurs duplications de l'architecture 7 dans plusieurs serveurs d'application (30) (également appelés "serveurs principaux"), chaque serveur d'application 30 étant associé à une application chaînée respective Ai. A chaque étape de la chaîne de processus, dans des approches conventionnelles, les données qui sont 10 transportées du premier serveur principal 30 pour l'application Al au dernier serveur 30 pour l'application An sont transformées, codées et décodées de différentes manières avant de passer d'un serveur 30 à un autre au milieu des processus. Chaque serveur principal 30 décode ensuite les éléments de données entrants et valide les données pour son processus dédié avant d'accéder aux éléments de données. Ensuite, les données sont codées pour être 15 transmises à l'application suivante Ai÷i de la chaîne. En outre, le Modèle d'Objet Métier 21 peut être mis en jeu dans le processus de remplissage et de récupération d'informations dans ou depuis les interfaces structurées 2 et peut être utilisé pour écrire/lire des données. Dans des approches classiques, il faut des composants à codage manuel pour écrire/lire des données dans/depuis les interfaces structurées 2 et dans le référentiel d'enregistrement 2 0 central. Par conséquent, un seul changement dans le modèle de données peut être coûteux. En outre, les éléments de données que les applications manipulent ont généralement beaucoup de contraintes fonctionnelles, de sorte que chaque application peut avoir besoin de s'assurer que les données manipulées soient dans un format approprié, compatible avec les contraintes de l'industrie (validation). 2 5 En conséquence, dans des approches classiques, à chaque fois qu'un élément de données doit être modifié dans ces applications chaînées, toutes les étapes du processus peuvent être impactées car chaque processus doit transmettre les nouvelles données au processus suivant et devra donc les décoder, les valider et les coder. De plus, lorsqu'un nouveau contenu doit être ajouté à une application existante, chaque processus doit en outre 3 0 transmettre le nouveau contenu au processus suivant et chaque processus de la chaîne doit décoder, valider et coder le nouvel élément. L'invention selon certaines formes de réalisation améliore la situation en utilisant 3021787 26 la propriété d'auto-sérialisation du conteneur de données non-standard de type BOM. En particulier, un conteneur de données non-standard peut être créé par une première application Al de la chaîne, en réponse à la réception d'éléments de données Dl, D2 et D3 en provenance de fournisseurs de contenu non-standard 5. Ce contenu non- 5 standard ne peut pas être stocké tel quel dans le PNR standard 90 car il ne comprend pas de types et attributs de données compatibles avec la structure standard du PNR 90. Le contenu non-standard peut prendre différentes formes et être associé à différents types et attributs. La première application Al peut créer par exemple le conteneur non-standard pour chaque élément de données non-standard Dk au format Fl de la première application interne 10 Al (par exemple, Tampons de Protocole). La première application Al fait ensuite passer le conteneur non-standard vers l'application suivante de la chaîne à l'aide d'un message M1 utilisant les propriétés d'auto-sérialisation/désérialisation du conteneur non-standard. Le message MI peut être un grand objet binaire transportant des informations d'autosérialisation/désérialisation. La deuxième application A2 peut ensuite extraire le conteneur 15 de données non-standard au format F2 de l'application interne A2. De manière similaire, la deuxième application peut transmettre le conteneur non-standard aux autres applications de la chaîne à l'aide de messages M2, M3, etc. transportant les informations d'autosérialisation/désérialisation jusqu'à ce qu'une application An déclenche la création d'un enregistrement dans l'ETR 9. 2 0 Par conséquent, grâce à l'utilisation d'un conteneur de données non-standard, aucun changement de données n'est requis pour l'ajout de nouvelles structures de données à l'ETR 9, la mise à jour de la structure de données ou la transmission d'un élément de données dans une chaîne d'applications internes. En outre, il n'est pas nécessaire de modifier des structures de données existantes. Les données contenues par le conteneur de données non- 2 5 standard peuvent être rendues disponibles sans qu'il soit nécessaire de les extraire et de les convertir d'un format en un autre. Les couches intermédiaires/codées manuellement peuvent donc être réduites. Tel que décrit dans l'exemple de la Figure 9, un conteneur de données non-standard 50 peut être défini par un ensemble de valeurs de clés qui décrivent un Modèle 3 0 d'Objet Métier qui peut être manipulé par des applications. Chaque clé 51 définit un attribut du BOM et comprend une valeur associée 52 (également appelée "données" sur la Figure 9). Par exemple, le conteneur de données non-standard défini par la clé "ville" est associé à 3021787 27 la valeur "Paris". Le conteneur de données peut comprendre des structures complexes et être associé à toute sorte de données. Par exemple, une ou plusieurs clés du conteneur de données peuvent en outre être associées à une référence 53 (appelée "REF" sur la Figure 9), pour associer un conteneur de données donné à un ensemble de conteneurs de données 5 apparentés. Par exemple, le conteneur de données désigné par le couple clé/valeur "téléphone/+335551213" comprend une référence ("REF") aux conteneurs de données suivants: "mobile/+336123456" et "domicile/ +335551213". Le conteneur de données non-standard 50 permet l'accès au moteur de gestion de contenu 3 en mode écriture pour l'un quelconque des éléments de données contenus dans le 10 conteneur de données non-standard, sans qu'il soit nécessaire de développer un module d'accès pour permettre cet accès. Cela garantit la flexibilité et l'extensibilité. En outre, un accès à l'élément de données contenu dans le conteneur de données non-standard peut être effectué par le moteur de gestion de contenu 3 à tout instant d'un traitement par une application à l'aide de demandes selon un langage d'interrogation 15 approprié tel que Xpath. Le conteneur de données non-standard peut avoir une compatibilité descendante et montante en ce qui concerne la programmation. Du point de vue de la programmation, aucun changement de code n'est requis pour utiliser une nouvelle version des structures d'éléments de données associées au conteneur de données non-standard. 2 0 Le conteneur de données non-standard est configuré pour prendre en charge une sérialisation/désérialisation. En particulier, la sérialisation peut être exécutée au moment de la création et de la modification d'un ou plusieurs attributs du contenu non-standard pour coder le conteneur de données dans un format extensible et la désérialisation peut être effectuée à chaque fois qu'une application a besoin de lire au moins un attribut d'un contenu non- 2 5 standard. En particulier, les clés et valeurs du conteneur de données non-standard peuvent être sérialisées à tout instant par traduction de l'état de l'objet technique (par exemple, BOM) représentant le conteneur de données non-standard en un format (par exemple, une représentation binaire) qui peut être stocké et reconstruit par un mécanisme de désérialisation 3 0 pour restaurer le conteneur de données à son état d'origine. Le conteneur de données non- standard peut donc être transformé en tout format cible, quelles que soient les données 3021787 28 contenues dans le conteneur de données. Les mécanismes de sérialisation et désérialisation ne nécessitent pas un codage matériel. Des informations de sérialisation peuvent être intégrées dans une bibliothèque associée au Conteneur de Données. L'utilisation de ce BOM fournit donc nativement un mécanisme de sérialisation qui peut être pris en charge par toute sorte de 5 structure définie par les clés du conteneur de données non-standard, sans nécessiter de codage spécifique. Dans certaines formes de réalisation représentatives, le format de représentation du conteneur de données non-standard utilisé pour traduire son état selon les mécanismes de sérialisation/désérialisation peut se fonder par exemple sur les formats XML, ASCII, JSON, Binaires, tel qu'illustré sur la Figure 10. 10 La validation des valeurs du conteneur de données non-standard peut n'être nécessaire qu'au moment de la création et de la modification de l'élément de données représenté par l'objet conteneur de données non-standard. Par conséquent, aucun processus de lecture n'est requis pour revalider les éléments de données associés aux clés. A l'aide du conteneur de données non-standard, les informations relatives au type de 15 contenu (par exemple, transport aérien, taxi, manifestation sportive, parking, transport urbain, etc.) peuvent être transportées dans le conteneur de données non-standard lui-même. Le type de conteneur de données non-standard peut être stocké sous la forme d'une clé directement dans le conteneur de données non-standard. Dans certaines formes de réalisation, le mécanisme de validation à la création ou la 20 modification d'un conteneur de données non-standard donné peut être basé sur le type fonctionnel stocké dans l'élément de données non stocké sous la forme d'une clé au lieu d'un type C++ sous la forme d'approches classiques. Dans certaines formes de réalisation, chaque type de conteneur de données non-standard peut être associé à un fichier de description de structure (par exemple, XSD) 25 décrivant une structure d'attribut de l'élément de données (topologie d'attribut, dépendance d'attribut, et format d'attribut, etc.). Le fichier de description de structure (par exemple, XSD) représente en outre l'interrelation entre les attributs et les éléments d'un conteneur de données non-standard représenté sous la forme d'un objet technique (par exemple, un objet XML). Dans un schéma 3 0 XSD associé à un conteneur de données non-standard, les clés/valeurs différentes du conteneur de données non-standard et les contraintes auxiliaires qui lui sont appliquées 3021787 29 peuvent être décrites à l'aide d'un ensemble d'étiquettes XML. Les fichiers de description de structure peuvent être utilisés à la création et la modification de conteneurs de données non-standard. De plus, des contraintes auxiliaires peuvent être appliquées au conteneur de données non-standard à l'aide du fichier de description de structure (par exemple, XSD). 5 Le fichier de description de structure associé à chaque conteneur de données non- standard peut être utilisé pour valider les attributs du conteneur de données non-standard à la création ou la modification du conteneur de données non-standard. Le mécanisme de validation peut comprendre la vérification du fait que l'élément de données non-standard représenté par le conteneur de données non-standard adhère à la description de l'élément de 10 données dans lequel le contenu doit être placé. Dans certaines formes de réalisation, le mécanisme de validation peut être implémenté pour valider si les données stockées dans le conteneur de données non-standard correspond à un format cible à l'aide du fichier de description de structure associé au conteneur de données non-standard. Le système de gestion de voyages 100 peut contenir un tableau pour le stockage du 15 type de données du conteneur de données non-standard en correspondance avec le fichier de description de structure associé au conteneur de données non-standard. Le tableau peut être mis à jour au moment de l'exécution des processus. Le moteur de gestion de contenu 3 peut être configuré pour ajouter de nouvelles données dans un conteneur de données non-standard, par mise à jour des fichiers de 2 0 description de structure (par exemple, XSD) décrivant la structure du conteneur de données non-standard, comme par exemple de nouveaux attributs. Le fichier de description de structure (par exemple, XSD) définissant un conteneur de données non-standard peut être modifié sans avoir à effectuer un codage matériel des changements et à recompiler le code. La modification d'un conteneur de données non- 2 5 standard est donc dynamique et apte à être mise à jour au moment de l'exécution. La Figure 11 est une vue schématique des conteneurs de données non-standard représentatifs de la Figure 9, montrant leurs types respectifs : type Téléphone, type Adresse, type GPS. Le type d'information peut être stocké sous la forme d'un attribut dans le conteneur de données non-standard. Ces informations peuvent être utilisées pour récupérer 3 0 le fichier de description de structure associé à un conteneur de données non-standard. La Figure 12 illustre des fichiers de description XSD pour les exemples de 3021787 30 conteneurs de données non-standards de la figure 11 qui ont des types différents ("Type Téléphone", "Type Adresse", "Type GPS"). Selon certaines formes de réalisation, le moteur de gestion de contenu 3 peut générer en outre un ensemble d'interfaces de services internes 2 dans la plateforme unique 5 exposée par le Système de Gestion de Voyages 100 sur les dispositifs clients 7, quel que soit le type de contenu retourné à un dispositif client 7 et les applications entretenues par le moteur de gestion de contenu 3. L'Enregistrement de Voyage Etendu 9 peut être utilisé par un nombre considérable d'applications. Par exemple, le moteur de gestion de contenu 3 peut comprendre un 10 ensemble d'applications (par exemple, applications de voyages) pour délivrer différents types de services de voyages aux dispositifs clients 7 en fonction du contenu externe reçu de systèmes de fournisseurs de voyages standard 4 (par exemple, produits de ligne aérienne) et de tout autre système de fournisseur de voyages 5 (par exemple, des produits hors ligne aérienne), quel que soit le type de contenu. Ces services peuvent inclure par 15 exemple les services Boutiques, Réservations, Etablissement de prix, Assurance, Remboursement. Ces applications de services peuvent être exécutées en réponse à des demandes de services émanant de systèmes (par exemple, des systèmes d'agences de voyages 70) connectés au système de gestion de voyages 100 via un dispositif client 7, sans qu'il soit 20 nécessaire d'adapter chaque application aux N types de données ajoutées à l'ETR 9 par codage matériel. Les résultats peuvent être retournés via l'unité d'échange de données 11 à l'aide de messages de réponse dans un format donné tel que des messages XML. Les interfaces de services internes 2 générées par le système de gestion de voyages (100) peuvent donc être 2 5 du type XML. Pour rendre inutile le recodage et la recompilation de chaque application pour prendre en charge un nombre quelconque de nouveaux types de conteneurs de données non-standard, un élément générique ayant un type unique (type Elément Générique) peut être utilisé. L'élément générique est un méga-conteneur de données configuré pour contenir un 3 0 conteneur de données non-standard d'un type quelconque. L'élément générique peut être vu par toutes les applications de services comme un conteneur d'un type unique (appelé ci- 3021787 31 après "type Elément Générique") tandis que l'élément générique peut contenir un nombre illimité N de types de données non-standard. Chaque application peut donc instancier l'élément générique pour pouvoir manipuler les conteneurs non-standard d'une manière fluide, indépendamment du type de 5 l'élément de données contenu dans le conteneur de données. Par conséquent, chaque application n'a pas besoin d'instancier autant de conteneurs de données non-standard que de nouveaux types de données. En conséquence, l'ajout d'un nouveau type de contenu dans le PNR non-standard 91 n'impacte pas et ne nécessite pas l'adaptation aux applications traitées par le moteur de 10 gestion de contenu 3 pour assurer une compatibilité descendante (par exemple, un codage matériel). La Figure 13 est un organigramme décrivant l'accès aux enregistrements de l'ETR 9 ayant un identifiant d'enregistrement donné I par une application. Par exemple, l'identifiant d'enregistrement I peut comprendre : 15 - un élément de données standard SD1 de type Tl - un élément de données standard SD2 de type T2 - un élément de données non-standard NSD3, contenu dans un conteneur de données non-standard, de type T3 - un élément de données non-standard NSD4, contenu dans un conteneur de données 2 0 non-standard, de type T4. Au bloc 600, les enregistrements associés à l'identifiant d'enregistrement I sont récupérés auprès de l'ETR 9. Les enregistrements peuvent être associés à des éléments de données standard (SD1, SD2) et des éléments de données non-standard NSD3, NSD4 (conteneurs de données non-standard) ayant des types respectifs T1, T2, T3, T4. 25 Chaque élément de données SD1, SD2, NSD3 et NSD4 est ensuite traité séparément. En particulier, pour chaque élément de données tel que par exemple le NSD3, si l'élément de données est un élément de données non-standard (bloc 601), l'élément de données non-standard de type T3 est transformé en un élément générique d'un Type Elément Générique contenant l'élément de données non-standard de type T3 au bloc 602. L'élément 3 0 générique tel qu'un méga-conteneur de données peut contenir lui-même un conteneur de 3021787 32 données non-standard ayant un type spécifique. L'élément générique peut être implémenté sous la forme d'un objet technique tel qu'un BOM, et peut être basé sur la même technologie que le conteneur de données non-standard. Si l'élément de données est un élément de données standard (bloc 603) tel que par 5 exemple SD1, l'élément de données standard de type T1 peut être converti en un conteneur de données non-standard du même type T1 au bloc 604. Au bloc 602, l'élément de données non-standard ainsi obtenu est ensuite transformé en un élément générique d'un type Elément Générique unique contenant l'élément de données non-standard de type T1 correspondant à l'élément de données standard NSD1. 10 L'élément générique forme un état transitoire de l'élément de données non-standard, ce qui permet à l'application de manipuler les éléments de données standard et les éléments de données non-standard d'une manière fluide, quel que soit leur type. L'application peut donc manipuler les éléments de données de l'ETR 9 sans connaître explicitement le type du contenu non-standard comme s'ils avaient un type unique. 15 Au bloc 605, si l'exécution de l'application nécessite qu'un ou plusieurs éléments de données puissent être envoyés à l'interface du dispositif client 7 envoyant la demande de services, l'application peut inspecter l'élément générique pour accéder au type de l'élément de données. Dans certaines formes de réalisation de l'invention, les éléments de données non- 20 standard peuvent être associés à des étiquettes respectives. Dans ces formes de réalisation, au bloc 601, seuls les éléments de données non-standard associés à des étiquettes respectives peuvent être sélectionnés par l'application et transformés dans un élément générique. Par conséquent, l'élément générique abstrait le type des éléments de données non-standard: au lieu de définir un nouveau type d'élément à chaque fois qu'un nouveau type de 25 contenu doit être manipulé par les applications (nouveau contenu ajouté dans l'ETR 9), chaque application peut donc instancier un élément générique unique capable de prendre en charge de quelconques nouveaux type et attributs. En référence de nouveau à la Figure 3, le système de gestion de voyages 100 peut être adapté pour échanger tout type de données (contenu standard et non-standard) avec tout 30 type de dispositif client externe tel qu'un système d'agences de voyages 70, un système de fournisseur de voyages non-standard 5, et tout autre serveur principal à l'intérieur du même 3021787 33 GDS via les interfaces internes 2. Dans des approches conventionnelles, le système de gestion de voyages 100 peut échanger des données d'un PNR standard avec d'autres dispositifs clients cibles (par exemple, des systèmes de fournisseurs de voyages, des systèmes d'agences de voyages) ayant leur 5 propre standard pour le format du contenu PNR (format de contenu PNR cible) par implémentation d'une conversion à codage matériel vers le format standard pris en charge par l'interface du dispositif client cible. Cela nécessite un mécanisme de codage au niveau du système de gestion de voyages 100 et des mécanismes de décodage/validation au niveau du dispositif cible. Au lieu de cela, chaque système de gestion de voyages peut avoir son propre 10 standard pour le format du contenu PNR (format de contenu PNR source) et donc les interfaces des dispositifs cibles ne prennent en charge que ce format. Cette conversion (codage/décodage/validation) met actuellement en jeu un codage matériel et une recompilation, dans une approche coûteuse et statique. L'unité d'échange de données 11 permet la réception ou la transmission d'un message 15 d'échange de données à partir d'un dispositif client externe selon le deuxième format d'échange de données 15 pour échanger tout type de contenu. Dans une forme de réalisation préférée, le deuxième format d'échange de données 15 est un langage de description de balise tel que XML. Chaque message d'échange de données correspondant à un élément de données non-standard comprend un fichier de description de structure définissant les attributs de 2 0 l'élément de données (topologie et format des attributs), tels qu'un XSD pour des messages XML, et un ensemble de valeurs correspondant aux valeurs des attributs. La Figure 14 représente plus en détail la structure de l'unité d'échange de données 11 selon certaines formes de réalisation. L'unité d'échange de données 11 peut être utilisée pour échanger des éléments de 2 5 données avec un dispositif client externe, tel qu'un fournisseur de voyages non-standard 5, un système d'agences de voyages ou un autre système non GDS. En particulier, l'unité d'échange de données 11 peut être utilisée pour : - recevoir des éléments de données non-standard en provenance d'un dispositif client ; ou 3 0 - transmettre des éléments de données de l'ETR 9 à un dispositif client. L'unité d'échange de données 11 peut comprendre un moteur de transformation de 3021787 34 structure 111 tel qu'un moteur XSLT pour la transformation d'un fichier de description de structure tel qu'un XSD d'un fichier de description de structure source XSD1 en un fichier de description de structure cible XSD2 et un générateur de message d'échange de données 112 pour la transmission des données sous la forme d'un message défini selon un langage de 5 description tel que XML. Le moteur XSLT peut utiliser des règles de mappage locales prédéfinies 113 (par exemple, feuilles de style XSLT) définissant des règles de transformation pour la transmission d'un fichier de description de structure source XSD1 en mode réception ou des règles de mappage client prédéfinies 117 (par exemple, feuilles de style XSLT) définissant des règles de transformation pour la transformation d'un fichier de 10 description de structure source XSD1 en mode transmission. Le système de gestion de voyages 100 peut enregistrer ou charger de manière dynamique au moment de l'exécution un ou plusieurs fichiers de description de structure locaux prédéfinis 115 associés à des types de contenu différents et correspondant à des fichiers de description de structure à appliquer localement par le système de gestion de 15 voyages 100. En mode réception, l'unité d'échange de données 11 peut recevoir un message d'échange de données entrant XML1 d'un dispositif client externe 7 compatible avec un fichier de description de structure source XSD1 défini par le dispositif client externe 7. Le message entrant XML1 contient un élément de données non-standard d'un type donné Ti. 2 0 A chaque fois qu'un tel message d'échange de données entrant XML1 est reçu par le système de gestion de voyages 100 comprenant un élément de données non-standard, le moteur de transformation 111 peut transformer le fichier de description de structure XSD1 du message entrant en un fichier de description de structure cible XSD2 à l'aide des règles de mappage locales 113 associées au type de l'élément de données contenu dans le message 25 d'échange de données XML1. Le fichier de description de structure cible XSD2 est ensuite ajouté à l'ensemble de fichiers de description de structure locaux 115. L'unité d'échange de données 11 peut en outre appliquer un mécanisme de validation au message entrant XML1 avant la transformation du fichier de description de structure source XSD1 en le fichier de description de structure cible XSD2 pour valider un certain 3 0 nombre de conditions relatives aux attributs du fichier de description de structure XSD1 (par exemple présence d'attributs obligatoires). 3021787 Le conteneur de données non-standard du type Ti peut ensuite être généré par mappage des champs du message d'échange de données XML1 sur les primitives du conteneur de données non-standard. Le conteur de données non-standard est ensuite ajouté à l'ETR 9 en association avec le fichier de description de structure cible (XSD2) stocké en 115 5 pour le type Ti tel que décrit en relation avec la Figure 5. Toute mise à jour ou tout ajout de nouveau contenu dans l'ETR 9 peut être effectué au moment de l'exécution. L'utilisation de l'unité d'échange de données 11 permet donc de convertir de manière dynamique tout message d'échange de données entrant reçu des systèmes de fournisseurs de contenu 4, 5 en plusieurs objets de contenu de données non-standard représentant les 10 éléments à ajouter/modifier, sans nécessiter de changement de code. En mode transmission (pointillés), le système de gestion de voyages 100 peut transmettre un quelconque élément de données de l'ETR dans l'interface cible d'un dispositif client externe 7 via l'unité d'échange de données. En mode transmission, l'unité d'échange de données 11 reçoit en entrée un conteneur 15 de données non-standard (contenant un élément de données non-standard ou un élément de données standard du type Ti préalablement converti en un conteneur de données non-standard). Le conteneur de données non-standard de type Ti est associé à un fichier de description de structure (appelé fichier de description de structure source) comprenant une 20 description des attributs (clé) du conteneur de données non-standard, de la topologie des attributs et du format d'attribut, tel qu'un fichier XSD (115). Un conteneur de données non-standard est également associé à des valeurs de clé correspôndant aux valeurs des attributs. Si l'élément de données devant être transmis par le système de gestion de voyages 100 comprend un conteneur de données non-standard d'un type donné Ti provenant de l'ETR 25 9, le moteur de transformation 111 peut transformer le fichier de description de structure XSD3 associé au conteneur de données non-standard dans les fichiers de description de structure locaux 115 en un fichier de description de structure cible XSD4 à l'aide des règles de mappage client 117 associé au type de l'élément de données non-standard. Les règles de mappage client 117 définissent les règles de transformation vers le format de l'interface du 3 0 dispositif client cible 7, par exemple pour afficher les interfaces graphiques utilisateur (GUI) du dispositif client cible 7. 3021787 36 Si l'élément de données à transmettre au dispositif client 7 est un élément de données standard (par exemple, éléments GDS) du type Ti, l'élément de données standard peut être préalablement converti en un conteneur de données non-standard du même type à l'aide du convertisseur de conteneur de données 12. L'élément de données standard peut ensuite être 5 envoyé à l'unité d'échange de données 11 sous la forme d'un conteneur de données non-standard pour la transmission du dispositif client cible 7. La Figure 15 décrit un organigramme pour la transmission d'un élément de données de type Ti à l'interface cible d'un dispositif client 7 (Interface Graphique Utilisateur, GUI), selon certaines formes de réalisation. 10 Si l'élément de données est un élément de données standard (bloc 700), l'élément de données standard du type Ti peut être converti en un conteneur de données non-standard du même type Ti au bloc 701 (similaire au bloc 604 de la Figure 12). L'élément de données standard est ensuite traité au bloc 703 sous la forme d'un conteneur de données non-standard du type Ti, associé à un fichier de description de structure XSD1 et à des valeurs de clés Vi. 15 Si l'élément de données est un élément de données non-standard se présentant sous la forme d'un conteneur de données non-standard du type Ti (bloc 700) associé à un fichier de description de structure XSD1 et à des valeurs de clés Vi, l'élément de données non-standard de type Ti est traité directement au bloc 703. Au bloc 703, le fichier de description de structure source XSD1 associé au conteneur 2 0 de données non-standard est récupéré. Au bloc 704, le fichier de description de structure source XSD1 est converti en un fichier de description de structure cible XSD2 à l'aide du moteur de mappage 110 (par exemple, moteur XSLT) pour analyser le fichier de description de structure source XSD1 et convertir les champs analysés en un fichier de description de structure cible XSD2 à l'aide 2 5 des règles de mappage 113 (par exemple, feuilles de style XSLT). Les règles de mappage 113 sont définies selon le format de l'interface cible du dispositif client 7. Au bloc 705, le message XML contenant l'élément de données à transmettre au dispositif client est généré par ajout des valeurs Vi associées au conteneur de données non-standard. 3 0 Au bloc 706, le message XML est envoyé à l'interface cible du dispositif client 7 via le réseau 13. L'interface cible peut être adaptée de manière dynamique et transparente en 3021787 37 réponse à la réponse du message XML. Les dispositifs clients externes 7 peuvent en outre extraire l'élément de données contenu dans le message XML et le stocker selon son propre standard sans avoir besoin d'appliquer un mécanisme de décodage et de validation complexe aux données, quel que soit 5 le type des données et le format de l'interface cible. Grâce à l'utilisation de conteneur de données non-standard associé à des fichiers de description de structure (XSD) et ayant la capacité de se sérialiser sous la forme d'un message d'échange de données en un quelconque format 15 (par exemple, XML), un nouveau type d'interfaces 2 peut donc être construit. 10 Dans une forme de réalisation, l'unité d'échange de données 11 peut être utilisée par le moteur de gestion de contenu 3 pour générer de manière dynamique une représentation cohérente de résultats de demande sur l'interface d'un dispositif client 7 (par exemple, système d'agences de voyages) quel que soit le type de contenu (contenu standard, non-standard, mixte), avec aussi peu de logiciel à codage manuel que possible. 15 Les applications de services peuvent utiliser directement une structure de données homogène pour stocker les données dans les interfaces 2. Cela rend inutile l'échange entre les couches interfaces et les couches BOM d'encore un autre format de la structure de données. Cela permet en outre de réduire le surdébit entre les données stockées dans l'enregistrement de voyage étendu et la représentation des données dans les interfaces de services exposées 2 0 aux dispositifs clients 7 (par exemple, systèmes d'agences de voyages) via une plateforme unique. De manière spécifique, le procédé de la Figure 13 peut être appliqué pour générer une représentation de résultats en réponse à une demande de service émanant d'un dispositif client 7 (par exemple, système d'agence de voyages 70) et afficher cette représentation sur 2 5 l'interface graphique utilisateur associée au service sur l'interface du dispositif client, tout en assurant que la représentation soit homogène quel que soit le type de contenu (contenu standard ou contenu non-standard). Lorsqu'un identifiant d'enregistrement associé à un contenu non-standard et/ou un contenu standard est ajouté dans la Structure de Données d'Enregistrement Etendue 9, les 3 0 applications de services sont adaptées pour générer une représentation d'enregistrement de manière dynamique et homogène, quel que soit le nouveau type. 3021787 38 L'application du moteur de gestion de contenu 3 correspondant à la demande de service peut accéder aux enregistrements correspondant au résultat obtenu auprès de l'ETR selon le procédé d'accès de la Figure 12 à l'aide de l'élément générique. L'implémentation de l'accès aux conteneurs de données non-standard (50) sur la base 5 de l'élément générique unique quel que soit le type de contenu à renvoyer au dispositif client 7 permet à chaque application de prendre en charge tout type de contenu provenant de systèmes de fournisseurs de contenu non-standard 5. Les applications dans le moteur de gestion de contenu 3 sont donc indépendantes du type de contenu. Pour renvoyer les résultats à l'interface du système d'agence de voyages 70, 10 l'application peut inspecter l'élément générique pour accéder au conteneur de données non- standard (bloc 605 de la Figure 6). Le conteneur de données non-standard ainsi accédé peut donc être retourné selon le procédé de la Figure 14. Le moteur de gestion de contenu 3 est donc adapté pour fournir une plateforme unique à tous les dispositifs clients 7 comprenant un ensemble d'interfaces par service (par 15 exemple, service de voyage) représentant une réponse unique indépendamment du type de produits qui doit être manipulé (par exemple : produit de transport aérien GDS classique (vol) / location de véhicule GDS / taxi non GDS / restaurant non GDS...). Pour faciliter l'intégration d'un nouveau contenu dans une application, l'interface de services interne 2 associée à l'application peut avoir un ensemble d'attributs communs pour 20 chaque famille de contenu. Cela permet à des nouveaux éléments d'une famille de contenu déjà existante de tirer avantage de toutes les fonctions d'affichage disponibles pour la famille. De manière spécifique, la structure de données sous-jacente du Conteneur de Données non-standard (50) peut partager un format commun dans une catégorie d'élément spécifique. Par exemple, le fichier de description de format XSDi utilisé pour représenter un 25 élément de données du type segment ligne aérienne peut être le même indépendamment du fait qu'il a été réservé via le système de gestion de voyages (100) ou via un autre système de réservation externe. Il peut donc également partager un ensemble de données communes avec des éléments d'une autre catégorie (par exemple, catégorie transport). En particulier, le moteur de transformation 111 peut être défini de telle sorte que, 30 pour un identifiant d'enregistrement donné H dans l'ETR 9 associé à un élément de données non-standard et à un élément de données standard, si l'élément de données non-standard et 3021787 39 l'élément de données standard sont d'un même type général (par exemple, "hôtel"), une même représentation peut être générée pour les deux éléments de données au niveau de l'interface cible du dispositif client externe 7 (par exemple, système d'agence de voyages) par mappage du fichier de description de structure XSD1 associé à l'élément de données non-standard et du 5 fichier de description de structure XSD2 associé à l'élément de données standard sur un même fichier de description de structure du type commun compatible avec l'interface cible. Par exemple, tel que décrit sur la Figure 16, un élément de données standard du type TYPE C est tout d'abord converti en un conteneur non-standard associé au même type TYPE C (bloc 701 de la Figure 7), puis une représentation (XSD2) est générée sur le dispositif 10 client pour le TYPE C à l'aide du moteur de transformation 111 et des règles de mappage 117 définies pour le TYPE C au niveau du dispositif client (feuilles de style). Tel que représenté dans l'exemple de la Figure 17, une même représentation (XSD2) sera utilisée pour un conteneur non-standard du type TYPE C. De plus, les règles de transformation 117 peuvent être définies de telle sorte que des 15 attributs d'un même type de tout élément de données soient mappé sur une même sous-représentation, quel que soit le type de contenu (non-standard ou standard), qui comprend les attributs (dans le fichier de description cible). Dans l'exemple décrit sur la Figure 18, un conteneur standard de type TYPE D comprenant un ensemble d'attributs A1, A2, A3, A4 (tel que défini dans le fichier de 2 0 description de structure source XSD1) est tout d'abord converti en un conteneur non-standard associé au même type TYPE D (bloc 701 de la Figure 1), puis une représentation XSD2 (fichier de description de structure cible) est générée sur le dispositif client pour le TYPE D à l'aide du moteur de transformation 111, la représentation XSD2 comprenant des attributs de représentation {E1, E2, E3, E4} correspondant aux attributs source {A1, A2, A3, A4} . Tel 2 5 que représenté dans l'exemple de la Figure 19, une même représentation {E2, E3 } peut être générée pour les attributs A2, A3 d'un conteneur non-standard d'un autre type TYPE C comprenant l'ensemble d'attributs {C1, A2, A3, C4}, par application des mêmes règles de mappage 117 pour des attributs similaires d'un fichier de description de structure source XSD. Le moteur de mappage 11 générera une représentation XSD3 = {F 1 , E2, E3, F4, F5} 3 0 avec une même représentation E2 et E3 pour les attributs respectifs A2 et A3. Le moteur de gestion de contenu 3 fournit donc une plateforme unique à tous les dispositifs clients 7 (associés par exemple à des systèmes d'agences de voyages) comprenant 3021787 un ensemble d'interfaces par application, par l'intermédiaire desquelles une unique réponse peut être générée indépendamment du type de contenu qui doit être manipulé (par exemple, produit de type Vol GDS, location de véhicule GDS, taxi non GDS, restaurant non GDS, etc.). 5 Les applications de services peuvent donc utiliser directement une structure de données homogène pour stocker les données dans les interfaces. Cela rend inutile l'échange entre les couches interfaces et les couches BOM d'encore un autre format de la structure de données. Cela permet en outre de réduire le surdébit entre les données stockées dans l'Enregistrement de Voyage étendu 9 et la représentation des données dans les interfaces de 10 services 2 exposées aux dispositifs clients 7 (par exemple, systèmes d'agences de voyages) via une plateforme unique. Par conséquent, l'unité d'échange de données 11 permet de générer de manière dynamique une représentation cohérente des résultats quel que soit le type de contenu (contenu standard, non-standard, mixte), avec aussi peu de logiciel à codage manuel que 15 possible. En particulier, le message d'échange de données utilisé pour retourner les résultats au dispositif client 7 a un format proche des structures internes (par exemple, XML) et ce format est hérité des fichiers de description de structure (par exemple, XSD) utilisés pour définir les éléments eux-mêmes dans l'Elément générique. 2 0 Le système de gestion de voyages 100 fournit donc un ensemble d'interfaces par service de voyage représentant une réponse unique indépendamment du type de produits qui doit être manipulé (par exemple : produit de transport aérien GDS classique (vol) / location de véhicule GDS / taxi non GDS / restaurant non GDS...). La Figure 20 décrit un organigramme d'un procédé de gestion de contenu selon 2 5 certaines formes de réalisation. Un contenu associé à un identifiant d'enregistrement commun dans l'ETR 9 comprend un ensemble d'éléments de données apparenté à un même voyage. Selon l'application nécessitant un identifiant d'enregistrement particulier dans l'ETR 9, l'application peut nécessiter que les éléments de données différents associés à un repère de dossier donné soient disposés (par exemple, ordonnés) selon des critères de réagencement 3 0 prédéfinis lorsqu'ils sont accédés par l'application. Le procédé de réagencement de contenu peut être implémenté pour réarranger les 3021787 41 éléments de données selon des critères de réarrangement prédéfinis par l'application, par exemple selon un ordre chronologique, un critère de rangement, etc. Le procédé de réagencement peut fusionner les éléments de données standard et non-standard en un modèle de rangement abstrait basé sur un élément abstrait. L'élément abstrait peut être utilisé pour 5 trier les éléments de données selon les critères de réagencement. L'application peut donc retourner un élément de données fusionné ordonné selon les contraintes d'interface cible. Il peut en résulter par exemple des documents d'itinéraire agrégés où des segments de PNR et des éléments étendus (contenu non-standard) peuvent être fusionnés dans une même vue. En particulier, pour chaque élément de données, si l'élément de données est un 10 élément de données non-standard (bloc 801), l'élément de données non-standard du type Ti est transformé en un élément abstrait d'un type unique contenant un sous-ensemble des attributs de l'élément de données non-standard du type Ti dans le bloc 802. Les attributs du conteneur de données non-standard sont filtrés selon des critères de filtrage générés en fonction des critères de réagencement (par exemple, ordre chronologique, les critères de 15 filtrage sélectionneront des attributs de données). L'élément abstrait peut être implémenté sous la forme d'un objet technique tel qu'un BOM, et peut être basé sur la même technologie que le conteneur de données non-standard et/ou l'élément générique. Il convient d'observer que l'élément générique et l'élément abstrait permettent tous les deux une abstraction du type d'un élément de données. 2 0 Si l'élément de données est un élément de données standard (bloc 803) du type Ti, il peut être converti en un conteneur de données non-standard du même type Ti au bloc 804 (de manière similaire à l'étape 604 de la Figure 6). Au bloc 805, les attributs de l'élément de données non-standard ainsi obtenu sont filtrés selon des critères de filtrage. 2 5 Au bloc 806, l'élément de données non-standard obtenu à l'étape 804 est transformé en un élément abstrait contenant l'ensemble filtré d'attributs de l'élément de données non-standard de type Ti correspondant à l'élément de données standard de type Ti. De manière similaire à l'élément générique, l'élément abstrait obtenu forme un état transitoire de l'élément de données non-standard, ce qui permet d'abstraire le type de 3 0 conteneur de données. Cela permet en outre une manipulation globale des attributs d'éléments de données filtrés par l'application, quels que soient leurs types, par inspection du modèle 3021787 42 abstrait et en particulier un agencement de ceux-ci en fonction des critères de réagencement. Dans le champ Voyage, le PNR standard 90 peut être stocké dans une zone de stockage qui est partagée entre une pluralité de systèmes. Les éléments de données standard enregistrés dans le PNR standard 90 peuvent être de différents types et chaque élément peut 5 avoir son propre format de sérialisation. Les éléments de données standard peuvent partager un même identifiant d'enregistrement si les éléments de données sont liés (par exemple, communs à un même passage ou un même itinéraire). De manière similaire, un élément de données dans le PNR non-standard 91 peut partager un même identifiant d'enregistrement qu'un autre élément de données dans le PNR 10 non-standard 91 ou le PNR standard si les éléments de données sont liés. Le PNR non-standard 91 peut être stocké dans la même zone de stockage que le PNR standard. D'une autre manière, le PNR standard 90 et le PRN non-standard 91 peuvent être stockés dans des zones de stockage différentes. Les deux zones peuvent être générées par un mécanisme de gestion global afin de permettre une synchronisation de données communes. Le mécanisme de 15 gestion global peut être implémenté pour lier la zone de stockage dédiée au PNR non-standard 91 à l'autre zone de stockage dédiée au PNR standard 90 à chaque demande qui nécessite de manipuler l'enregistrement de voyage étendu 9 global. Même si l'ETR 9 est divisé en deux structures de données d'enregistrement 90 et 91, l'ETR 9 peut être géré globalement en fonction des identifiants d'enregistrement communs 20 identifiant des éléments de données apparentés, des données de conteneurs auxiliaires et/ou des informations de structure de données d'enregistrement. Les données du conteneur de données auxiliaires peuvent comprendre des informations de commande concernant chaque conteneur de données (par exemple, date de création, date de dernière modification, etc.). Dans des approches classiques, de telles 25 informations sont stockées directement dans chaque conteneur de données standard en association avec un identifiant d'enregistrement 0 et peuvent être accédées pour gérer le PNR standard (par exemple pour purger périodiquement le PNR standard). Cependant, cette approche ne permet pas une gestion optimisée des deux structures de données d'enregistrement 90 et 91. 3 0 La Figure 21 représente la structure de l'ETR 9 selon certaines formes de réalisation. Tel que représenté, pour optimiser la gestion globale des deux structures de données 3021787 43 d'enregistrement 90 et 91, dans une certaine forme de réalisation, l'enregistrement de voyage étendu 9 peut en outre comprendre une structure de données auxiliaires 92 (également appelée "structure de données de gestion centrale" ou "zone de gestion centrale") pour l'enregistrement de données de conteneur auxiliaires apparentées à chaque conteneur de 5 données créé dans l'ETR 9, telles que la date de création d'un conteneur de données, la date de dernière modification d'un conteneur de données, etc. Les informations enregistrées dans la structure de données auxiliaires 92 peuvent être utilisées pour gérer les deux zones d'une manière synchrone. Chaque entrée de la structure de données auxiliaires 92 peut partager les mêmes identifiants d'enregistrement sous la forme de conteneurs de données créés dans l'ETR 10 9. En outre, chaque enregistrement de la structure de données auxiliaires 92 peut être associé à un ensemble de données de conteneur auxiliaires apparentées aux conteneurs de données enregistrés dans l'ETR 9 (ayant le même identifiant d'enregistrement). La structure de données auxiliaires 92 peut être remplie d'informations de conteneur de données contenues dans la structure de données d'enregistrement standard 90 et la structure de données 15 d'enregistrement non-standard 91. Dans certaines formes de réalisation, chaque entrée de la structure de données auxiliaires 92 peut comprendre l'ensemble d'attributs auxiliaires apparentés aux conteneurs de données partageant le même identifiant d'enregistrement dans la structure de données d'enregistrement étendue (9). Chaque entrée peut comprendre un conteneur de données 2 0 auxiliaire pour le stockage de l'ensemble de données de conteneur auxiliaires apparentées aux enregistrements de l'ETR 9 partageant le même identifiant d'enregistrement. L'ensemble de données de conteneur auxiliaires peut comprendre des attributs de commande représentant des informations de commande relatives aux enregistrements de l'ETR 9 partageant le même identifiant d'enregistrement, tels que la date précédente de purge de l'enregistrement. 2 5 Dans certaines formes de réalisation, les informations de conteneur de données relatives à tous les enregistrements d'une structure de données d'enregistrement donnée 90 ou 91 peuvent être enregistrées dans un enregistrement dédié (également appelé "enregistrement d'informations de conteneur") dans cette structure de données d'enregistrement (90 ou 91) et se voir assigner un identifiant d'enregistrement particulier (par exemple, identifiant 3 0 d'enregistrement 0). L'enregistrement d'informations de conteneur de la structure de données d'enregistrement standard 90 et/ou l'enregistrement d'informations de conteneur de la structure de données d'enregistrement non-standard 91 peuvent être copiés dans la structure 3021787 44 de données non auxiliaires 92 à des intervalles de temps différents, par exemple périodiquement ou en réponse à une demande ou, d'une autre manière, à chaque fois que l'ETR 9 est sauvegardé dans la ou les bases de données 8. La structure de données auxiliaires 92 peut en outre enregistrer des informations de 5 structure de données d'enregistrement relatives à la structure de données d'enregistrement standard et/ou à la structure de données d'enregistrement non-standard, telles que des informations de version identifiant la dernière version de la structure de données d'enregistrement standard 90 et de la structure de données d'enregistrement non-standard 91 dans les bases de données. 10 Le système de gestion de voyages 100 peut comprendre une unité de commande d'ETR 18 pour gérer l'ETR 9 en fonction des données comprises dans la structure de données auxiliaires 92 (informations de données de conteneur auxiliaires et/ou les informations de structure de données d'enregistrement standard 90 et/ou les informations de structure de données d'enregistrement non-standard 91). 15 Dans une forme de réalisation, l'unité de commande d'ETR 18 peut comprendre un module de purge 180 configuré pour purger périodiquement des enregistrements du PNR standard 90 et du PNR non-standard 91 de manière synchrone pour des données communes, à l'aide d'identifiants d'enregistrement communs, les données de conteneur auxiliaires étant enregistrées dans la structure de données auxiliaires 92 et/ou les informations de structure de 2 0 données d'enregistrement. Dans certaines formes de réalisation, l'unité de commande d'ETR 18 peut comprendre un gestionnaire d'accès 181 pour traiter simultanément un accès à un même identifiant d'enregistrement dans le PNR standard 90 et dans le PNR non-standard 91 en fonction des données enregistrées dans la structure de données auxiliaires 92. Dans cette 2 5 forme de réalisation, la structure de données auxiliaires peut en outre enregistrer des informations de version identifiant la dernière version de la structure de données d'enregistrement standard 90 et de la structure de données d'enregistrement non-standard 91 dans les bases de données 8. Par exemple, à chaque fois que l'ETR 9 est sauvegardé dans la base de données à partir du contexte, les informations de version sont mises à jour dans la 3 0 structure de données auxiliaires 92. Le gestionnaire d'accès 18 peut être configuré pour gérer l'accès à l'ETR 9 en fonction des informations de version enregistrées dans la structure de données auxiliaires 92. 3021787 Le code programme selon l'une quelconque des formes de réalisation de l'invention décrites ici peut être distribué sur une base individuelle ou collective sous la forme d'un produit de programme se présentant sous toute une variété de formes différentes. En particulier, le code programme peut être distribué à l'aide de supports lisibles par ordinateur, 5 qui peuvent inclure des supports de stockage lisibles par ordinateur et des supports de communication. Les supports de stockage lisibles par ordinateur, qui sont par nature non transitoires, peuvent inclure des supports tangibles volatiles et non volatiles, et amovibles et non amovibles, implémentés selon une quelconque méthode ou technologie pour le stockage d'informations, telles que des instructions lisibles par ordinateur, des structures de données, 10 des modules de programmes, ou d'autres données. Les supports de stockage lisibles par ordinateur peuvent inclure une RAM, une ROM, une mémoire morte programmable et effaçable (EPROM), une mémoire morte électriquement programmable et effaçable (EEPROM), une mémoire flash ou une autre technologie de mémoire à semi-conducteurs, une mémoire morte à disque compact portable (CD-ROM), ou un autre stockage optique, des 15 cassettes magnétiques, une bande magnétique, un stockage par disque magnétique ou d'autres dispositifs de stockage magnétiques, ou tout autre support qui peut être utilisé pour stocker les informations souhaitées et qui peut être lu par un ordinateur. Les supports de communication peuvent mettre en oeuvre des instructions lisibles par ordinateur, des structures de données, ou d'autres modules de programmes. A titre d'exemple, et sans 2 0 limitation, des supports de communication peuvent inclure des supports filaires tels qu'un réseau filaire ou une connexion filaire directe, et des supports sans fil tels que des supports sans fil acoustiques, RF, infrarouge et autres. Toutes combinaisons de ce qui précède sont également incluses dans le cadre de supports lisibles par ordinateur. Les procédés décrits dans le présent document peuvent être implémentés par des 2 5 instructions de programme informatique fournies au processeur d'un quelconque type d'ordinateur pour produire une machine ayant un processeur qui exécute les instructions pour implémenter les fonctions/actes spécifiés dans le présent document. Ces instructions de programme informatique peuvent également être stockées dans un support lisible par ordinateur qui peut diriger un ordinateur afin qu'il fonctionne d'une manière particulière. A 3 0 cette fin, les instructions de programme informatique peuvent être chargées sur un ordinateur pour provoquer l'exécution d'une série d'étapes fonctionnelles et ainsi produire un procédé implémenté par ordinateur de telle sorte que les instructions exécutées fournissent des procédés pour l'implémentation des fonctions/actes spécifiés dans le présent document. 3021787 46 Bien que des formes de réalisation de l'invention aient été illustrées par une description de différents exemples, et bien que ces formes de réalisation aient été décrites d'une manière très détaillée, il n'est pas dans l'intention de la demanderesse de restreindre ou limiter d'une quelconque manière à ces détails le cadre des revendications jointes. Des 5 avantages et modifications additionnels apparaîtront de manière évidente à l'homme du métier. L'invention, prise dans ses aspects les plus larges, n'est donc pas limitée aux détails spécifiques, aux procédés représentatifs, et aux exemples illustratifs présentés et décrits. En particulier, bien que l'élément abstrait ait été décrit pour le réagencement de contenu, il peut être utilisé d'une manière générale par les applications internes pour l'accès à un contenu pour 10 différentes sortes d'opérations. Les règles de filtrage appliquées pour filtrer les attributs d'un conteneur de données peuvent varier en fonction des opérations prévues. REVENDICATIONS1. Procédé de gestion de contenu fourni par un ou plusieurs fournisseurs de contenu (4, 5) dans un système de gestion de contenu comprenant un agrégateur d'applications (3) comprenant un ensemble d'applications et une structure de données d'enregistrement étendue (9), ladite structure de données d'enregistrement étendue comprenant une structure de données d'enregistrement standard (90) pour stocker un enregistrement associé à des éléments de données standard prédéfinis de types standard et une structure de données d'enregistrement non-standard (91) pour stocker des enregistrements associés à des éléments de données non-standard ayant un type non- standard différent desdits types standard prédéfinis, ledit procédé comprenant la réception (102) de contenu provenant d'un ou plusieurs fournisseurs de contenu (4, 5), ledit contenu comprenant un ensemble d'éléments de données associés de types respectifs, et, pour chaque élément de données : - la création d'un enregistrement pour l'élément de données dans la structure de données d'enregistrement standard (90) si l'élément de données présente un type standard, ledit enregistrement comprenant un identifiant d'enregistrement commun et des valeurs de données correspondant à l'élément de données ; la génération d'un conteneur de données non-standard pour ledit élément de 2 0 données si l'élément de données a un type non-standard et la création d'un enregistrement pour l'élément de données dans la structure de données d'enregistrement non-standard (91), ledit enregistrement comprenant ledit identifiant d'enregistrement commun et des valeurs de données correspondant à l'élément de données ; 2 5 ledit procédé de gestion de contenu comprenant en outre la gestion de l'accès aux enregistrements maintenus dans la structure de données d'enregistrement étendue (9) sur la base de l'identifiant d'enregistrement commun. 2. Procédé selon la revendication 1, dans lequel le conteneur de données non-standard 3 0 est un objet technique comprenant un ensemble de clés et de valeurs, chaque clé correspondant à un attribut de l'élément de données. 3021787 48 3. Procédé selon la revendication 2, dans lequel le conteneur de données non-standard comprend une clé définissant le type du conteneur de données non-standard. 4. Procédé selon la revendication 2, dans lequel le conteneur de données non-standard 5 est un modèle d'objet métier, ledit modèle métier étant auto-implémenté. 5. Procédé selon la revendication 4, dans lequel le conteneur de données non-standard comprend un mécanisme d'auto-sérialisation pour se sérialiser en un format cible d'application, le conteneur de données non-standard comprenant une bibliothèque 10 incorporant des informations de sérialisation pour sérialiser ou désérialiser le conteneur de données non-standard. 6. Procédé selon la revendication 1, dans lequel il comprend la fourniture d'un accès d'une application à un enregistrement dans la structure de données d'enregistrement 15 étendue associé à un élément de données non-standard d'un type donné en générant un conteneur générique auquel est attribué un type générique unique, ledit conteneur générique contenant le conteneur de données non-standard dudit type donné. 7. Procédé selon la revendication 6, comprenant la fourniture d'un accès d'une 2 0 application à un enregistrement dans la structure de données d'enregistrement étendue associé à un élément de données standard d'un type donné en convertissant l'élément de données standard en un élément de données non-standard et en générant un conteneur générique auquel est attribué ledit type générique unique contenant le conteneur de données non-standard résultant de ladite conversion. 25 8. Procédé selon l'une quelconque des revendications précédentes 5 et 6, dans lequel chaque application peut accéder au type d'un conteneur de données non-standard contenu dans l'élément générique en inspectant l'élément de données non-standard. 3 0 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite structure de données d'enregistrement standard et ladite structure de données d'enregistrement non-standard sont stockées dans une même zone de stockage à l'intérieur du système de gestion de contenu. 3021787 49 10. Procédé selon l'une quelconque des revendications précédentes, dans lequel ladite structure de données d'enregistrement standard et ladite structure de données d'enregistrement non-standard sont stockées dans différentes zones de stockage à 5 l'intérieur du système de gestion de contenu. 11. Procédé selon l'une quelconque des revendications précédentes, dans lequel ledit contenu reçu peut être reçu par une application d'un ensemble d'applications chaînées de l'agrégateur d'applications (3), chaque élément de données non-standard du 10 contenu reçu étant transmis entre les applications dudit ensemble d'applications chaînées par des messages portant des informations d'auto-sérialisation, le stockage du conteneur de données non-standard dans l'enregistrement de voyage étendu (9) étant déclenché par l'une des applications de l'ensemble d'applications chaînées. 15 12. Système de gestion de contenu pour la gestion de contenu fourni par un ou plusieurs fournisseurs de contenu (4, 5), le système de gestion de contenu comprenant un agrégateur d'applications (3) comprenant un ensemble d'applications et une structure de données d'enregistrement étendue (9), ladite structure de données d'enregistrement étendue comprenant une structure de données d'enregistrement standard (90) pour 2 0 stocker un enregistrement associé à des éléments de données standard de types standard prédéfinis et une structure de données d'enregistrement non-standard (91) pour stocker des enregistrements associés à des éléments de données non-standard ayant un type non-standard différent desdits types standard prédéfinis, ledit système de gestion de contenu (100) étant configuré pour : 2 5 recevoir (102) un contenu provenant d'un ou de plusieurs fournisseurs de contenu (4, 5), ledit contenu comprenant un ensemble d'éléments de données associés de types respectifs, et, pour chaque élément de données : créer un enregistrement pour l'élément de données dans la structure de données d'enregistrement standard (90) si l'élément de données a un type 3 0 standard, ledit enregistrement comprenant un identifiant d'enregistrement commun et des valeurs de données correspondant à l'élément de données ; générer un conteneur de données non-standard pour ledit élément de données si l'élément de données a un type non-standard et créer un enregistrement pour 3021787 50 l'élément de données dans la structure de données d'enregistrement non-standard (91), ledit enregistrement comprenant ledit identifiant d'enregistrement commun et des valeurs de données correspondant à l'élément de données ; ledit système de gestion de contenu étant en outre configuré pour gérer l'accès aux enregistrements maintenus dans la structure de données d'enregistrement étendue (9) sur la base de l'identifiant d'enregistrement commun.