Brevet FR3068561A1 — publié le 20190104

La présente invention concerne un procédé de mise à jour d'un guide électronique des programmes EPG (« Electronic Program Guide » en anglais). Un guide électronique des programmes EPG est un ensemble d'informations relatives à des programmes télévisés diffusés sur des chaînes télévisées, qui permet notamment de fournir à des utilisateurs une vue des programmes télévisés en cours et 10 à venir. Ces informations sont par exemple : un nom de programme télévisé, un horaire de début de programme télévisé, un horaire de fin de programme télévisé et/ou une durée de programme télévisé, un synopsis de programme télévisé, un identifiant de chaîne télévisée sur laquelle ledit programme télévisé est diffusé,... Le guide électronique des programmes EPG est ainsi organisé par chaîne télévisée, puis par 15 programme télévisé au sein de chaque chaîne télévisée. De tels guides électroniques des programmes EPG sont typiquement utilisés par des dispositifs décodeurs pour afficher des menus à leurs utilisateurs leur permettant de découvrir les programmes télévisés en cours ou à venir sur un ensemble de chaînes télévisées. De tels menus sont généralement interactifs, afin de permettre aux 20 utilisateurs : de sélectionner un programme télévisé en cours, pour activer immédiatement le visionnage sur un écran du programme télévisé sélectionné ; de sélectionner un programme télévisé à venir, pour activer le visionnage du programme télévisé sélectionné ou un enregistrement du programme télévisé sélectionné, au moment où démarre ledit programme télévisé (programmation) ; d'effectuer des 25 recherches de programmes télévisés (par genre, par nom, par date...)... D'autres types d'interactivités peuvent être mises en place. Le guide électronique des programmes EPG est fourni par un serveur à un ou plusieurs terminaux, comme des dispositifs décodeurs. Plus le nombre de programmes télévisés concernés est élevé et plus le volume d'informations à transmettre depuis le 30 serveur vers le ou les terminaux est élevé. Cela entraîne une importante consommation de bande passante entre le serveur et les terminaux à chaque mise à jour du guide électronique des programmes EPG, plus particulièrement en présence d'un grand nombre de terminaux. 2 Il est souhaitable de pallier ces inconvénients de l'état de la technique. Il est ainsi souhaitable de fournir une solution qui permette de limiter la consommation de bande passante entre le serveur et les terminaux à chaque mise à jour du guide électronique des programmes EPG. A cet effet, l'invention concerne un procédé de mise à disposition d'un guide électronique des programmes à au moins un terminal déclaré auprès d'un dispositif mandataire, le procédé étant implémenté par le dispositif mandataire. Lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit au moins un terminal : lorsque ledit au moins un terminal dispose d'une précédente version du guide électronique des programmes, le dispositif mandataire transmet, audit au moins un terminal, le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et lorsque ledit au moins un terminal ne dispose pas de précédente version du guide électronique des programmes, le dispositif mandataire transmet, audit au moins un terminal, le guide électronique des programmes sous forme complète. Ainsi, grâce à la forme différentielle, la consommation de bande passante entre le dispositif mandataire et les terminaux à chaque mise à jour du guide électronique des programmes est limitée en comparaison avec une transmission systématique du guide électronique des programmes sous forme complète. Selon un mode de réalisation particulier : le dispositif mandataire récupère le guide électronique des programmes auprès d'un serveur et stocke toute nouvelle version du guide électronique des programmes dans une base de données ; le dispositif mandataire identifie chaque changement du guide électronique des programmes entre une dite nouvelle version récupérée auprès du serveur et la dernière version stockée dans la base de données ; et le dispositif mandataire stocke dans la base de données, outre ladite nouvelle version du guide électronique des programmes, chaque changement identifié et une information d'horodatage associée. Selon un mode de réalisation particulier, chaque transmission par le dispositif mandataire du guide électronique des programmes, que ce soit sous forme complète ou différentielle, est accompagnée de l'information d'horodatage associée. Selon un mode de réalisation particulier, chaque transmission par le dispositif mandataire du guide électronique des programmes sous forme différentielle est en outre accompagnée de l'information d'horodatage associée à la version du guide des programmes par rapport à laquelle la forme différentielle a été déterminée. 3 Selon un mode de réalisation particulier, lorsqu'un terminal demande que lui soit transmise une nouvelle version du guide électronique des programmes sous forme différentielle : le dispositif mandataire reçoit du terminal une information d'horodatage associée à la précédente version du guide électronique des programmes 5 dont dispose ledit terminal ; et pour transmettre la nouvelle version du guide électronique des programmes sous forme différentielle, le dispositif mandataire détermine si plusieurs nouvelles versions du guide électronique des programmes ont été stockées dans la base de données depuis la précédente version du guide électronique des programmes dont dispose ledit terminal, et le cas échéant, le 10 dispositif mandataire concatène les changements opérés dans les différentes versions du guide électronique des programmes qui ont été stockées dans la base de données depuis la précédente version du guide électronique des programmes dont dispose ledit terminal. Selon un mode de réalisation particulier, lorsqu'un terminal demande que lui 15 soit transmise une nouvelle version du guide électronique des programmes sous forme différentielle : le dispositif mandataire vérifie s'il s'est écoulé, ou pas, plus d'une durée prédéfinie depuis l'instant représenté par l'information d'horodatage reçue ; en cas de vérification négative, le dispositif mandataire transmet, audit terminal, le guide électronique des programmes sous forme différentielle ; et en cas de vérification 20 positive, le dispositif mandataire transmet, audit terminal, le guide électronique des programmes sous forme complète. Selon un mode de réalisation particulier, le dispositif mandataire crée un tableau répertoriant chaque changement identifié sous forme d'objet dans un langage de description d'objets de la façon suivante : pour un ajout de chaîne télévisée, l'objet a 25 un code descripteur spécifique d'ajout de chaîne télévisée et un argument qui comporte toutes les informations du guide électronique des programmes relatives à la chaîne télévisée en question, y compris un identifiant de ladite chaîne télévisée ; pour une suppression de chaîne télévisée, l'objet a un code descripteur spécifique de suppression de chaîne télévisée et un argument qui comporte l'identifiant de ladite 30 chaîne télévisée ; pour un ajout de programme télévisé, l'objet a un code descripteur spécifique d'ajout de programme télévisé et un argument qui comporte toutes les informations du guide électronique des programmes relatives au programme télévisé en question, y compris un identifiant dudit programme télévisé et un identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé ; pour une suppression de programme télévisé, l'objet a un code descripteur spécifique de suppression de programme télévisé et un argument qui comporte l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé était diffusé ; et pour une modification de programme télévisé, l'objet a un 5 code descripteur spécifique de modification de programme télévisé et un argument qui comporte toutes les informations du guide électronique des programmes relatives au programme télévisé en question, y compris l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé. Selon un mode de réalisation particulier, lorsqu'un terminal demande que lui 10 soit transmise une nouvelle version du guide électronique des programmes sous forme différentielle : le dispositif mandataire vérifie si transmettre le guide électronique des programmes sous forme différentielle représente un volume de données supérieur ou égal à transmettre le guide électronique des programmes sous forme complète ; en cas de vérification négative, le dispositif mandataire transmet, audit terminal, le guide 15 électronique des programmes sous forme différentielle ; et en cas de vérification positive, le dispositif mandataire transmet, audit terminal, le guide électronique des programmes sous forme complète. L'invention concerne également un procédé de mise à disposition d'un guide électronique des programmes à un terminal déclaré auprès d'un dispositif mandataire, 20 le procédé étant implémenté par ledit terminal. Lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit terminal : lorsque ledit terminal dispose d'une précédente version du guide électronique des programmes, ledit terminal reçoit, dudit dispositif mandataire, le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique 25 des programmes ; et lorsque ledit terminal ne dispose pas de précédente version du guide électronique des programmes, ledit terminal reçoit, dudit dispositif mandataire, le guide électronique des programmes sous forme complète. L'invention concerne également un programme d'ordinateur, qui peut être stocké sur un support et/ou téléchargé d'un réseau de communication, afin d'être lu 30 par un processeur. Ce programme d'ordinateur comprend des instructions pour implémenter l'un ou l'autre des procédés mentionnés ci-dessus dans l'un quelconque de leurs modes de réalisation, lorsque ledit programme est exécuté par le processeur. L'invention concerne également un support de stockage d'informations stockant un tel programme d'ordinateur. L'invention concerne également un dispositif mandataire configure pour mettre à disposition un guide électronique des programmes à au moins un terminal déclaré auprès du dispositif mandataire. Le dispositif mandataire comporte les moyens suivants, activés lorsqu'une nouvelle version du guide électronique des programmes 5 doit être fournie audit au moins un terminal : lorsque ledit au moins un terminal dispose d'une précédente version du guide électronique des programmes, des moyens pour transmettre, audit au moins un terminal, le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et lorsque ledit au moins un terminal ne dispose pas de précédente 10 version du guide électronique des programmes, des moyens pour transmettre, audit au moins un terminal, le guide électronique des programmes sous forme complète. L'invention concerne également un terminal comportant des moyens pour se déclarer auprès d'un dispositif mandataire destiné à mettre à disposition dudit terminal un guide électronique des programmes. Le terminal comporte en outre les moyens 15 suivants activés lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit terminal : lorsque ledit terminal dispose d'une précédente version du guide électronique des programmes, des moyens pour recevoir, dudit dispositif mandataire, le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et 20 lorsque ledit terminal ne dispose pas de précédente version du guide électronique des programmes, des moyens pour recevoir, dudit dispositif mandataire, le guide électronique des programmes sous forme complète. L'invention concerne également un système multimédia comportant un dispositif mandataire tel que présenté ci-dessus et au moins un terminal tel que 25 précédemment présenté ci-dessus. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : 30 - la Fig. 1 illustre schématiquement un système multimédia dans lequel la présente invention peut être implémentée ; - la Fig. 2 illustre schématiquement un exemple d'architecture matérielle d'une entité du système multimédia ; 6 - la Fig. 3 illustre schématiquement un algorithme de mise à disposition, par un dispositif mandataire, d'une nouvelle version d'un guide électronique de programmes ; - la Fig. 4 illustre schématiquement un premier algorithme de requête, par un 5 terminal, d'une version à jour du guide électronique de programmes ; - la Fig. 5 illustre schématiquement un second algorithme de requête, par un terminal, d'une version à jour du guide électronique de programmes ; - la Fig. 6 illustre schématiquement un algorithme de sélection, par le dispositif mandataire, de données à transmettre pour répondre à la requête d'un terminal 10 d'obtenir une version à jour du guide électronique de programmes ; - la Fig. 7 illustre schématiquement un algorithme de mise à disposition, par un terminal, du guide électronique de programmes. La Fig. 1 illustre schématiquement un système multimédia dans lequel la présente invention peut être implémentée. Le système multimédia comporte un 15 serveur EPG-S 100 adapté pour mettre à disposition un guide électronique des programmes EPG pour un ensemble de chaînes télévisées. Le système multimédia comporte en outre un ou plusieurs, préférentiellement plusieurs, terminaux auxquels est destiné le guide électronique des programmes EPG. Les terminaux sont par exemple des dispositifs décodeurs adaptés pour décoder des programmes télévisés 20 diffusés sur des chaînes télévisées via Internet IPTV (« Internet Protocole TeleVision » en anglais). De tels dispositifs décodeurs sont par exemple intégrés à des écrans de télévision ou à des boîtiers décodeurs STB (« Set Top Box » en anglais). La Fig. 1 montre, de manière illustrative, trois terminaux STB1 131, STB2 132, STB3 133, sous forme de dispositifs décodeurs intégrés à des boîtiers décodeurs STB. 25 Le système multimédia comporte en outre un dispositif mandataire (« proxy device » en anglais) EPG-P 110 qui agit comme relais entre le serveur EPG-S 100 et les terminaux STB1 131, STB2 132, STB3 133. L'utilisation d'un dispositif mandataire entre le serveur EPG-S 100 et les terminaux STB1 131, STB2 132, STB3 133 permet de simplifier l'architecture du système multimédia lorsque plusieurs 30 serveurs doivent fournir des informations aux terminaux STB1 131, STB2 132, STB3 133. Le dispositif mandataire EPG-P 110 collecte alors, auprès des différents serveurs, les informations requises et les distribue ensuite aux terminaux STB1 131, STB2 132, STB3 133. On évite ainsi de devoir connecter chaque terminal à chaque serveur. Un autre intérêt d'utiliser un dispositif mandataire est de pouvoir laisser un premier 7 opérateur gérer le serveur EPG-S 100, c'est-à-dire le contenu du guide électronique des programmes EPG, et un second opérateur gérer le parc des terminaux STB1 131, STB2 132, STB3 133. Dans une variante de réalisation, le serveur EPG-S 100 et le dispositif 5 mandataire EPG-P 110 sont intégrés dans un même équipement serveur 115. Chaque terminal devant recevoir le guide électronique des programmes EPG via le dispositif mandataire EPG-P 110 se déclare, au démarrage auprès du dispositif mandataire EPG-P 110. Une procédure d'authentification peut être mise en place. Cela permet notamment audit terminal de recevoir des notifications de changement du 10 guide électronique des programmes EPG en provenance du dispositif mandataire EPG-P 110. Pour ce faire, une adresse (e.g. adresse IP) permettant de contacter le dispositif mandataire EPG-P 110 est par exemple préconfigurée dans une mémoire du terminal en question. Le système multimédia comporte en outre une base de données DB 15 (« DataBase » en anglais) 120, connectée au dispositif mandataire EPG-P 110. Comme décrit ci-après, la base de données DB 120 est utilisée par le dispositif mandataire EPG-P 110 pour stocker des données relatives au guide électronique des programmes EPG, permettant de transmettre le guide électronique des programmes EPG soit sous forme complète, soit sous forme différentielle. 20 Dans une variante de réalisation, le dispositif mandataire EPG-P 110 et la base de données DB 120 sont intégrés dans un même équipement mandataire 116. Dans un mode de réalisation particulier, les terminaux STB1 131, STB2 132, STB3 133 communiquent avec le dispositif mandataire EPG-P 110 en utilisant le protocole MQTT (« Message Queuing Telemetry Transport » en anglais), tel que 25 spécifié dans la norme ISO/IEC PRF 20922 (par exemple dans sa version 3.1.1 du 15 juin 2016). D'autres protocoles de communication peuvent être utilisés pour permettre aux terminaux STB1 131, STB2 132, STB3 133 de communiquer avec le dispositif mandataire EPG-P 110, préférentiellement avec acquittement et retransmission. Dans un mode de réalisation particulier, le dispositif mandataire EPG-P 110 30 communique avec le serveur EPG-S 100 en utilisant le protocole HTTP (« Hypertext Transfer Protocol » en anglais) ou son dérivé HTTPS (« HTTP Secure » en anglais). D'autres protocoles de communication peuvent être utilisés pour permettre au dispositif mandataire EPG-P 110 de communiquer avec le serveur EPG-S 100, préférentiellement avec acquittement et retransmission. 8 La Fig. 2 illustre schématiquement un exemple d'architecture matérielle d'une entité du système multimédia. Cette entité peut correspondre, au moins en partie, au serveur EPG-S 100. Cette entité peut correspondre, au moins en partie, au dispositif mandataire EPG-P 110. Cette entité peut correspondre, au moins en partie, à un 5 terminal, par exemple le terminal STB1 131. L'exemple d'architecture matérielle présenté comporte, reliés par un bus de communication 210 : un processeur CPU (« Central Processing Unit » en anglais) 201 ; une mémoire vive RAM (« Random Access Memory » en anglais) 202; une mémoire morte ROM (« Read Only Memory » en anglais) 203 ; une unité de stockage 10 ou un lecteur de support de stockage, tel qu'un lecteur de cartes SD (« Secure Digital » en anglais) ou un disque dur HDD (« Hard Disk Drive » en anglais) 204; et au moins une interface de communication COM 205. Lorsque l'architecture matérielle représente le serveur EPG-S 100, l'interface de communication COM 205 permet au serveur EPG-S 100 de communiquer avec le 15 dispositif mandataire EPG-P 110. Lorsque l'architecture matérielle représente le dispositif mandataire EPG-P 110, l'interface de communication COM 205 permet au dispositif mandataire EPG-P 110 de communiquer avec le serveur EPG-S 100, avec la base de données DB 120, et avec un ou plusieurs terminaux, comme les terminaux STB1 131, STB2 132, STB3 133. 20 Lorsque l'architecture matérielle représente un terminal, l'interface de communication COM 205 permet audit terminal de communiquer avec le dispositif mandataire EPG-P 110. Le processeur CPU 201 est capable d'exécuter des instructions chargées dans la mémoire RAM 202 à partir de la mémoire ROM 203, d'une mémoire externe (telle 25 qu'une carte SD), d'un support de stockage (tel que le disque dur HDD 204), ou d'un réseau de communication. Lors de la mise sous tension, le processeur CPU 201 est capable de lire de la mémoire RAM 202 des instructions et de les exécuter. Ces instructions forment un programme d'ordinateur causant la mise en oeuvre, par le processeur CPU 201, de tout ou partie des algorithmes et étapes décrits ci-après en 30 relation avec l'entité que ladite architecture matérielle représente. Ainsi, tout ou partie des algorithmes et étapes décrits ci-après peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, telle qu'un DSP (« Digital Signal Processor » en anglais) ou un microcontrôleur ou un processeur. Tout ou partie des algorithmes et étapes décrits 9 ci-après peut aussi être implémenté sous forme matérielle par une machine ou un composant dédié, tel qu'un FPGA (« Field-Programmable Gate Array » en anglais) ou un ASIC (« Application-Specific Integrated Circuit » en anglais). Ainsi, chaque entité du système multimédia comporte de la circuiterie électronique adaptée pour 5 implémenter les algorithmes et étapes décrits ci-après en relation avec ladite entité. La Fig. 3 illustre schématiquement un algorithme de mise à disposition, par le dispositif mandataire EPG-P 110, d'une nouvelle version du guide électronique de programmes EPG. Dans une étape 301, le dispositif mandataire EPG-P 110 détecte un événement 10 prédéfini qui déclenche une vérification par le dispositif mandataire EPG-P 110 qu'une nouvelle version du guide électronique de programmes EPG est, ou pas, disponible auprès du serveur EPG-S 100. Par exemple, cet événement prédéfini est représentatif d'une fin d'initialisation ou d'opération de maintenance du dispositif mandataire EPG-P 110. Par exemple, cet événement prédéfini est une fin de 15 temporisation de durée prédéfinie déclenchée lors de la dernière vérification effectuée par le dispositif mandataire EPG-P 110 auprès du serveur EPG-S 100. Notamment, dans un mode de réalisation particulier, le dispositif mandataire EPG-P 110 effectue cette vérification auprès du serveur EPG-S 100 à intervalles réguliers, par exemple toutes les cinq minutes. 20 Dans une étape 302, le dispositif mandataire EPG-P 110 récupère le guide électronique des programmes EPG auprès du serveur EPG-S 100. Dans une étape 303, le dispositif mandataire EPG-P 110 applique une fonction de hachage prédéfinie sur le guide électronique des programmes EPG récupéré, afin d'obtenir un résultat de hachage. En variante de réalisation, le résultat de hachage est 25 fourni par le serveur EPG-S 100 en complément du guide électronique des programmes EPG. Par exemple, le résultat de hachage est une empreinte numérique de type 1V1D5 ou 5HA256. Dans une étape 304, le dispositif mandataire EPG-P 110 détermine si un changement est survenu dans le guide électronique des programmes EPG depuis la 30 dernière vérification. Plus particulièrement, le dispositif mandataire EPG-P 110 vérifie si le résultat de hachage obtenu à l'étape 303 est identique au résultat de hachage obtenu lors de la dernière vérification. Si tel est le cas, aucun changement n'est survenu dans le guide électronique des programmes EPG, et une étape 305 est 10 effectuée ; sinon, un changement est survenu dans le guide électronique des programmes EPG et une étape 306 est effectuée. Dans l'étape 305, optionnelle, le dispositif mandataire EPG-P 110 effectue un nettoyage de la base de données DB 120, de sorte à en retirer d'éventuelles données 5 périmées. Les données stockées dans la base de données DB 120 depuis plus d'une durée prédéfinie, par exemple depuis plus de sept jours, sont effacées de la base de données DB 120. Cela permet de contraindre l'espace de stockage utilisé par la base de données DB 120. Ensuite, l'étape 301 est répétée. A noter que ce nettoyage peut faire l'objet d'un processus parallèle, exécuté à intervalles réguliers, par exemple tous 10 les jours. Dans l'étape 306, le dispositif mandataire EPG-P 110 identifie chaque changement opéré dans le guide électronique des programmes EPG par rapport à la dernière version stockée dans la base de données DB 120. Le dispositif mandataire EPG-P 110 identifie : 15 - si une ou plusieurs chaînes télévisées ont été ajoutées, - si une ou plusieurs chaînes télévisées ont été supprimées, - si un ou plusieurs programmes télévisés ont été ajoutés, - si un ou plusieurs programmes télévisés ont été supprimés, et - si un ou plusieurs programmes télévisés ont été modifiés. 20 Dans un mode de réalisation particulier, le dispositif mandataire EPG-P 110 applique une fonction de hachage prédéfinie sur le contenu du guide électronique des programmes EPG pour chaque chaîne télévisée, ainsi que sur chaque programme télévisé. Le dispositif mandataire EPG-P 110 compare alors le résultat de hachage ainsi obtenu pour chaque chaîne télévisée avec un résultat de hachage obtenu pour 25 ladite chaîne télévisée pour la dernière version stockée dans la base de données DB 120. Si le résultat de hachage est identique, aucun changement n'est survenu pour ladite chaîne télévisée. Si le résultat de hachage diffère, un changement est survenu dans les programmes télévisés diffusés sur ladite chaîne télévisée, et le dispositif mandataire EPG-P 110 scrute alors lesdits programmes télévisés. Le dispositif 30 mandataire EPG-P 110 applique une fonction de hachage prédéfinie sur le contenu du guide électronique des programmes EPG pour chaque programme télévisé diffusé sur ladite chaîne télévisée. Le dispositif mandataire EPG-P 110 compare alors le résultat de hachage ainsi obtenu pour chaque programme télévisé en question avec un résultat de hachage obtenu pour ledit programme télévisé pour la dernière version stockée 11 dans la base de données DB 120. Si le résultat de hachage est identique, aucun changement n'est survenu pour ledit programme télévisé. Si le résultat de hachage diffère, un changement est survenu dans ledit programme télévisé. Dans une étape 307, le dispositif mandataire EPG-P 110 extrait du guide 5 électronique des programmes EPG chaque changement identifié à l'étape 306. Dans un mode de réalisation particulier, le dispositif mandataire EPG-P 110 crée un tableau répertoriant chaque changement identifié à l'étape 306 sous forme d'objet, dans un langage de description d'objets, par exemple JSON (« JavaScript Object Notation » en anglais) ou )ML (« eXtensible Markup Language » en anglais), de la 10 façon suivante : - pour un ajout de chaîne télévisée, l'objet a un code descripteur CHANNEL ADD (code descripteur spécifique d'ajout de chaîne télévisée) et un argument qui comporte toutes les informations du guide électronique des programmes EPG relatives à la chaîne télévisée en question, y compris un identifiant de ladite 15 chaîne télévisée ; - pour une suppression de chaîne télévisée, l'objet a un code descripteur CHANNEL REMOVE (code descripteur spécifique de suppression de chaîne télévisée) et un argument qui comporte l'identifiant de ladite chaîne télévisée ; - pour un ajout de programme télévisé, l'objet a un code descripteur 20 PROGRAM ADD (code descripteur spécifique d'ajout de programme télévisé) et un argument qui comporte toutes les informations du guide électronique des programmes EPG relatives au programme télévisé en question, y compris un identifiant dudit programme télévisé et un identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé ; 25 - pour une suppression de programme télévisé, l'objet a un code descripteur PROGRAM REMOVE (code descripteur spécifique de suppression de programme télévisé) et un argument qui comporte l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé était diffusé ; et 30 - pour une modification de programme télévisé, l'objet a un code descripteur PROGRAM CHANGED (code descripteur spécifique de modification de programme télévisé) et un argument qui comporte toutes les informations du guide électronique des programmes EPG relatives au programme télévisé en question, y compris 12 l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé. Dans une étape 308, le dispositif mandataire EPG-P 110 stocke dans la base de données DB 120 : le guide électronique des programmes EPG dans sa version 5 complète récupérée à l'étape 302; chaque changement identifié à l'étape 307; et une information d'horodatage associée. Dans une étape 309, le dispositif mandataire EPG-P 110 met à disposition des terminaux STB1 131, STB2 132, STB3 133 la version du guide électronique des programmes EPG stockée à l'étape 308. Cette version est disponible sur requête 10 desdits terminaux STB1 131, STB2 132, STB3 133, soit sous forme complète, soit sous forme différentielle, comme détaillé ci-après. Dans un mode de réalisation particulier, le dispositif mandataire EPG-P 110 transmet dans cette étape 309, aux terminaux qui lui sont connectés, le guide électronique des programmes EPG sous forme différentielle. En d'autres termes, le 15 dispositif mandataire EPG-P 110 transmet dans cette étape 309, aux terminaux qui lui sont connectés, uniquement les changements apportés au guide électronique des programmes EPG depuis la dernière version qui avait été stockée dans la base de données DB 120. Typiquement, le dispositif mandataire EPG-P 110 notifie chaque changement identifié à l'étape 306 sous forme d'un objet JSON tel que décrit ci- 20 dessus. Le dispositif mandataire EPG-P 110 adjoint l'information d'horodatage associée à ce ou ces changements, ainsi que préférentiellement l'information d'horodatage de la dernière version qui avait été stockée dans la base de données DB 120. L'information d'horodatage de ladite dernière version permet à chaque terminal de déterminer par rapport à quelle version du guide électronique des programmes EPG 25 le ou les changements notifiés s'appliquent, et ainsi de déterminer si ledit terminal a manqué un ou plusieurs changements intermédiaires, auquel cas ledit terminal est alors en mesure de requérir ces changements intermédiaires auprès du dispositif mandataire EPG-P 110. La Fig. 4 illustre schématiquement un premier algorithme de requête, par un 30 terminal, d'une version à jour du guide électronique de programmes. Considérons à titre illustratif que l'algorithme de la Fig. 4 est exécuté par le terminal STB1 131. Dans une étape 401, le terminal STB1 131 s'initialise ou se réinitialise. Dans une étape 402, le terminal STB1 131 vérifie si ledit terminal STB1 131 dispose, ou pas, d'une version du guide électronique des programmes EPG 13 précédemment obtenue. Si ledit terminal STB1 131 dispose d'une version du guide électronique des programmes EPG précédemment obtenue, une étape 403 est effectuée ; sinon, une étape 406 est effectuée, pendant laquelle le terminal STB1 131 requiert auprès du dispositif mandataire EPG-P 110 que lui soit transmise la dernière 5 version complète du guide électronique des programmes EPG. Dans l'étape 403, le terminal STB1 131 récupère l'information d'horodatage associée à ladite version du guide électronique des programmes EPG précédemment obtenue. Dans une étape 404, optionnelle, le terminal STB1 131 vérifie si ladite version 10 du guide électronique des programmes EPG précédemment obtenue est, ou pas, trop ancienne. En d'autres termes, le terminal STB1 131 détermine s'il s'est écoulé plus d'une durée prédéfinie, par exemple sept jours, depuis l'instant représenté par l'information d'horodatage récupérée à l'étape 403. Si tel est le cas, la dernière version complète du guide électronique des programmes EPG doit être obtenue auprès 15 du dispositif mandataire EPG-P 110, et l'étape 406 est effectuée ; sinon, une étape 405 est effectuée. Dans l'étape 405, le terminal STB1 131 requiert auprès du dispositif mandataire EPG-P 110 que lui soit transmise, sous forme différentielle, la dernière version du guide électronique des programmes EPG. Le terminal STB1 131 transmet au dispositif 20 mandataire EPG-P 110 l'information d'horodatage associée à la dernière version du guide électronique des programmes EPG stockée par ledit terminal STB1 131 (à savoir, l'information d'horodatage récupérée à l'étape 403). Suite à l'exécution de l'algorithme de la Fig. 4, le terminal STB1 131 se met en attente d'une réponse du dispositif mandataire EPG-P 110. 25 La Fig. 5 illustre schématiquement un second algorithme de requête, par un terminal, d'une version à jour du guide électronique de programmes. Il est considéré que l'algorithme de la Fig. 4 a été précédemment exécuté et qu'une version du guide électronique des programmes EPG est déjà stockée en mémoire du terminal en question. Considérons à titre illustratif que l'algorithme de la Fig. 4 est exécuté par le 30 terminal STB 1131. Dans une étape 501, le terminal STB1 131 détecte un événement prédéfini qui déclenche une vérification par le terminal STB1 131 qu'une nouvelle version du guide électronique de programmes EPG est, ou pas, disponible auprès du dispositif mandataire EPG-P 110. Par exemple, cet événement prédéfini est représentatif d'une 14 fin d'opération de maintenance du terminal STB1 131. Par exemple, cet événement prédéfini est une action utilisateur dans un menu graphique affiché par le terminal STB1 131. Par exemple, cet événement prédéfini est une fin de temporisation de durée prédéfinie déclenchée lors de la dernière vérification effectuée par le terminal STB1 5 131 auprès du dispositif mandataire EPG-P 110. Notamment, dans un mode de réalisation particulier, le terminal STB1 131 effectue cette vérification auprès du dispositif mandataire EPG-P 110 à intervalles réguliers, par exemple toutes les heures. Dans une étape 502, le terminal STB1 131 récupère l'information d'horodatage associée à la version du guide électronique des programmes EPG précédemment 10 obtenue et stockée en mémoire du terminal STB1 131. Dans une étape 503, le terminal STB1 131 requiert auprès du dispositif mandataire EPG-P 110 que lui soit transmise, sous forme différentielle, la dernière version du guide électronique des programmes EPG. Le terminal STB1 131 transmet au dispositif mandataire EPG-P 110 l'information d'horodatage associée à la dernière 15 version du guide électronique des programmes EPG stockée par ledit terminal STB1 131 (à savoir, l'information d'horodatage récupérée à l'étape 502). Suite à l'exécution de l'algorithme de la Fig. 5, le terminal STB1 131 se met en attente d'une réponse du dispositif mandataire EPG-P 110. La Fig. 6 illustre schématiquement un algorithme de sélection, par le dispositif 20 mandataire EPG-P 110, de données à transmettre pour répondre à la requête d'un terminal d'obtenir une version à jour du guide électronique de programmes EPG. L'exécution de l'algorithme de la Fig. 6 par le dispositif mandataire EPG-P 110 fait suite à l'exécution de l'algorithme de la Fig. 4 ou de la Fig. 5 par un terminal, tel que le terminal STB1 131. 25 Dans une étape 601, le dispositif mandataire EPG-P 110 reçoit, en provenance d'un terminal, une demande de transmission de la dernière version disponible du guide électronique des programmes EPG. Cette demande émane de l'exécution de l'étape 405, 406 ou 503. La demande inclut une information d'horodatage associée à la dernière version du guide électronique des programmes EPG à disposition du 30 terminal en question. Dans une étape 602, le dispositif mandataire EPG-P 110 détermine si la demande concerne la dernière version du guide électronique des programmes EPG sous forme complète ou sous forme différentielle. Si la demande concerne la dernière version du guide électronique des programmes EPG sous forme complète, une étape 15 605 est effectuée, pendant laquelle le dispositif mandataire EPG-P 110 transmet au terminal en question la dernière version du guide électronique des programmes EPG sous forme complète ; sinon, une étape 603 est effectuée. Dans l'étape 603, le dispositif mandataire EPG-P 110 récupère l'information 5 d'horodatage associée à la dernière version du guide électronique des programmes EPG à disposition du terminal en question, telle qu'incluse dans la demande reçue à l'étape 601. Dans une étape 604, le dispositif mandataire EPG-P 110 vérifie si ladite dernière version du guide électronique des programmes EPG précédemment à disposition du 10 terminal en question est, ou pas, trop ancienne. En d'autres termes, le dispositif mandataire EPG-P 110 détermine s'il s'est écoulé plus d'une durée prédéfinie, par exemple 7 jours, depuis l'instant représenté par l'information d'horodatage récupérée à l'étape 603. Si tel est le cas, la dernière version complète du guide électronique des programmes EPG doit être transmise au terminal en question, et l'étape 605 est 15 effectuée ; sinon, une étape 606 est effectuée. Dans l'étape 606, le dispositif mandataire EPG-P 110 identifie, à partir de l'information d'horodatage récupérée à l'étape 603, chaque mise à jour ultérieure du guide électronique des programmes EPG. Le dispositif mandataire EPG-P 110 scrute la base de données DB 120 pour déterminer si une ou plusieurs versions plus récentes 20 du guide électronique des programmes EPG y ont été stockées (une version plus récente est associée à une information d'horodatage représentant un instant postérieur à l'instant représenté par l'information d'horodatage récupérée à l'étape 603). Dans une étape 607, le dispositif mandataire EPG-P 110 détermine si la dernière version du guide électronique des programmes EPG à disposition du terminal en 25 question est à jour (pas de version plus récente dans la base de données DB 120). Si tel est le cas, une étape 608 est effectuée ; sinon, le dispositif mandataire EPG-P 110 transmet au terminal en question la dernière version du guide électronique des programmes EPG sous forme différentielle. En d'autres termes, le dispositif mandataire EPG-P 110 transmet au terminal en question les différences entre la 30 dernière version disponible du guide électronique des programmes EPG dans la base de données DB 120 et la dernière version du guide électronique des programmes EPG à disposition du terminal en question. Ainsi, une étape 609 est effectuée. 16 Dans l'étape 608, le dispositif mandataire EPG-P 110 transmet, au terminal en question, une notification indiquant que la dernière version du guide électronique des programmes EPG à disposition du terminal en question est à jour. Dans l'étape 609, le dispositif mandataire EPG-P 110 détermine si plusieurs 5 versions du guide électronique des programmes EPG ont été stockées dans la base de données DB 120 depuis la dernière version du guide électronique des programmes EPG à disposition du terminal en question. Si tel est le cas, une étape 611 est effectuée ; sinon, une étape 610 est effectuée. Dans l'étape 610, le dispositif mandataire EPG-P 110 transmet uniquement les 10 changements apportés au guide électronique des programmes EPG par la dernière version stockée dans la base de données DB 120. Cela forme un jeu de données de mise à jour différentielle du guide électronique des programmes EPG. Typiquement, le dispositif mandataire EPG-P 110 notifie chaque changement sous forme d'un objet JSON tel que décrit ci-dessus en relation avec la Fig. 3. Le dispositif mandataire 15 EPG-P 110 adjoint l'information d'horodatage associée à ce jeu de données de mise à jour différentielle. Dans l'étape 611, le dispositif mandataire EPG-P 110 concatène les changements opérés dans les différentes versions du guide électronique des programmes EPG qui ont été stockées dans la base de données DB 120 depuis la 20 dernière version du guide électronique des programmes EPG à disposition du terminal en question. Cela forme plusieurs jeux de données de mise à jour différentielle du guide électronique des programmes EPG. Typiquement, le dispositif mandataire EPG-P 110 notifie chaque changement sous forme d'un objet JSON tel que décrit ci-dessus en relation avec la Fig. 3. Le dispositif mandataire EPG-P 110 adjoint 25 l'information d'horodatage associée à chaque jeu de données de mise à jour différentielle. Cela permet au terminal en question de savoir dans quel ordre appliquer les changements à partir de la dernière version du guide électronique des programmes EPG à disposition du terminal en question. Dans une étape 612, le dispositif mandataire EPG-P 110 transmet au terminal en 30 question la concaténation obtenue à l'étape 611, avec les informations d'horodatage associées. Dans un mode de réalisation particulier, pour déterminer si le guide électronique des programmes EPG est à transmettre sous forme différentielle ou sous forme complète, le dispositif mandataire EPG-P 110 effectue un test sur le volume de 17 données à transmettre, indépendamment d'une éventuelle question d'ancienneté de ladite dernière version du guide électronique des programmes EPG précédemment à disposition du terminal en question. Ainsi, lorsque le terminal STB1 131 demande que lui soit transmise une nouvelle version du guide électronique des 5 programmes EPG sous forme différentielle, le dispositif mandataire EPG-P 110 vérifie si transmettre le guide électronique des programmes EPG sous forme différentielle représente un volume de données supérieur ou égal à transmettre le guide électronique des programmes EPG sous forme complète. Cela dépend notamment des formats de description utilisés. En cas de vérification négative, le 10 dispositif mandataire EPG-P 110 transmet, au terminal STB1 131, le guide électronique des programmes sous forme différentielle. Et en cas de vérification positive, le dispositif mandataire EPG-P 110 transmet, audit terminal STB1 131, le guide électronique des programmes sous forme complète. La Fig. 7 illustre schématiquement un algorithme de mise à disposition, par un 15 terminal, du guide électronique de programmes EPG. L'exécution de l'algorithme de la Fig. 7 par le terminal en question fait suite à l'exécution de l'algorithme de la Fig. 6 (ou de la Fig. 3, voir l'étape 309) par le dispositif mandataire EPG-P 110. Considérons à titre illustratif que l'algorithme de la Fig. 7 est exécuté par le terminal STB1 131. Dans une étape 701, le terminal STB1 131 reçoit, en provenance du dispositif 20 mandataire EPG-P 110, des données relatives au guide électronique de programmes EPG. Ces données reçues visent à mettre à jour la dernière version du guide électronique des programmes EPG à disposition du terminal STB1 131. Dans une étape 702, le terminal STB1 131 détermine si les données reçues à l'étape 701 correspondent au guide électronique de programmes EPG sous forme 25 complète ou sous forme différentielle. Si lesdites données correspondent au guide électronique de programmes EPG sous forme complète, une étape 706 est effectuée ; sinon, une étape 703 est effectuée. Dans l'étape 703, le terminal STB1 131 récupère le jeu de données de mise à jour différentielle le plus ancien parmi le ou les jeux de données de mise à jour 30 différentielle reçus à l'étape 701 ou parmi ceux restant à traiter parmi le ou les jeux de données de mise à jour différentielle reçus à l'étape 701. L'information d'horodatage associée à chaque jeu de données de mise à jour différentielle est utilisée pour ce faire. 18 Dans une étape 704, le terminal STB1 131 effectue la mise à jour du guide électronique de programmes EPG en appliquant le changement correspondant au jeu de données de mise à jour différentielle sélectionné à l'étape 703. Dans une étape 705, le terminal STB1 131 vérifie s'il reste, ou pas, au moins un 5 jeu de données à traiter parmi le ou les jeux de données de mise à jour différentielle reçus à l'étape 701. S'il reste au moins un jeu de données à traiter, l'étape 703 est répétée avec un jeu de données restant à traiter ; sinon, l'étape 706 est effectuée. Dans l'étape 706, le terminal STB1 131 stocke le guide électronique de programmes EPG sous forme complète, c'est-à-dire tel que reçu (voir l'étape 702) ou 10 tel que mis à jour (voir l'étape 704). Le terminal STB1 131 stocke aussi l'information d'horodatage associée, telle que fournie par le dispositif mandataire EPG-P 110. Lorsque plusieurs jeux de données de mise à jour différentielle ont été concaténés par le dispositif mandataire EPG-P 110, l'information d'horodatage la plus récente de la concaténation est stockée par le terminal STB1 131. 15 Dans une étape 707, le terminal STB1 131 met à disposition, par exemple pour affichage à un utilisateur, le guide électronique de programmes EPG ainsi stocké. Ainsi, grâce à l'invention détaillée ci-dessus, on évite de transmettre une version complète du guide électronique des programmes EPG, qui peut représenter une centaine de mégaoctets, à chaque changement du guide électronique des programmes 20 EPG, pour une programmation télévisée de plusieurs dizaines de chaînes télévisées sur plusieurs jours. Lorsqu'une chaîne télévisée est ajoutée, l'utilisation de la forme différentielle limite la transmission à quelques mégaoctets. Lorsqu'une chaîne télévisée est supprimée ou qu'un programme télévisé est supprimé, l'utilisation de la forme différentielle limite la transmission à quelques octets. Lorsqu'un programme 25 télévisé est ajouté ou modifié, l'utilisation de la forme différentielle limite la transmission à quelques dizaines d'octets. REVENDICATIONS1) Procédé de mise à disposition d'un guide électronique des programmes à au moins un terminal (131, 132, 133) déclaré auprès d'un dispositif mandataire (110), le procédé étant implémenté par le dispositif mandataire (110), le procédé étant caractérisé en ce que, lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit au moins un terminal (131, 132, 133) : - lorsque ledit au moins un terminal (131, 132, 133) dispose d'une précédente version du guide électronique des programmes, le dispositif mandataire (110) transmet (610, 612), audit au moins un terminal (131, 132, 133), le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et - lorsque ledit au moins un terminal (131, 132, 133) ne dispose pas de précédente version du guide électronique des programmes, le dispositif mandataire (110) transmet (605), audit au moins un terminal (131, 132, 133), le guide électronique des programmes sous forme complète. 2) Procédé selon la revendication 1, caractérisé en ce que : - le dispositif mandataire (110) récupère (302) le guide électronique des programmes auprès d'un serveur (100) et stocke toute nouvelle version du guide électronique des programmes dans une base de données (120) ; - le dispositif mandataire (110) identifie (306) chaque changement du guide électronique des programmes entre une dite nouvelle version récupérée auprès du serveur (100) et la dernière version stockée dans la base de données (120) ; et le dispositif mandataire (110) stocke (308) dans la base de données (120), outre ladite nouvelle version du guide électronique des programmes, chaque changement identifié et une information d'horodatage associée. 3) Procédé selon la revendication 2, caractérisé en ce que chaque transmission par le dispositif mandataire (110) du guide électronique des programmes, que ce soit sous forme complète ou différentielle, est accompagnée de l'information d'horodatage associée. 20 4) Procédé selon la revendication 3, caractérisé en ce que chaque transmission par le dispositif mandataire (110) du guide électronique des programmes sous forme différentielle est en outre accompagnée de l'information d'horodatage associée à la version du guide des programmes par rapport à laquelle la forme différentielle a été 5 déterminée. 5) Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que, lorsqu'un terminal (131, 132, 133) demande que lui soit transmise une nouvelle version du guide électronique des programmes sous forme différentielle : 10 le dispositif mandataire (110) reçoit du terminal (131, 132, 133) une information d'horodatage associée à la précédente version du guide électronique des programmes dont dispose ledit terminal (131, 132, 133) ; et - pour transmettre (610, 612) la nouvelle version du guide électronique des programmes sous forme différentielle, le dispositif mandataire (110) détermine si 15 plusieurs nouvelles versions du guide électronique des programmes ont été stockées dans la base de données (120) depuis la précédente version du guide électronique des programmes dont dispose ledit terminal (131, 132, 133), et le cas échéant, le dispositif mandataire (110) concatène (611) les changements opérés dans les différentes versions du guide électronique des programmes qui ont été stockées dans la base de 20 données (120) depuis la précédente version du guide électronique des programmes dont dispose ledit terminal (131, 132, 133). 6) Procédé selon la revendication 5, caractérisé en ce que, lorsqu'un terminal (131, 132, 133) demande que lui soit transmise une nouvelle version du guide 25 électronique des programmes sous forme différentielle : - le dispositif mandataire (110) vérifie (604) s'il s'est écoulé, ou pas, plus d'une durée prédéfinie depuis l'instant représenté par l'information d'horodatage reçue ; - en cas de vérification négative, le dispositif mandataire (110) transmet 30 (610, 612), audit terminal (131, 132, 133), le guide électronique des programmes sous forme différentielle ; et - en cas de vérification positive, le dispositif mandataire (110) transmet (605), audit terminal (131, 132, 133), le guide électronique des programmes sous forme complète. 21 7) Procédé selon l'une quelconque des revendications 2 à 6, caractérisé en ce que le dispositif mandataire (110) crée un tableau répertoriant chaque changement identifié sous forme d'objet dans un langage de description d'objets de la façon 5 suivante : - pour un ajout de chaîne télévisée, l'objet a un code descripteur spécifique d'ajout de chaîne télévisée et un argument qui comporte toutes les informations du guide électronique des programmes relatives à la chaîne télévisée en question, y compris un identifiant de ladite chaîne télévisée ; 10 - pour une suppression de chaîne télévisée, l'objet a un code descripteur spécifique de suppression de chaîne télévisée et un argument qui comporte l'identifiant de ladite chaîne télévisée ; - pour un ajout de programme télévisé, l'objet a un code descripteur spécifique d'ajout de programme télévisé et un argument qui comporte toutes les informations du 15 guide électronique des programmes relatives au programme télévisé en question, y compris un identifiant dudit programme télévisé et un identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé ; - pour une suppression de programme télévisé, l'objet a un code descripteur spécifique de suppression de programme télévisé et un argument qui comporte 20 l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé était diffusé ; et - pour une modification de programme télévisé, l'objet a un code descripteur spécifique de modification de programme télévisé et un argument qui comporte toutes les informations du guide électronique des programmes relatives au programme 25 télévisé en question, y compris l'identifiant dudit programme télévisé et l'identifiant de la chaîne télévisée sur laquelle ledit programme télévisé est diffusé. 8) Procédé selon l'une quelconque des revendications là 7, caractérisé en ce que, lorsqu'un terminal (131, 132, 133) demande que lui soit transmise une nouvelle 30 version du guide électronique des programmes sous forme différentielle : - le dispositif mandataire (110) vérifie si transmettre le guide électronique des programmes sous forme différentielle représente un volume de données supérieur ou égal à transmettre le guide électronique des programmes sous forme complète ; 22 - en cas de vérification négative, le dispositif mandataire (110) transmet, audit terminal (131, 132, 133), le guide électronique des programmes sous forme différentielle ; et - en cas de vérification positive, le dispositif mandataire (110) transmet, 5 audit terminal (131, 132, 133), le guide électronique des programmes sous forme complète. 9) Procédé de mise à disposition d'un guide électronique des programmes à un terminal (131, 132, 133) déclaré auprès d'un dispositif mandataire (110), le 10 procédé étant implémenté par ledit terminal (131, 132, 133), le procédé étant caractérisé en ce que, lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit terminal (131, 132, 133) : - lorsque ledit terminal (131, 132, 133) dispose d'une précédente version du guide électronique des programmes, ledit terminal (131, 132, 133) reçoit, dudit 15 dispositif mandataire (110), le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et - lorsque ledit terminal (131, 132, 133) ne dispose pas de précédente version du guide électronique des programmes, ledit terminal (131, 132, 133) reçoit, dudit 20 dispositif mandataire (110), le guide électronique des programmes sous forme complète. 10) Procédé de mise à disposition d'un guide électronique des programmes à au moins un terminal (131, 132, 133) déclaré auprès d'un dispositif mandataire (110), 25 caractérisé en ce que le dispositif mandataire (110) implémente le procédé selon l'une quelconque des revendications 1 à 8, et chaque terminal (131, 132, 133) implémente le procédé selon la revendication 9. 11) Produit programme d'ordinateur, caractérisé en ce qu'il comprend des 30 instructions pour implémenter, par un processeur (201), le procédé selon l'une quelconque des revendications 1 à 8 ou selon la revendication 9, lorsque ledit programme est exécuté par ledit processeur (201). 23 12) Support de stockage d'informations, caractérisé en ce qu'il stocke un programme d'ordinateur comprenant des instructions pour implémenter, par un processeur (201), le procédé selon l'une quelconque des revendications 1 à 8 ou selon la revendication 9, lorsque ledit programme est lu et exécuté par ledit processeur 5 (201). 13) Dispositif mandataire (110) configure pour mettre à disposition un guide électronique des programmes à au moins un terminal (131, 132, 133) déclaré auprès du dispositif mandataire (110), caractérisé en ce que le dispositif mandataire (110) 10 comporte les moyens suivants, activés lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit au moins un terminal (131, 132, 133) : - lorsque ledit au moins un terminal (131, 132, 133) dispose d'une précédente version du guide électronique des programmes, des moyens pour 15 transmettre (610, 612), audit au moins un terminal (131, 132, 133), le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et - lorsque ledit au moins un terminal (131, 132, 133) ne dispose pas de précédente version du guide électronique des programmes, des moyens pour 20 transmettre (605), audit au moins un terminal (131, 132, 133), le guide électronique des programmes sous forme complète. 14) Terminal (131, 132, 133) comportant des moyens pour se déclarer auprès d'un dispositif mandataire (110) destiné à mettre à disposition dudit terminal (131, 25 132, 133) un guide électronique des programmes, caractérisé en ce que le terminal (131, 132, 133) comporte en outre les moyens suivants activés lorsqu'une nouvelle version du guide électronique des programmes doit être fournie audit terminal (131, 132, 133) : - lorsque ledit terminal (131, 132, 133) dispose d'une précédente version du 30 guide électronique des programmes, des moyens pour recevoir, dudit dispositif mandataire (110), le guide électronique des programmes sous forme différentielle par rapport à ladite précédente version du guide électronique des programmes ; et 24 - lorsque ledit terminal (131, 132, 133) ne dispose pas de précédente version du guide électronique des programmes, des moyens pour recevoir, dudit dispositif mandataire (110), le guide électronique des programmes sous forme complète. 5 15) Système multimédia comportant un dispositif mandataire (110) selon la revendication 13 et au moins un terminal (131, 132, 133) selon la revendication 14.