Brevet FR2810130A1 — publié le 20011214

La présente invention a pour objet un procédé de structuration, de transfert et d'interprétation d'un ensemble d'informations destinées à la conception d'interfaces graphiques nécessitant une gestion complète, dynamique évolutive des interactions homme-machine. Elle concerne également l'application de ce procédé à la diffusion de contenu interactif. L'invention s'applique notamment, mais non exclusivement, à la diffusion grande échelle d'interfaces de navigation dans des données multimédia (textes, images, sons vidéos, etc.), avec lesquelles l'utilisateur peut directement interagir. D'une manière générale, on sait construire des interfaces graphiques permettant à l'utilisateur d'un terminal d'effectuer toutes sortes de tâches. comportement de ces interfaces est figé, c'est-à-dire que, d'une part, l'apparence graphique de l'interface est décrite par le programme au début de son exécution et que, d'autre part, les modalités d'interaction entre le terminal et l'utilisateur ne changent pas entre le début et la fin de l'exécution du programme. Dans cette approche où le terminal peut fonctionner de manière autonome ou connecté à d'autres machines, l'interface graphique et son comportement doivent être programmés une fois pour toute par un développeur expérimenté. Ainsi, est en général impossible de modifier les modalités du comportement d'un programme informatique sans interrompre son utilisation par l'utilisateur du terminal. De plus, pour pouvoir utiliser le même programme sur plusieurs terminaux, il est nécessaire de distribuer et de mettre en place le programme sur chacun de ceux-ci, ce qui, en général, passe par de fastidieuses routines d'installations. On sait cependant [ref : XWindow, RFC 1013] centraliser les traitements effectués simultanément sur de nombreux terminaux (les Clients). L'exécution du programme s'effectue alors intégralement sur l'élément central (le Serveur) ; en particulier, les Clients n'effectuent que des operations d'affichage, leur état interne étant conservé sur le Serveur et les actions des utilisateurs transmises au Serveur et exécutées par celui-ci. Ceci, le voit, nécessite un dialogue permanent entre le Serveur et les Clients. Un tel dialogue s'avère en pratique fortement pénalisant pour des applications, telle la lecture de vidéos, nécessitant un processeur puissant et une vitesse d'affichage élevée. Pour palier à ces difficultés, on a proposé des solutions [ref : Flash] permettant de transférer des interfaces graphiques de navigation avec le contenu multimédia, et ce, sur un grande nombre de terminaux. Les traitements sont alors effectués directement par le processeur du terminal ; la création d'interfaces de ce type est beaucoup plus simple que pour celles décrites précédemment, car elle ne fait pas intervenir de programmation. Les fonctionnalités offertes restent donc limitées, puisque le comportement de l'interface suit un schéma simple qu'il est difficile d'étendre. Cette solution ne résout également pas le problème de la modification des comportements au cours de l'exécution : ce procédé utilisant un fichier, il est impossible, fois le fichier transmis au terminal, de modifier les modalités d'interaction des interfaces ainsi générées. La présente invention a donc pour but de supprimer ces inconvénients et en particulier de permettre la création d'interfaces graphiques qui nécessitent peu de ressources mémoire pendant leur transport, qui soient éventuellement distribuables à un grand nombre de terminaux simultanément, et dont les modalités d'interactions, programmables, puissent évoluer et être modifiées sans nécessiter l'arrêt du programme sur le terminal. Ce procédé met en oeuvre un terminal comprenant un processeur, un écran et des périphériques d'entrée donnant accès à des commandes permettant - d'introduire des éléments et leurs caractéristiques, en vue d'élaborer une structure de données représentant les éléments d'une interface graphique, les interactions qui existent entre eux et vis-à-vis du contenu à l'intérieur duquel ils permettent de naviguer, et la modification au cours du temps de ces interactions ; - manipuler l'interface ainsi construite en vue de naviguer dans le contenu multimédia présenté à l'écran, l'affichage de l'interface étant effectué en incrustation semi-transparente sur le contenu en question. Selon l'invention, ce procédé est caractérisé en ce qu'il comprend les phases suivantes - création des différentes entités entrant en jeu dans la définition d'une interface de navigation, de leur apparence à l'écran et des relations et moyens de communication entre elles ; - la définition de l'évolution de ces entités au cours du temps ; - l'élaboration par le processeur, à partir des éléments introduits dans le terminal d'une structure d'informations d'un premier type H exprimée dans un langage informatique propre à un stockage occupant peu de place ; - la lecture et l'interprétation à n'importe quel moment de ladite structure d'informations, et l'élaboration par le processeur des entités correspondant à cette structure ; - l'affichage éventuel de certaines entités suivant les modalités décrites par ladite structure ; - la prise en compte par le processeur des actions de l'utilisateur les périphériques d'entrée pour piloter et modifier l'interface et pour naviguer dans le contenu. Avantageusement, la susdite structure d'informations du premier H permet la création, l'utilisation et la destruction de - catégories de comportements - "Classes" ; - entités ayant ces comportements - "Objets" ; - envoi de commandes aux objets - "Messages" ; - catégories de représentation des objets à l'écran - "Classes de Vues" - représentation des objets à l'écran - "Vues" ; - apparence (visuelle et sonore) des vues - "Matériaux". Par ailleurs le terminal de création des structures du premier type pourra être distinct du terminal d'exécution et pourra donc mettre en oeuvre - un terminal émetteur E comprenant un processeur, un écran et des périphériques d'entrée (clavier, souris, etc.) donnant accès à des commandes permettant d'introduire des éléments et leurs caractéristiques, en vue d'élaborer une structure de données représentant les éléments d'une interface graphique, les interactions qui existent entre eux et vis-a-vis du contenu à l'intérieur duquel ils permettent de naviguer, et la modification au cours du temps de ces interactions ; - un terminal client C comprenant un processeur, un écran et des périphériques d'entrée (clavier, souris, etc.) donnant accès à des commandes permettant de manipuler l'interface ainsi construite en vue de naviguer dans le contenu multimédia présenté à l'écran. Dans ce cas, le procédé pourra en outre comprendre - le transfert, après élaboration de la structure du premier type H sur le terminal émetteur E, de cette structure du terminal émetteur E au terminal client C, que ce soit par le biais d'un fichier, d'un flux de données illimité ou sous une autre forme en utilisant un support physique transportable ou un autre moyen de communication ; - l'interprétation, à mesure qu'elles arrivent sur le terminal client C, de nouvelles structures d'informations du premier type H par le processeur et, en particulier, la création de nouveaux éléments, et la modification ou la destruction d'éléments déjà existants. Un terminal supplémentaire pourra être utilisé pour diffuser les données, ce terminal serveur S comprenant un ou plusieurs processeurs, des unités de stockage et des systèmes de communication permettant de recevoir et modifier les données générées par le terminal émetteur E et de les diffuser terminal client C. Dans ce , le procédé selon l'invention pourra en outre comprendre phases suivantes a) sur le terminal émetteur E - l'élaboration par le processeur, à partir des éléments introduits dans le terminal d'une structure d'informations d'un second type M exprimée dans un langage informatique textuel propre à une personnalisation par le terminal serveur S pour le terminal client C des éléments de l'interface ; - le transfert de cette structure du terminal émetteur E au terminal serveur S, ce soit par le biais d'un fichier, d'un flux de données illimité ou sous autre forme, en utilisant un support physique transportable ou un autre moyen de communication; b) sur le terminal serveur S - le traitement éventuel par les processeurs de cette structure, leur modification, leur personnalisation pour le terminal client C ; - la réécriture de cette structure sous la forme d'une structure d'informations du premier type H, exprimée dans un langage informatique propre à un stockage occupant peu de place ; - le transfert de cette structure du terminal serveur S au terminal client C, ce soit par le biais d'un fichier, d'un flux de données illimité ou sous autre forme, en utilisant un support physique transportable un autre moyen de communication. structures d'informations du second type M pourront permettre, en plus des caractéristiques du premier type H, la définition de paramétrages personnalisés pour un terminal client C donné. Avantageusement, le procédé selon l'invention pourra mettre oeuvre simultanément plusieurs terminaux émetteurs E envoyant des structures d'informations du second type M, enrichi de manière à permettre # l'affectation de noms aux entités présente dans la structure, # la définition d'espaces de noms propres à chaque terminal émetteur E, # l'autorisation par celui-ci à un autre terminal émetteur E' de droits d'accès de type utilisation, modification et destruction des entités. Compte tenu de ce qui précède, d'une façon générale le procédé selon l'invention pourra mettre en oeuvre # moins un terminal émetteur (les Machines Emettrices) comprenant un processeur, un écran et des périphériques d'entrée (clavier, souris etc.) donnant accès à des commandes permettant d'introduire et, éventuellement mais non exclusivement, de représenter à l'écran des éléments et leurs caractéristiques, en vue d'élaborer une structure de données représentant les 'léments de l'interface, les interactions qui existent entre eux et vis-à- ' du contenu à l'intérieur duquel ils permettent de naviguer, et la modification au cours du temps de ces interactions. # Eventuellement, mais non exclusivement, une ou plusieurs machines de diffusion (les Serveurs), comprenant un ou plusieurs processeurs, unités de stockage et des systèmes de communication permettant de diffuser les données générées par les Machines Emettrices à des terminaux récepteur (Machines Clientes) définis ci-dessous. Ces données, qui peuvent provenir de plusieurs Machines Emettrices, peuvent être personnalisées par le Serveur pour chacun des clients. # Un ou plusieurs terminaux récepteurs (les Machines Clientes) comprenant processeur, un écran et des périphériques d'entrée (clavier, souris, etc.) donnant accès à des commandes permettant de manipuler l'interface en vue naviguer dans le contenu multimédia présenté à l'écran. Les terminaux récepteurs et les Machines Emettrices peuvent être les mêmes, en particulier lorsque les données ne transitent pas par des Serveurs. Le procédé pourra alors comprendre les phases successives suivantes # création sur la ou les Machines Emettrices de différentes entités, appelées Composants, entrant en jeu dans la définition d'une interface de navigation : de catégories de comportements (les Classes), d'entités ayant comportements (les Objets), de catégories de représentation de ces entités à l'écran (les Classes de Vues), de représentations à l'écran (les Vues), de relations et moyens de communication entre elles (les Messages), la machine permettant également la définition et l'édition de l'évolution ces entités au cours du temps. # La génération par le processeur des Machines Emettrices de la structure d'informations représentant chacun desdits composants. # Le transfert sous forme informatique de ces structures, que ce soit par le biais d'un fichier, d'un flux de données illimité ou sous une autre forme, en utilisant support physique transportable [par exemple un disque, une bande magnétique, etc.] ou un autre moyen de communication [par exemple réseaux de télécommunication hertziens ou terrestres, des réseaux interconnectés, etc.], soit à un ou des Serveurs sous une forme textuelle du second type M, soit directement aux Machines Clientes sous la forme du premier type H, occupant peu de place en mémoire et, par conséquent, plus rapidement transportable. # Le traitement éventuel par les processeurs des Serveurs de ces structures, leur modification, leur personnalisation pour chacune des Machines Clientes, leur réécriture sous la forme du premier type H et leur diffusion vers les Machines Clientes. # L'interprétation par les Machines Clientes des Actions, et plus particulièrement - la réception, éventuellement en continu, des données informatiques sous la forme de structure du premier type H, - l'élaboration par le processeur des Composants correspondant à ces structures, - l'affichage des Vues suivant les modalités décrites par les Objets, - la prise compte par le processeur des actions de l'utilisateur sur les périphériques d'entrée pour piloter et modifier l'interface et pour naviguer dans le contenu multimédia, - la modification par le processeur, à mesure que les informations arrivent, éléments existants et, en particulier, la création et la destruction des Classes, des Objets et des Vues, l'envoi de Messages des aux autres. I1 convient noter que les phases de transfert des structures de données des Machines Emettrices aux Serveurs peuvent être étalées dans le temps. Outre les notions de Classes, d'Objets, de Classes de Vues, de Vues et de Messages précédemment définies, d'autres entités peuvent également être transmises des Machines Emettrices aux Machines Clientes (en passant éventuellement par les Serveurs), entre autres et de maniere non limitative - les Groupes de vues, qui regroupent plusieurs Vues au sein d'une même entité, Vues étant alors manipulables simultanément, - les Masques, qui permettent de cacher tout ou partie d'une Vue ou d'un Groupe, qui peuvent, en particulier, être semi-transparents et se déplacer relativement à la Vue ou au Groupe qu'ils masquent, - les Matériaux qui consistent en des ressources qui définissent l'apparence (visuelle et sonore) d'une Vue et son évolution au cours du temps (textes, dessins vectoriels, images en mode point, clips vidéo clips sons, etc.), - les Effets, qui peuvent s'appliquer à des Vues, Groupes ou des Masques, et qui modifient leur apparence en fonction de paramètres pouvant évoluer au cours du temps. Dans la structure de données du premier type H définie par le procédé selon l'invention, les entités sont représentées par des Actions. Celles-ci peuvent être de trois types # Création ou définition d'une entité, # Utilisation d'une entité, # Destruction d'une entité. Avantageusement, des mécanismes de destructions explicites des entités peuvent etre définis au sein même des structures de données définies par l'invention : cela assure la viabilité à long terme d'un flux de données construit à l'aide procédé. Comme précédemment mentionné, la structuration des données peut être différente suivant leur moyen de transport. En effet, le procédé selon l'invention décrit deux modes différents. Le premier, appelé Forme Textuelle assure lisibilité maximale et utilise une méthode de description documents déjà connus [ref : XML]. En contrepartie, de par la nature finie de cette représentation, cette structuration ne permet pas la diffusion des données pendant temps indéfini ; de plus, la lisibilité se traduit également par une occupation plus importante qui est incompatible avec une diffusion à grande échelle données. A l'opposé, une structuration spécifique à l'invention, appelée Forme Compressée permet de faire transiter des Actions de manière compressée et ce, sans limitation de durée. Avantageusement, le procédé suivant l'invention pourra séparer la création de l'interface graphique et la définition de ses comportements par une approche connue sous le nom de paradigme Document/Vue, permettant en particulier de modifier l'interface graphique et les comportements indépendamment l'un de l'autre. Selon particularité de l'invention, les comportements des entités sont décrits sous la forme d'un programme écrit dans un langage très simple. La syntaxe ce langage est proche de celle de langages de scripts à objets déjà existants [ref : JavaScript]. Avantageusement, la représentation de ces programmes dans la structuration compressée est pré-compilée de manière à # occuper une place moindre en mémoire et lors de la diffusion, # accélérer l'exécution du programme. D'un autre côté, la définition des Vues ne nécessite aucune connaissance particulière d'un langage de programmation. Selon une autre particularité de l'invention, les descriptions contenues dans les deux formes de structurations ne sont pas identiques : la description non compressée permet en effet # de donner des noms explicites aux Composants et aux Actions, non pas des identifiants numériques, # d'inclure des Actions de pré-traitement, destinées aux Serveurs, permettant à ceux ' de créer des structures compressées spécifiques à chaque Machine Cliente connectée, # de gérer concurrence entre les différentes Machines Emettrices et, en particulier, d'assurer éventuellement l'utilisation par une Machine Emettrice de Composants créés par une ou plusieurs autres Machines Emettrices. Avantageusement, il est ainsi possible aux Machines Emettrices de coopérer dans la diffusion d'une interface graphique de navigation. En particulier, on définit une notion d'espace de nom propre à chaque Machine Emettrice ; celle- ci peut alors autoriser chacune des autres Machines Emettrices à effectuer diverses operations sur les entités qu'elle définit. Parmi celle-ci, peut citer en particulier (mais non exclusivement) # l'utilisation des entités, # la modification des entités, # la destruction des entités. Avantageusement, les Machines Clientes n'ont pas connaissance Espaces de noms : quantité de données à gérer se trouve ainsi diminuée, et les traitements effectuer par le processeur des Machines Clientes sont moindres. Enfin, suivant particularité de l'invention, les Machines Clientes peuvent afficher les éléments de l'interface en incrustation semi-transparente sur le contenu multimédia dans lequel l'utilisateur navigue. Un mode de réalisation d'une application du procédé suivant l'invention à la diffusion d'interface de navigation sur de la vidéo est décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels La figure 1 est une représentation schématique montrant les machines mises oeuvre par le procédé selon l'invention ; La figure 2 illustre schématiquement les phases successives du procédé selon l'invention ; La figure 3 représente le modèle de diffusion spécifique à cette application ; La figure 4 représente le code définissant une entité de la bibliothèque en langage HSML (structuration du second type M) ; La figure représente l'écran du terminal d'édition de l'interface de navigation Les figures 6a et 6b montrent le fichier généré à partir de la représentation de la figure 5 en langage HSML ; La figure 7 donne en HSML un exemple de structure sous Forme Textuelle permettant de personnaliser la Forme Compressée pour chaque client; La figure 8 représente la réponse outil externe correspondant à la structure définie par la figure 7 ; La figure 9 est un schéma blocs représentant les opérations effectuées par le Serveur à la réception du premier ensemble d'Actions ; La figure 10 est un schéma blocs représentant les opérations effectuées par le Serveur à la réception des blocs d'Actions suivants ; La figure 11 montre les opérations effectuées par le Serveur à la connexion d'une Machine Cliente La figure 12 montre les opérations effectuées par la Machine Cliente lorsqu'elle reçoit des Actions ; La figure 13 représente les opérations pouvant être effectuées à un moment donné sur la Machine Cliente. Dans l'exemple représenté sur la figure le procédé selon l'invention met en oeuvre trois terminaux émetteurs (processeur/clavier/écran) TE, à TE3, deux machines de diffusion ici des serveurs S2 et quatre terminaux récepteurs (processeur/clavier/écran) TRI à TR4. Le terminal émetteur TE, transmet données, sous forme textuelle, au serveur SI, lequel les personnalise sous forme compressée pour les transmettre aux terminaux récepteurs TRI, TR2. Le terminal émetteur TE2 transmet ses données aux deux serveurs SI, S2 lesquels les retransmettent sélectivement aux terminaux récepteurs TRI à TR4. Le terminal TE3 transmet ses informations sous forme compressée directement terminal récepteur TR4. figure 2 est un organigramme montrant les phases successives du procédé selon l'invention, à savoir # La création de composants sur la (ou les) machine(s) émettrice(s) (bloc B1). # La génération par le processeur des machines émettrices de la structure d'information représentant chacun des composants (bloc B2). # Le transfert de cette structure, soit directement (bloc B4) à un ou plusieurs terminaux récepteurs sous forme d'actions, soit (bloc B3) ' un ou plusieurs serveurs qui personnalise la structure pour chacun des terminaux récepteurs (bloc BS), la réécrit sous forme compressée sous forme d'actions (bloc B6) en vue de la transférer (bloc 137) auxdits terminaux récepteurs. Ces terminaux récepteurs sont alors conçus de manière à pourvoir interpréter actions (bloc Bg) en élaborant des composants correspondant à ces structures, - en affichant des vues suivant les modalités décrites par les objets, - en modifiant les éléments existants au fur et à mesure les informations arrivent (création/destruction de classes, d'objets et de vues ...), - en prenant en compte des actions de l'utilisateur sur les périphériques d'entrées. L'application présentée dans cet exemple est destinée à la diffusion à un grand nombre d'utilisateurs d'interfaces de navigation dans du contenu vidéo, diffusion qui nécessite - le transfert de l'interface graphique aux machines (éventuellement très nombreuses) de tous les utilisateurs, - la personnalisation éventuelle de l'interface pour chacun des utilisateurs, - l'affichage, à n'importe quel moment, d'informations sur le terminal de chaque utilisateur, - l'évolution et la mise à jour en cours d'utilisation, c'est-à-dire pendant la navigation par l'utilisateur, de l'interface de navigation. type de diffusion, illustré par la figure 3, met typiquement en pauvre de nombreuses Machines Clientes TRS à TRx, un Serveur S3 et plusieurs Machines Emettrices TE4 à TE6. Parmi celles-ci, une machine TE4, nommée Producteur, possède un statut particulier car elle transmet au Serveur S3 les premiers éléments de l'interface. Cet ensemble d'entités est appelé Bloc Initial, les ensembles suivants sont nommés Blocs Dynamiques. Les Machines Emettrices TE4 à TE6 sont aussi appelées Coproducteurs. Bloc Initial doit être préparé à l'avance et définit par exemple la charte graphique de l'interface ainsi que son aspect et ses comportements initiaux. Pour créer ce Bloc Initial, on utilise un programme d'édition graphique spécifique permettant d'effectuer les opérations suivantes L'utilisation, l'enrichissement (obtenu grâce aux entités de la bibliothèque définies par les codes conformément à la figure 4) et la personnalisation d'une bibliothèque d'entités prédéfinies. # La création des éléments de l'interface de navigation visibles sur l'écran représenté figure 5 par l'utilisation de cette bibliothèque et fichiers de ressources (images, sons, texte, clips vidéo). # La mise en relation des différents éléments de cette interface. # L'assignation aux éléments de comportements simples (' l'aide de la souris) ou plus complexes (par édition du script associé). # La publication sur le Serveur des fichiers ainsi générés pour Bloc Initial. Ces fichiers comportent les Formes Textuelles décrivant la structure de données et les entités de la bibliothèque, ainsi que les Ressources associées (images, sons, etc.). Comme le montre la figure 5, l'édition effectue très simplement à l'aide de la souris et ne nécessite de la part de l'utilisateur aucune connaissance en programmation. Le menu MI permet d'accéder aux fonctions principales du programme - Fichier permet de charger et de sauvegarder des données représentant les entités, - Edition permet de créer, modifier, copier, coller, dupliquer et supprimer ces entités sur le plan de travail, - Options permet d'accéder aux options du programme d'édition, en particulier l'édition et l'ajout de nouvelles entités à la bibliothèque BB, - Publication permet de transférer le Bloc Initial sur un Serveur, - Affichage permet de modifier les paramètres d'affichage du plan de travail. L'utilisateur voit directement l'aspect de l'interface qu'il crée grâce au plan de travail PLI, plan sur lequel il agit directement pour éditer les entités. L'édition peut s'effectuer comme suit # Sélection d'une entité dans la bibliothèque BB et placement par glisser- déposer sur le plan de travail PLI. # Les propriétés de l'entité ainsi créée s'affichent dans la zone ZI et permettent d'en modifier les paramétrages. # Les actions de l'utilisateur de la Machine Cliente sont prises en compte dans la zone Z2 qui permet de lier un comportement à des événements particuliers (suivant le principe "Un événement implique une action"). # La zone Z3 permet d'éditer directement la structure textuelle représentant le Bloc Initial. # La zone Z4 enfin, permet de se positionner à un moment particulier du contenu vidéo. # Une fois l'édition terminée et les liaisons entre éléments définies, l'utilisateur peut enregistrer son travail ou le transférer sur le Serveur. Cet éditeur permet donc de lire et d'écrire des fichiers tels que ceux présentés les figures 6a et 6b, représentant les entités sous une Forme Textuelle. permet également de personnaliser le contenu du Bloc Initial pour chacun des clients connectés, en définissant dans la Forme Textuelle des paramètres variables et en faisant appel à des outils déjà existants [ref : "Active Server Pages" (ASP), "Common Gateway Interface" (CGI)]. Ces outils doivent alors être utilisés pour générer, à la demande du Serveur, la liste des paramètres pour un client donné. Les figures 7 et 8 donnent respectivement un exemple de structure sous Forme Textuelle et les données renvoyées par l'outil interrogé. Lorsqu'il reçoit un Bloc Initial, le serveur crée ou modifie Canal, par le biais duquel les Coproducteurs vont envoyer les structures de données informatiques aux Machines Clientes. Ce Bloc Initial subit les opérations suivantes, décrites par la figure 9 # Validation de la syntaxe des formes textuelles (bloc B9) et recupération des ressources associées (bloc B10), soit auprès de l'outil d'édition, soit directement. # Elaboration ("Parsing") par le processeur (bloc B ) d'une représentation en mémoire de la forme textuelle, appelée Etat Courant. # Compilation ("Compiling") du script (bloc B12) sous forme plus compacte et plus rapidement exécutable. # Réécriture ("Serialization") (bloc B13) sous forme compressée des entités décrites par la structure. Cette opération peut être partielle, si les entités sont paramétrées et doivent donc être évaluées à la connexion de chaque client. Lorsque l'un des Coproducteurs veut enrichir ou modifier l'interface de navigation, envoie un Bloc Dynamique au Serveur. Pour ce faire, il génère une structure de données en représentation textuelle. I1 la transmet alors au Serveur qui réalise les opérations suivantes, décrites par la figure 10 # Validation de la syntaxe de la forme textuelle (bloc B14) récupération des ressources associées (bloc B15). # Elaboration ("Parsing") par le processeur d'une representation en mémoire de la forme textuelle dynamique, appelée Etat Dynamique (bloc 16), et simultanément modification de l'Etat Courant du Canal (bloc 1319). # Compilation ("Compiling") du script (bloc B17) sous forme plus compacte et plus rapidement exécutable. # Réécriture ("Serialization") sous forme compressée (bloc B 1 g) des entités décrites par la structure. # Envoi de l'Etat Dynamique aux Machines Clientes connectées (bloc 1320)- Lorsqu'une Machine Cliente se connecte au Serveur, celui ' réalise (figure 11) les opérations suivantes # L'établissement de la connexion (bloc B21). # La mise en forme de la demande distante (bloc B22). # Evaluation auprès des outils cités ci-dessus des parametres propres à chaque connexion (bloc B23). # Evaluation (et donc finalisation de la réécriture) de l'Etat Courant (bloc B24)- # Envoi de l'Etat Courant à la Machine Cliente (bloc B25). Ainsi, on voit que chaque Machine Cliente reçoit quand elle se connecte l'Etat Courant du Canal, et que les Etats Dynamiques lui sont envoyés par la suite. La Machine Cliente, lorsqu'elle reçoit des données sous la forme d'actions, réalise (figure 12) les opérations suivantes # Analyse des données compressées et récupération des Actions (bloc B26). Décodage et exécution des Actions (bloc B27). Celles-ci peuvent effectuer un grand nombre d'opérations. Parmi celles-ci, on distingue trois grandes catégories - Actions sur la logique de gestion des interactions (bloc B28). Ceci comprend la création, la destruction et l'utilisation de Classes et d'Objets, et l'envoi de Messages aux différents éléments de cette logique, - Actions sur la logique d'affichage de l'interface de navigation (bloc B29), en particulier la création, la destruction et l'utilisation de Matériaux, de Vues, d'Effets, de Masques et de Groupes de Vues, - Autres actions (bloc B3o). Ceci comporte en particulier la définition contenu multimédia. cours de son exécution, le programme présent sur la Machine Cliente réalise un certain nombre d'opérations, données par la figure 13, liées à l'interface utilisateur, au rendu graphique et aux communications internes et avec l'extérieur. Celles-ci concernent en particulier # Le rendu du contenu vidéo, et donc les opérations de décompression vidéo et audio (bloc B31). # Le dessin de l'interface graphique en incrustation semi-transparente la vidéo (bloc B32) et ce, sur modification de l'image donnée par la vidéo ou d'un élément de l'interface. # La réponse à des actions de l'utilisateur provenant de périphériques tels souris et clavier (bloc B33). # La réponse à des actions de programmes extérieurs (bloc B34) par l'emploi de langages de scripts de type habituel [ref : JavaScript, VBScript]. # Des opérations effectuées en réponse à des mécanismes internes (activation par des horloges, communications entre éléments) (bloc B35). La communication entre la Machine Cliente et le Serveur prend fin à la demande du client (terminaison du programme, passage à un canal différent), sur envoi par le Serveur d'une Action "Fin", ou éventuellement en cas de problèmes dans la communication entre les deux parties. Revendications 1. Procédé de structuration et d'interprétation d'un ensemble d'informations destinées à la conception d'interfaces graphiques nécessitant gestion complète, dynamique et évolutive des interactions homme- machine, mettant en oeuvre un terminal comprenant un processeur, un écran et périphériques d'entrée donnant accès à des commandes permettant - d'introduire des éléments et leurs caractéristiques, en vue d'élaborer une structure de données représentant les éléments d'une interface graphique, les interactions qui existent entre eux et vis-à-vis du contenu à l'intérieur duquel ils permettent de naviguer, et la modification au cours du temps ces interactions ; - de manipuler l'interface ainsi construite en vue de naviguer dans le contenu multimédia présenté à l'écran, l'affichage de l'interface étant effectué incrustation semi-transparente sur le contenu en question, caractérisé en ce qu'il comprend les phases suivantes - la création des différentes entités entrant en jeu dans la définition d'une interface de navigation, de leur apparence à l'écran et des relations et moyens de communication entre elles ; - définition de l'évolution de ces entités au cours du temps ; - l'élaboration par le processeur, à partir des éléments introduits dans le terminal, d'une structure d'informations d'un premier type H exprimée dans langage informatique propre à un stockage occupant peu de place ; - la lecture et l'interprétation à n'importe quel moment de ladite structure d'informations, et l'élaboration par le processeur des entités correspondant à cette structure ; - l'affichage éventuel de certaines entités suivant les modalités décrites par ladite structure ; - la prise en compte par le processeur des actions de l'utilisateur sur les périphériques d'entrée pour piloter et modifier l'interface et pour naviguer dans le contenu. 2. Procédé selon la revendication 1 caractérisé en ce que la susdite structure d'informations du premier type H permet la création, l'utilisation et la destruction de - catégories de comportements - "Classes" ; - entités ayant ces comportements - "Objets" ; - envoi de commandes aux objets - "Messages" ; - catégories de représentation des objets à l'écran - "Classes de Vues" ; - représentation des objets à l'écran - "Vues" ; - apparence (visuelle et sonore) des - "Matériaux". 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que le terminal de creation des structures du premier type H est distinct du terminal d'exécution et met en oeuvre - un terminal émetteur E comprenant un processeur, un écran et des périphériques d'entrée (clavier, souris, etc.) donnant accès à des commandes permettant d'introduire des éléments et leurs caractéristiques, en vue d'élaborer une structure de données représentant les éléments d'une interface graphique, les interactions existent entre eux et vis-à-vis du contenu à l'intérieur duquel ils permettent de naviguer, et la modification au cours du temps de ces interactions - un terminal client C comprenant processeur, un écran et des périphériques d'entrée (clavier, souris, etc.) donnant accès à des commandes permettant de manipuler l'interface ainsi construite en vue de naviguer dans le contenu multimédia presenté à l'écran ; et en ce qu'il comprend les phases supplémentaires suivantes - le transfert, après élaboration de la structure du premier type H sur le terminal émetteur E, de cette structure du terminal émetteur E au terminal client C, que ce soit par le biais d'un fichier, d'un flux de données illimité ou sous autre forme en utilisant un support physique transportable un autre moyen de communication ; - l'interpretation, à mesure qu'elles arrivent sur le terminal client C, nouvelles structures d'informations du premier type H par le processeur et, en particulier, la création de nouveaux éléments, et la modification ou la destruction d'éléments déjà existants. 4. Procédé selon la revendication 3, utilisant en outre un terminal supplémentaire pour diffuser les données et mettant en oeuvre, en plus des susdits terminaux, un terminal serveur S comprenant un ou plusieurs processeurs, des unités de stockage et des systèmes de communication permettant de recevoir et modifier les données générées par le terminal émetteur E et de les diffuser au terminal client C, caractérisé en ce qu'il comprend les phases suivantes supplémentaires suivantes a) sur le terminal émetteur E - l'élaboration par le processeur, à partir des éléments introduits dans le terminal d'une structure d'informations d'un second type M exprimée dans un langage informatique textuel propre à une personnalisation par le terminal serveur S pour le terminal client C des éléments de l'interface ; - le transfert de cette structure du terminal émetteur E au terminal serveur S, que ce soit par le biais d'un fichier, d'un flux de données illimité ou sous une autre forme, en utilisant un support physique transportable ou un autre moyen communication ; b) sur le terminal serveur S - le traitement éventuel par les processeurs de cette structure, leur modification, leur personnalisation pour le terminal client C ; - la réécriture de cette structure sous forme d'une structure d'informations du premier type H, exprimée un langage informatique propre à un stockage occupant peu de place - le transfert de cette structure terminal serveur S au terminal client C, que ce soit par le biais d'un fichier, d'un flux de données illimité ou sous une autre forme, en utilisant un support physique transportable ou un autre moyen de communication ; les structures d'informations du second type M permettant, en plus des caractéristiques du premier type H, la définition de paramétrages personnalisés pour un terminal client C donné. 5. Procédé selon la revendication 4, caractérisé par la présence simultanée de plusieurs terminaux émetteurs E envoyant des structures d'informations du second type M, enrichi de manière à permettre # l'affectation de noms aux entités présente dans la structure, # la définition d'espaces de noms propres à chaque terminal émetteur E, # l'autorisation par celui-ci à autre terminal émetteur E' de droits d'accès de type utilisation, modification et destruction des entités. 6. Procédé selon l'une des revendications 3 et 5, caractérisé par la présence simultanée plusieurs terminaux client C, pouvant recevoir des structures d'informations du premier type H définissant des interfaces éventuellement différentes pour chacun d'entre eux. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que structurations d'informations du premier type H et du second type M sont conçus de manière à permettre la définition de # groupements de Vues - "Groupes de vues", # de calques de détourage des vues - "Masques", # d'effets spéciaux ' appliquer aux vues - "Effets". 8. Procédé selon revendication 7, caractérisé en ce il 'applique à la navigation dans un contenu vidéo, notamment pour se déplacer au sein d'une vidéo, ou pour passer d'une vidéo à une autre.