Brevet FR2930057A1 — publié le 20091016

Procédé de création d'un service, dispositif et programme d'ordinateur correspondants, procédé de génération de mise à jour d'un contenu, serveur, terminal et programme d'ordinateur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui de la transmission et de la restitution de contenus sur un terminal. Un tel terminal est par exemple un ordinateur de bureau, un ordinateur portable, un terminal de type radiotéléphone, un PDA (en anglais � Personal Digital Assistant �, en français � assistant numérique personnel �), etc. Plus précisément, l'invention concerne l'optimisation de la mise à jour de données d'un contenu restitué par un tel terminal. L'invention s'applique en particulier, mais de manière non limitative, aux contenus multimédia. On entend notamment par contenu multimédia un ensemble composé d'au moins une scène graphique animée, ou à tout le moins susceptible d'évoluer au cours du temps, encore appelée scène multimédia, et d'une série de commandes permettant de faire évoluer cette scène. Une scène multimédia correspond en particulier à l'agencement d'un ensemble d'objets graphiques dans le temps et dans l'espace, avec lesquels l'utilisateur du terminal peut interagir. Notamment, l'invention s'applique aux formats de description de scènes graphiques déjà connus tels que le MPEG-4/LASeR (en anglais �Lightweight Application Scene Representation �, en français �représentation applicative de scènes légères �), MPEG-4/BIFS (en anglais � Binary Format Scene �, en français � format binaire pour scène �), le SVG (en anglais � Scalable Vector Graphics �, en français � graphiques vectoriels adaptables �), le SMIL (en anglais � Synchronized Multimedia Integration Language �, en français � langage d'intégration multimédia synchronisés �), le XHTML (en anglais � eXtensible HyperText Markup Language �, en français � langage de balisage hypertexte extensible �), etc. 2. Art antérieur On connaît un certain nombre de techniques de génération dynamique de contenus multimédia, encore appelée génération contextuelle, par un serveur. Ces techniques permettent de générer intégralement un contenu en réponse à une requête d'un client. Un inconvénient de cette technique de l'art antérieur est qu'elle suppose la génération systématique d'un contenu entier à chaque requête d'un client, même si par exemple ce contenu a déjà été généré précédemment. Il existe également des techniques permettant de stocker un contenu, sur un serveur ou sur un terminal, dans une zone appelée cache. Dans ce cas, un contenu généré peut être stocké en vue d'une éventuelle requête ultérieure pour ce même contenu. Cependant, ce stockage en cache concerne à nouveau un contenu en entier, qui ne peut être réutilisé que si c'est exactement ce même contenu qui est requis. Les inconvénients de ces techniques de l'art antérieur résident donc notamment dans le fait que seuls des contenus entiers peuvent être stockés en vue d'une réutilisation ultérieure. Il en résulte que, la plupart du temps, des contenus entiers sont générés par le serveur et transmis au client, même si certaines parties du contenu sont identiques à certaines parties d'un contenu précédemment généré. Pour la création d'un service (c'est-à-dire un programme de génération d'un ensemble de contenus) qui génère des contenus avec mises à jour fréquentes, une technique classique consiste à écrire un programme qui va générer un contenu, puis, lorsqu'une une mise à jour de ce contenu est requise, à ré-exécuter le même programme une seconde fois. Cette technique réduit le temps de conception du programme du service, au prix d'un temps de génération, de transmission et de lecture plus longs. Pour réduire les temps de génération, de transmission et de lecture des mises à jour, une autre technique existe, qui consiste à écrire un second programme spécifique qui va rechercher les parties modifiées dans le contenu initial et créer un ensemble de mises à jour optimisées. Ce second programme est dédié à ce service. L'écriture de ce second programme est un coût qui contrebalance le gain en temps de génération, de transmission et de lecture 3. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art 5 antérieur. Notamment, l'invention a pour objectif de fournir une telle technique présentant de meilleures performances en termes de temps de génération, dans un serveur, d'une mise à jour d'un contenu. Un autre objectif de l'invention, selon au moins un mode de réalisation, est 10 de réduire le volume des données transférées d'un serveur vers un terminal, lors d'une mise à jour d'un contenu. Un autre objectif de l'invention, selon au moins un mode de réalisation, est d'optimiser le temps de traitement, dans un terminal, à la réception d'une mise à jour d'un contenu. 15 Un autre objectif de l'invention est de réduire le temps de conception du service en simplifiant la gestion des mises à jour. 4. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de création 20 d'un service destiné à produire un contenu avec mises à jour, ledit contenu étant destiné à être restitué sur un terminal. Selon l'invention, un tel procédé comprend les étapes suivantes : - identification d'au moins une donnée dudit service comme donnée susceptible d'être mise à jour, dite donnée changeante, 25 - insertion, dans ledit service, d'une commande d'appel à un programme de génération de mise à jour, ledit programme étant indépendant dudit service, de façon à permettre, en réponse à une requête d'un terminal ayant préalablement reçu un contenu initial produit par ledit service, une mise à 30 jour dudit contenu, prenant en compte la ou desdites données changeantes. Ainsi, l'invention repose sur une approche nouvelle et inventive de la gestion des mises à jour d'un contenu, en proposant une automatisation et une optimisation de la génération de ces mises à jour, sur un serveur, basée sur le marquage de certaines données dans le contenu et l'appel à un programme de génération automatique de mises à jour. Ainsi, le procédé selon l'invention permet de différencier les données changeantes des données invariantes du contenu, au moment de sa création. En effet, un contenu comprend généralement des données invariantes, comme par exemple des données de mise en page (fonds d'écran, couleurs du texte, etc), le titre du contenu, etc, et des données susceptibles de changer, notées données changeantes. Ce sont d'ailleurs ces données que l'utilisateur du terminal souhaite voir mises à jour lorsqu'il requiert une nouvelle restitution du contenu. Selon le procédé de l'invention, ce marquage n'est pas connu du terminal mais uniquement du serveur de génération de mises à jour, qui seul a besoin de cette information, par exemple sous la forme d'une liste de données changeantes correspondant à un contenu. Cette liste est consultée par le serveur, au moment de la réception de la requête du terminal pour une mise à jour d'un contenu, afin d'identifier les données changeantes du contenu pour la génération de leur mise à jour. De cette façon, la génération des mises à jour du contenu ne prend en considération que les données ayant changé depuis la dernière mise à jour, et seules ces données sont transmises par le serveur au terminal, optimisant ainsi la taille des données transmises au terminal. Selon l'invention, le programme de génération automatique de mises à 25 jour est indépendant du service de génération des contenus. Ainsi, à la création du service, une commande d'appel à un programme externe de mises à jour de contenus est prévue. Ce programme se base ensuite sur les données marquées comme changeantes pour générer les mises à jour. Ce programme de génération automatique de mise à jour peut être conçu 30 avant la création du service, puisqu'il ne dépend pas du service. Ainsi, l'invention permet l'utilisation d'un programme de génération de mise à jour pouvant s'appliquer à tous les services. Contrairement aux techniques de l'art antérieur dans lesquelles les mises à jour d'un contenu sont explicitement programmées pour chaque service, l'invention permet de calculer et générer des mises à jour d'un contenu de façon automatique, indépendamment du service, en se basant sur les données marquées comme changeantes dans le contenu. L'invention concerne donc également un procédé de génération de mise à jour d'au moins un contenu produit par un service et destiné à être restitué sur un 10 terminal. Selon l'invention, un tel procédé est indépendant dudit service et comprend les étapes suivantes : - réception d'une requête de mise à jour dudit contenu émise par ledit terminal ; 15 - mise à jour dudit contenu, appliquée à au moins une donnée préalablement identifiée comme donnée susceptible d'être mise à jour, lors de la création dudit service, dite donnée changeante, et comprenant les sous-étapes suivantes : - détection d'un changement de valeur de ladite au moins une donnée 20 changeante ; - génération et transmission d'au moins une commande de mise à jour de ladite au moins une donnée changeante audit terminal, en cas de détection positive. Ainsi, après avoir identifié les données marquées comme changeantes dans 25 le contenu, le procédé de génération de mise à jour selon l'invention vérifie si ces données ont effectivement changé de valeur (par exemple rapport à une valeur mémorisée), et ne génère une mise à jour que pour les données changeantes ayant effectivement changé de valeur. Selon l'invention, lors de la première requête du terminal pour le contenu, 30 celui-ci est généré et transmis en entier par le serveur. Lors des requêtes suivantes, dites requêtes de mise à jour, seules des mises à jour de certaines données changeantes sont transmises au terminal. Il est à noter que les requêtes de mise à jour du terminal peuvent être automatiques et périodiques, ou générées par une action de l'utilisateur du terminal. Selon l'invention, le procédé de génération des mises à jour est indépendant de la création du service ayant produit le contenu à mettre à jour. Un même procédé de génération de mise à jour peut être mis en oeuvre pour plusieurs services différents. Selon un mode de réalisation particulier de l'invention, ladite étape de détection compare la valeur d'au moins une desdites données changeantes par rapport à une valeur de référence mémorisée. Ainsi, le procédé selon l'invention permet de détecter si une valeur préalablement identifiée comme changeante, et donc susceptible d'être mise à jour, a effectivement changé par rapport à une précédente valeur mémorisée. Si la valeur courante de la donnée est différente de la valeur mémorisée, alors le procédé selon l'invention génère une mise à jour de la donnée. Par exemple, ladite valeur de référence mémorisée correspond à une valeur de ladite donnée changeante lors de la dernière mise à jour dudit contenu restituée sur ledit terminal. Ainsi, le procédé selon l'invention vérifie si les valeurs changeantes ont une valeur différente de leur valeur lors de la dernière mise à jour transmise au terminal et restituée sur le terminal. Le procédé selon l'invention permet ainsi d'optimiser la génération des mises à jour, en comparant la valeur courante d'une donnée changeante avec la valeur de la dernière mise à jour de cette donnée restituée sur le terminal. En effet, on peut supposer que la dernière mise à jour est récente (plus récente par exemple que la première transmission complète du contenu au terminal) et que les données susceptibles d'avoir changé depuis cette dernière mise à jour sont moins nombreuses. Selon un mode de réalisation de l'invention, la dernière mise à jour dudit contenu restituée sur ledit terminal est identifiée par au moins une information transmise par ledit terminal avec ladite requête de mise à jour. Ainsi, le procédé selon l'invention permet de connaître l'état du dernier contenu restitué sur le terminal, correspondant à la dernière mise à jour restituée par le terminal, par exemple à l'aide d'une information transmise par le terminal lui-même, en même temps que la requête. Ceci permet au serveur de ne pas mémoriser pour chaque terminal les dernières données marquées comme changeantes et transmises, et de mutualiser les mémorisations. Selon une caractéristique particulière de l'invention, ladite au moins une information transmise avec ladite requête de mise à jour correspond au résultat d'au moins une instruction préalablement transmise audit terminal. Selon un mode de réalisation particulier de l'invention, cette information est transmise par le terminal de manière � transparente � pour ce dernier, c'est-à-dire que le terminal n'a aucune action particulière à effectuer pour générer et transmettre cette information. Par exemple, le contenu transmis au terminal (le premier contenu entier transmis lors de la première requête du terminal, ou les mises à jour successives transmises par le serveur) peut contenir une ou plusieurs instructions permettant la mémorisation de l'état du contenu restitué sur le terminal et la transmission de cet état avec la requête faite par le terminal. Selon un aspect particulier de l'invention, le procédé comprend une étape de mémorisation d'au moins un état dudit contenu correspondant à une mise à 25 jour dudit contenu transmise audit terminal. Ainsi, le procédé selon l'invention permet de connaître l'état du dernier contenu restitué sur le terminal, correspondant à la dernière mise à jour transmise au terminal, en mémorisant, sur le serveur, chacune des mises à jour transmises au terminal. 30 De cette manière, il n'est pas nécessaire que le terminal transmette d'information concernant la dernière mise à jour restituée. C'est le serveur qui connaît l'état du contenu à comparer avec l'état courant du contenu à transmettre pour restitution au terminal. Selon un autre mode de réalisation, l'information transmise par le terminal peut correspondre à une information d'horodatage, indiquant l'heure de la dernière mise à jour restituée sur le terminal. Ainsi, le serveur compare cette heure reçue par le terminal, et les différentes heures des différentes sauvegardes de mises à jour qu'il a effectuées, afin de savoir avec quelles valeurs mémorisées il doit effectuer les comparaisons pour détecter les valeurs changeantes ayant effectivement changé. L'invention concerne également un serveur apte à générer des mises à jour d'au moins un contenu produit par un service et destiné à être restitué sur un terminal. Selon l'invention, un tel serveur comprend : - des moyens de réception d'une requête de mise à jour émise par ledit terminal ; - des moyens de mise à jour dudit contenu, appliquée à au moins une donnée préalablement identifiée comme donnée susceptible d'être mise à jour, dite donnée changeante, ladite au moins une donnée changeante étant identifiée lors de la création, par un dispositif de création, dudit service, lesdits moyens de mise à jour étant indépendants dudit service et comprenant les moyens suivants : - des moyens de détection d'un changement de valeur de ladite au moins une donnée changeante ; - des moyens de génération et transmission d'au moins une commande de mise à jour de ladite au moins une donnée changeante audit terminal, en cas de détection positive. Un tel serveur est notamment apte à mettre en oeuvre les étapes du procédé de génération de mise à jour tel que décrit précédemment. Un tel serveur est par 30 exemple un serveur de contenus. L'invention concerne également un dispositif de création d'un service destiné à produire un contenu avec mises à jour, ledit contenu étant destiné à être restitué sur un terminal. Un tel dispositif comprend des moyens d'identification d'au moins une donnée dudit service comme donnée susceptible d'être mise à jour, dite donnée changeante, des moyens d'insertion, dans ledit service, d'au moins une commande d'appel à un programme de génération de mise à jour, ledit programme étant indépendant dudit service, de façon à permettre, en réponse à une requête d'un terminal ayant préalablement reçu un contenu initial produit par ledit service, une mise à jour dudit contenu, prenant en compte la ou desdites données changeantes. Un tel dispositif est notamment apte à mettre en oeuvre les étapes du procédé de création d'un service tel que décrit précédemment. Un tel dispositif est par exemple un ordinateur d'un auteur/concepteur de services. L'invention concerne encore un terminal apte à restituer au moins un 15 contenu. Selon l'invention, un tel terminal comprend des moyens de transmission d'au moins une information d'identification d'une mise à jour dudit contenu restituée sur ledit terminal. Un tel terminal est par exemple un ordinateur de bureau, un ordinateur 20 portable, un terminal de type radiotéléphone, un PDA (en anglais � Personal Digital Assistant �, en français � assistant numérique personnel �), etc. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des 25 instructions de code de programme pour la mise en oeuvre du procédé de génération de mise à jour tel que décrit précédemment. Enfin, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé de création d'un service tel que décrit précédemment. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 présente les principales étapes du procédé de création de service selon un mode de réalisation de l'invention ; - la figure 2 présente les principales étapes du procédé de génération de mises à jour selon un mode de réalisation de l'invention ; - la figure 3 présentes les principales étapes des procédés de création de service et de génération de mise à jour selon un mode de réalisation de l'invention ; - la figure 4 présente un synoptique d'un exemple d'application du procédé de génération de mise à jour selon un mode de réalisation de l'invention ; 6. Description d'un mode de réalisation de l'invention Le principe général de l'invention repose sur le marquage, ou l'identification, dans un contenu produit par un service, de données susceptibles de changer au cours d'une mise à jour. Le procédé permet ensuite de ne transmettre que les mises à jour des données ayant effectivement changé parmi ces données marquées changeantes. On entend ici par service un programme de génération d'un ensemble de contenus. Un service permet donc de produire des contenus, et dans le cadre de la présente invention, des contenus pouvant être mis à jour. Un contenu peut être notamment un contenu multimédia. On présente, en relation avec la figure 1, les principales étapes du procédé de création d'un service selon un mode de réalisation de l'invention. La création d'un service destiné à produire des contenus avec mises à jour 30 comprend deux étapes principales 10 et 11. Cette création peut être mise en oeuvre notamment dans un dispositif utilisé par un concepteur/auteur de services. Lors d'une étape 10, les données du service susceptibles d'être changées lors d'une mise à jour sont identifiées et marquées comme données changeantes, dans le service. Ce marquage est décrit plus en détails ci-dessous, en relation avec plusieurs variantes du procédé de l'invention. Ensuite, lors d'une étape 1l, une ou plusieurs commandes d'appel à un ou des programmes externes de génération automatique de mise à jour sont insérées dans le service, de façon à permettre, au moment de la requête de mise à jour par le terminal de restitution du contenu, le calcul et la génération automatique de la mise à jour requise. Le service ainsi créé permet donc, lors d'une requête de mise à jour d'un contenu générée par un terminal, de faire appel à un programme externe de génération automatique de mises à jour. Ce programme de génération automatique de mise à jour ne dépend pas du service produisant les contenus et peut donc avoir été conçu et créé avant la création du service. De plus, ce programme peut être utilisé pour des services différents. Le marquage des données est connu du serveur chargé de la fourniture du contenu et des mises à jour du contenu vers le ou les terminaux le requérant. Cependant, ce marquage n'est pas transmis au terminal utilisateur du contenu, celui-ci n'en ayant pas besoin. On décrit maintenant, en relation avec la figure 2, les principales étapes du procédé de génération de mise à jour selon un mode de réalisation de l'invention. La mise en oeuvre de ce procédé est déclenchée par la réception, lors d'une étape 20, d'une requête de mise à jour d'un contenu en cours de restitution sur un terminal. Ensuite, une étape 21 de mise à jour est mise en oeuvre, pour chaque donnée préalablement marquée comme changeante, lors de la création du service produisant le contenu. Cette étape 21 comprend deux sous-étapes 210 et 211. La première sous-étape 210 consiste à détecter si la valeur de la donnée changeante considérée a effectivement changé. Cette détection consiste en une comparaison de la valeur courante de la donnée (valeur par exemple obtenue par le serveur via une URL indiquant où récupérer la valeur courante d'une donnée) avec une valeur mémorisée par le serveur. Cette valeur mémorisée peut correspondre à la dernière valeur restituée par le terminal, ou à la dernière valeur sauvegardée par le serveur, etc. Différentes variantes de réalisation sont décrites ci-dessous. Si la détection est positive, c'est-à-dire si la valeur de la donnée changeante considérée a effectivement changé, alors une commande de mise à jour de sa valeur est générée par le serveur, et transmise au terminal, lors d'une sous-étape 211. Cette étape 21 est mise en oeuvre pour toutes les données marquées comme changeantes, et une commande de mise à jour est générée pour chacune de ces données changeantes dont la valeur a effectivement changé. Ces commandes de mises à jour sont transmises, de manière individuelle ou groupée, au terminal, de façon à ce que celui-ci puisse les appliquer au contenu en cours de restitution, et ainsi mettre à jour le contenu restitué. Suite à une requête de mise à jour émise par le terminal, celui-ci ne reçoit donc pas un contenu complet mis à jour, mais uniquement des commandes de mises à jour associées aux seules données du contenu nécessitant effectivement une mise à jour. Ainsi, le volume des données échangées entre le serveur et le terminal est optimisé, ainsi que le temps de traitement de la mise à jour sur le terminal. De plus, les mises à jour du contenu sont calculées et générées par un 30 programme indépendant du service délivrant le contenu, contrairement aux techniques de l'art antérieur dans lesquelles chaque service de génération de contenus comprend le calcul des mises à jour. Les principales étapes des procédé de création et de génération décrits ci-dessus sont illustrées en figure 3, selon un mode de réalisation de l'invention. La création du service produisant des contenus est mise en oeuvre lors d'une étape 30, et comprend les étapes 10 et 11 déjà commentées ci-dessus, en relation avec la figure 1. Un service est donc créé, pour la production ultérieure d'un contenu initial et de contenus avec mise à jour. En réponse à une première requête d'un terminal pour un contenu, un contenu initial est créé par le service et transmis au terminal, lors d'une étape 31. Ce contenu initial est restitué sur le terminal l'ayant requis, qui requiert ensuite une mise à jour de ce contenu. Suite à cette requête de mise à jour, la ou les commandes d'appel à un ou plusieurs programmes externes de génération automatique de mise à jour sont effectivement mise en oeuvre dans le service, déclenchant l'étape 32 d'appel à un programme de génération de mise à jour. Cet appel déclenche le démarrage et la mise en oeuvre du procédé de génération de mise à jour dont les étapes 20 et 21 ont déjà été commentées ci- dessus, en relation avec la figure 2. Une ou plusieurs mises à jour sont donc générées et transmises au terminal ayant effectué la requête de mise à jour du contenu. 6.1 Description des échanges entre un terminal client et un serveur, dans premier exemple de réalisation On présente maintenant, en relation avec la figure 4, un synoptique des échanges entre un terminal, noté client, et un serveur, dans un premier exemple de réalisation de l'invention. Dans un premier temps, le terminal client émet une requête R1 à destination du serveur, pour la restitution d'un contenu produit par un service. Cette requête étant la première pour ce contenu, le serveur génère le contenu complet, et le transmet au terminal client. Auparavant, le serveur a connaissance de données susceptibles de changer au cours d'une mise à jour, identifiées et marquées comme données changeantes au moment de la création du service. Le contenu comprend donc d'une part des données invariantes, et d'autre part des données changeantes. Dans notre exemple, certaines de ces données changeantes changent effectivement de valeur à une date Tl (elles sont représentées avec des rayures dans la figure 2), et d'autres changent de valeur à une date T2 inférieure à T 1 (elles sont représentées avec des points dans la figure 2). Le terminal client émet une requête R2 de mise à jour du contenu, à une date T3 supérieure à T2, mais inférieure à Tl. Cette requête peut faire suite à une action de l'utilisateur du terminal, demandent explicitement une mise à jour du contenu (par exemple en cliquant sur 15 un bouton � mise à jour � présent dans le contenu restitué). Cette requête peut également être une requête émise automatiquement par le terminal, sans interaction utilisateur, de façon périodique et prédéterminée. Par exemple, l'utilisateur peut avoir programmé une mise à jour du contenu toutes les 30 secondes, ou toutes les 2 minutes ... 20 Le serveur reçoit donc une requête d'accès au contenu, distincte d'une première requête Rl au contenu (déjà traitée précédemment). Le serveur met alors en oeuvre les étapes suivantes du procédé selon l'invention, à savoir la génération des mises à jour des données changeantes ayant effectivement changé depuis la première requête. 25 La requête R2 du terminal client intervenant à une date T3, entre T2 et Tl, le serveur détermine que seules les données dont la valeur expire après T2 et avant Tl sont à mettre à jour. Le serveur génère donc des commandes de mise à jour de ces données et les transmet au terminal client. Dans le cas où le terminal client avait déjà émis une requête R3 (non 30 présentée en figure 4) de mise à jour du contenu, par exemple à une date T4 supérieure à T2 et inférieure à T3, le serveur peut se baser sur la dernière mise à jour transmise en réponse à la requête R4 pour générer les mises à jour en réponse à la requête R3. Ainsi, afin d'optimiser la détection des valeurs changeantes modifiées, le 5 serveur détermine quelles sont les données changeantes qui ont changé de valeur entre T4 et T3, s'il a connaissance de l'état du contenu à la date T4. Dans une première variante de réalisation, le serveur peut avoir mémorisé la ou les mises à jour qu'il a transmise(s) au terminal client en réponse à sa requête R3. De cette manière, le serveur connaît l'état du contenu transmis au 10 terminal lors de la dernière mise à jour. Dans le cas où la mise à jour est programmée automatiquement de façon périodique et cette programmation est connue du serveur, le serveur connaît également la date et l'heure de la dernière mise à jour transmise au terminal client. Dans une deuxième variante de réalisation, une information concernant 15 l'état du contenu restitué sur le terminal peut être transmise par le terminal lui- même, en même temps que sa requête. Par exemple, le procédé peut prévoir que le terminal sauvegarde la date et l'heure de la restitution réelle de la dernière mise à jour, et la transmette avec sa requête de mise à jour suivante. 20 On peut également prévoir que la validation, par l'utilisateur du terminal client, d'un bouton � mise à jour � soit associée à une instruction permettant la sauvegarde de la date et l'heure de la mise à jour demandée. Cet horodatage d'une mise à jour requise peut être ensuite transmis avec la requête de mise à jour elle-même. 25 Ainsi, le serveur connaît la date et l'heure de la requête de mise à jour, et peut la comparer, dans un même référentiel temporel, avec la date de la précédente mise à jour mise en oeuvre dans le terminal. Une fois la ou les commandes de mise à jour générées et transmises au terminal, celui-ci les applique au contenu en cours de restitution, de façon à 30 restituer un contenu mis à jour. 6.2 Description d'un deuxième exemple de réalisation On présente maintenant un deuxième exemple de réalisation de l'invention, dans le cadre de la restitution d'un service de consultation de valeurs de titres boursiers. On considère que des valeurs changent toutes les trois minutes pendant la période d'ouverture de la bourse. Dans cet exemple, l'utilisateur du terminal peut consulter 180 valeurs, dans une page contenant : - le nom du titre (immuable au cours des consultations successives de la page par l'utilisateur) ; - la valeur de clôture du titre la veille (immuable pour des consultations successives au sein d'une même journée) ; - la tendance du titre, symbolisée par une flèche qui monte, descend ou qui est horizontale (valeur changeante) ; - la valeur courante du titre (valeur changeante) ; - la variation de la valeur courante du titre par rapport à la valeur de clôture de la veille. Seules les données représentant la tendance du titre, la valeur courante du titre, et la variation de la valeur courante du titre, sont marquées comme des données changeantes au cours des mises à jour successives de la page, les données de nom du titre et de valeur du titre à la clôture étant considérées comme inchangées à chaque mise à jour restituée de la page, dans une même journée. On considère une requête de mise à jour de la page correspondant à une deuxième consultation de cette page. Le serveur, à la réception de la requête de mise à jour correspondant à la deuxième consultation de la page, détecte quelles sont les données changeantes (tendances, valeurs courantes, et variations des 180 titres) ayant effectivement changé depuis la première consultation. Dans notre exemple, entre la première consultation de la page et la 30 seconde consultation, douze valeurs de titres ont changé, et seule une tendance de valeur a changé (par exemple, une seule des valeurs est passée de "en hausse" à "en baisse", les autres valeurs n'ayant fait que confirmer leur tendance précédente). Le serveur génère donc des commandes de mise à jour pour vingt cinq données changeantes correspondant à douze valeurs de titre, douze variations et une tendance de valeur, par exemple sous la forme d'une liste de douze remplacements de valeur de titre, douze remplacements de variations de valeurs de titre et un remplacement de tendance. Ces mises à jour sont optimales en termes de données transmises au 10 terminal, et de temps de traitement, tant au niveau serveur qu'au niveau du terminal. Ainsi, il est possible d'envisager une mise à jour automatique de la page de consultation des valeurs de titres boursiers, par exemple toutes les trois minutes, de manière à améliorer la qualité du service pour l'utilisateur (qui n'est plus 15 obligé de demander explicitement une mise à jour), avec un coût réseau raisonnable. 6.3 Description d'exemples de mise en oeuvre du marquage des données changeantes L'exemple de réalisation décrit ci-dessus peut être mis en oeuvre de 20 plusieurs manières, pour ce qui est du marquage des données comme changeantes (les données de valeur courante de titre, les données de tendance et les données de variation). On présente, dans les annexes A, B et C, faisant partie intégrante de la description, des extraits de programme correspondant à l'affichage d'une ligne 25 d'une page de consultation telle que décrite au paragraphe précédent, pour un titre boursier, selon plusieurs exemples de mise en oeuvre du marquage des données changeantes. Dans le premier exemple, présenté en annexe A, chaque donnée susceptible de changer au cours des mises à jour est marquée par une donnée 30 particulière � stz:movingData �, listant les données variantes. Ainsi, la cible (� target �) pointant vers une image de flèche montante (correspondant à l'indication de tendance d'une valeur de titre), la chaîne (� string �) du texte (� Text �) affichant la valeur courante du titre et la chaîne (� string �) du texte (� Text �) affichant la variation de la valeur du titre par rapport à la valeur de clôture de la veille sont marquées comme étant des données changeantes. Les autres données, comme le nom du titre, les positions, les couleurs des éléments constituant la page sont inchangés au cours des mises à jour. Dans l'exemple de l'annexe A, le titre affiché a pour valeur 74,10, correspondant à une hausse de +3,94% par rapport à la valeur en clôture de la veille. Au moment de la requête de mise à jour (automatique, ou suite à une interaction utilisateur), le titre a pour valeur 75, ce qui correspond à une variation de +5,2% par rapport à la valeur en clôture de la veille. A la réception de cette requête de mise à jour, le serveur vérifie si les trois données marquées changeantes ont effectivement changé par rapport à la dernière mise à jour, et détecte que les deux dernières données (valeur et variation) ont changé, mais pas la donnée correspondant à la tendance. Le serveur génère alors deux commandes de mises à jour, à destination du terminal, correspondant aux commandes de remplacement ci-dessous : ANNEXE B 20 ANNEXE C REVENDICATIONS1. Procédé de création d'un service destiné à produire un contenu avec mises à jour, ledit contenu étant destiné à être restitué sur un terminal, caractérisé en ce que ledit procédé comprend les étapes suivantes : - identification d'au moins une donnée dudit service comme donnée susceptible d'être mise à jour, dite donnée changeante ; - insertion, dans ledit service, d'une commande d'appel à un programme de génération de mise à jour, ledit programme étant indépendant dudit service, de façon à permettre, en réponse à une requête d'un terminal ayant préalablement reçu un contenu initial produit par ledit service, une mise à jour dudit contenu, prenant en compte la ou desdites données changeantes. 2. Procédé de génération de mise à jour d'au moins un contenu produit par un service créé selon le procédé de création de la revendication 1 et destiné à être 15 restitué sur un terminal, caractérisé en ce que ledit procédé est indépendant dudit service et comprend les étapes suivantes : - réception d'une requête de mise à jour dudit contenu émise par ledit terminal ; 20 - mise à jour dudit contenu, appliquée à au moins une donnée préalablement identifiée comme donnée susceptible d'être mise à jour, lors de la création dudit service, dite donnée changeante, et comprenant les sous-étapes suivantes : - détection d'un changement de valeur de ladite au moins une donnée 25 changeante ; - génération et transmission d'au moins une commande de mise à jour de ladite au moins une donnée changeante audit terminal, en cas de détection positive. 3. Procédé de génération de mise à jour selon la revendication 2, caractérisé 30 en ce que ladite étape de détection compare la valeur d'au moins une desditesdonnées changeantes par rapport à une valeur de référence mémorisée. 4. Procédé de génération de mise à jour selon la revendication 3, caractérisé en ce que ladite valeur de référence mémorisée correspond à une valeur de ladite donnée changeante lors de la dernière mise à jour dudit contenu restituée sur ledit terminal. 5. Procédé de génération de mise à jour selon la revendication 4, caractérisé en ce que ladite dernière mise à jour dudit contenu restituée sur ledit terminal est identifiée par au moins une information transmise par ledit terminal avec ladite requête de mise à jour. 6. Procédé de génération de mise à jour selon la revendication 5, caractérisé en ce que ladite au moins une information transmise avec ladite requête de mise à jour correspond au résultat d'au moins une instruction préalablement transmise audit terminal. 7. Procédé de génération de mise à jour selon l'une quelconque des revendications 2 à 6, caractérisé en ce qu'il comprend une étape de mémorisation d'au moins un état dudit contenu correspondant à une mise à jour dudit contenu transmise audit terminal. 8. Serveur apte à générer des mises à jour d'au moins un contenu produit par un service et destiné à être restitué sur un terminal, caractérisé en ce que ledit 20 serveur comprend : - des moyens de réception d'une requête de mise à jour dudit contenu émise par ledit terminal ; - des moyens de mise à jour dudit contenu, appliquée à au moins une donnée préalablement identifiée comme donnée susceptible d'être mise à jour, dite 25 donnée changeante, ladite au moins une donnée changeante étant identifiée lors de la création, par un dispositif de création, dudit service, lesdits moyens de mise à jour étant indépendants dudit service et comprenant les moyens suivants : - des moyens de détection d'un changement de valeur de ladite au 30 moins une donnée changeante ;des moyens de génération et transmission d'au moins une commande de mise à jour de ladite au moins une donnée changeante audit terminal, en cas de détection positive. 9. Dispositif de création d'un service destiné à produire un contenu avec mises à jour, ledit contenu étant destiné à être restitué sur un terminal, caractérisé en ce que ledit dispositif comprend : des moyens d'identification d'au moins une donnée dudit service comme donnée susceptible d'être mise à jour, dite donnée changeante ; des moyens d'insertion, dans ledit service, d'au moins une commande d'appel à un programme de génération de mise à jour, ledit programme étant indépendant dudit service, de façon à permettre, en réponse à une requête d'un terminal ayant préalablement reçu un contenu initial produit par ledit service, une mise à jour dudit contenu, prenant en compte la ou desdites données changeantes. 10. Terminal apte à restituer au moins un contenu créé selon le procédé de création de la revendication 1, caractérisé en ce qu'il comprend des moyens de transmission d'une requête de mise à jour comprenant au moins une information d'identification d'une mise à jour dudit contenu restituée sur ledit terminal, pour la mise en couvre du procédé de génération de mise à jour selon l'une quelconque des revendications 2 à 7, et des moyens de réception d'au moins une commande de mise à jour d'une donnée changeante. 11. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de génération de mise à jour selon l'une au moins des revendications 2 à 7, lorsque Iedit programme est exécuté sur un ordinateur. 12. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de-25 code de programme pour la mise en oeuvre du procédé de création d'un service selon la revendication 1, lorsque ledit programme est exécuté sur un ordinateur.