INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Les moteurs de VTO peuvent être mis à disposition en tant que composant d’un site Web, par exemple pour être téléchargés via une page Web pour être utilisés pendant qu’un utilisateur interagit avec la page Web. L’exécution d’un moteur de VTO sur l’appareil de l’utilisateur signifie que les images fournies par l’utilisateur, généralement sous la forme d’un selfie, sont traitées localement. Le traitement local peut simuler l’effet en temps quasi réel lorsque les images de l’utilisateur et les images augmentées sont communiquées. Lorsque le moteur est exécuté à distance par rapport à l’appareil de l’utilisateur, comme dans le nuage, les images d’entrée et de sortie nécessitent une communication entre l’utilisateur et le moteur. Un retard de communication important peut réduire l’expérience de simulation en temps réel. En outre, la confidentialité est améliorée par un traitement local. Cependant, un inconvénient du traitement local est la nécessité de télécharger et de préparer le moteur pour commencer l’exécution. Des retards de quelques secondes ou plus sont courants.
RÉSUMÉ La présente invention concerne un dispositif informatique comprenant au moins un processeur et un support de stockage non transitoire stockant des instructions lisibles par ordinateur qui, lorsqu’elles sont exécutées par un processeur du dispositif informatique, amènent le dispositif informatique à :
présenter une expérience d’essai virtuel (VTO) pour un produit ou un service comprenant l’affichage d’une post-image d’un modèle à partir d’une pluralité de post-images du modèle pré-rendues pour montrer des instances d’effets de produit ou de service dans le cadre d’une expérience d’image de modèle et
Selon des modes de réalisation le dispositif selon l’invention comprend une ou plusieurs des caractéristiques suivantes, prises isolément, ou suivant toutes les combinaisons techniquement possibles : les instructions amènent le dispositif informatique à : présenter pendant l’expérience d’image de modèle une commande de démarrage pour recevoir une entrée pour démarrer l’expérience d’image utilisateur ; recevoir une entrée pour démarrer l’expérience d’image utilisateur ; appeler le chargement de l’expérience d’image utilisateur en réponse ; et continuer à présenter l’expérience d’image de modèle pendant que l’expérience d’image utilisateur est chargée par le dispositif informatique ; les instructions amènent le dispositif informatique à présenter l’expérience d’image de modèle dans une zone de chevauchement dans une zone d’écran avec l’expérience d’image utilisateur et à présenter une commande pour basculer entre l’expérience d’image utilisateur et l’expérience d’image de modèle ; le produit ou service est un produit capillaire, un produit pour ongles ou un produit de maquillage ; les instructions amènent le dispositif informatique à recevoir une pré-image de modèle où aucun effet n’est appliqué au modèle et à présenter avant/après la commande pour afficher sélectivement la pré-image de modèle et une post-image modèle sélectionnée pour présenter un essai virtuel avant/après du produit ou service ; les instructions amènent le dispositif informatique à présenter une interface de sélection des effets à choisir entre les effets de produit ou les services pour simuler différentes instances du produit ou du service dans les post-images utilisateur ; les instructions entraînent la réception par le dispositif informatique de post-images du modèle pour une pluralité de modèles et présentent une interface de sélection de modèle pour sélectionner entre la pluralité de post-images du modèle à présenter pendant l’expérience d’image de modèle ; dans lequel les instructions amènent le dispositif informatique à présenter l’expérience de VTO comme une publicité dans une partie de la page Web ; le dispositif informatique est un dispositif informatique utilisateur et le moteur de VTO comprend un moteur de VTO utilisateur, et dans lequel les instructions font que le dispositif informatique utilisateur reçoit les post-images du modèle sous forme d’images pré-rendues générées par un moteur de VTO correspondant configuré pour s’exécuter sur un dispositif informatique séparé du dispositif informatique utilisateur.
La présente invention concerne également un produit logistique comprenant un support de stockage non transitoire stockant des instructions lisibles par ordinateur qui, lorsqu’elles sont exécutées par un processeur d’un dispositif informatique, amènent le dispositif informatique à :
présenter une expérience d’essai virtuel (VTO) pour un produit ou un service comprenant l’affichage d’une post-image du modèle à partir d’une pluralité de post-images du modèle pré-rendues pour montrer des instances d’effets de produit ou de service et
Avantageusement, ce mode de réalisation permet de contrôler les informations/données fournies par un service de fourniture de données externes à une chaîne de blocs tel qu’un oracle. De ce fait, ce mode de réalisation propose un nouveau rôle associé à la gestion d’une chaîne de blocs ; celui de vérificateur de données d’oracle.
En effet, un oracle peut fortuitement ou sciemment (par exemple lorsque celui-ci est malveillant) retourner des données erronées ou bien omettre des données dans sa réponse. Ainsi, l’invention permet de vérifier le résultat (i.e. des données) obtenu à la suite de l’exécution d’une commande par un oracle et sa complétude.
Concrètement, le procédé obtient depuis un premier contrat intelligent inscrit à la chaîne de blocs une commande émise par un utilisateur à destination d’un premier oracle. Le procédé obtient également le résultat de l’exécution de la commande par le premier oracle par exemple depuis un deuxième contrat intelligent.
Selon un mode particulier de réalisation, le premier et le deuxième contrat intelligent est un seul et même contrat intelligent.
Selon un mode particulier de réalisation, la commande peut être obtenue depuis le premier contrat intelligent et depuis l’utilisateur de la chaîne de blocs. Ce mode de réalisation permet comparer les requêtes obtenues et de s’assurer que la requête à traiter par le procédé, c’est-à-dire émise par le premier utilisateur à destination de l’oracle est bien la bonne.
Le procédé obtient ensuite un deuxième résultat d’exécution de la commande, par exemple depuis un deuxième oracle. Puis, le procédé vérifie le premier résultat par exemple en le comparant au deuxième résultat. S’ils sont identiques alors les données fournies par le service (c’est-à-dire le premier oracle) sont considérées comme valides.
Selon un mode particulier de réalisation, le procédé peut lui-même exécuter la commande, dans ce cas le procédé peut être considéré comme le deuxième oracle.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite étape de vérification correspond à une comparaison de ladite au moins une première donnée avec ledit deuxième résultat et lorsque le résultat de ladite comparaison est négatif une demande de validité de tout ou partie dudit deuxième résultat est émise à destination d’un troisième contrat intelligent inscrit à ladite chaîne de blocs.
Ce mode de réalisation permet de valider tout ou partie du deuxième résultat d’exécution de la commande auprès d’un contrat intelligent (troisième contrat intelligent au sens de l’invention) inscrit à la chaîne de blocs. Un contrat intelligent n’étant pas altérable dans le temps l’ensemble des tests réalisés par le troisième contrat intelligent sur le deuxième résultat d’exécution peuvent être considérés comme certifiés. Ainsi, le résultat de ces tests permet de certifier la validité de tout ou partie du deuxième résultat d’exécution de la commande.
L'invention propose également un procédé de validation, par un contrat intelligent inscrit à une chaîne de blocs, d’au moins une donnée obtenue depuis un service de fourniture à ladite chaîne de blocs de données externes à ladite chaîne de blocs, le procédé étant caractérisé en ce qu’il comprend les étapes suivantes : obtention d’une requête émise à destination dudit service, ladite requête comprenant une première estampille temporelle et une commande ; obtention d’un premier résultat d’exécution de ladite commande par ledit service ; obtention de tout ou partie d’un deuxième résultat d’exécution de ladite commande comprenant ladite au moins une donnée associée à une signature électronique et à une deuxième estampille temporelle ;
et lorsque ladite au moins une donnée n’est pas comprise dans ledit premier résultat vérification de la validité de ladite au moins une donnée via le contrôle de la validité de ladite signature, de l’antériorité de ladite deuxième estampille temporelle par rapport à ladite première estampille temporelle et de la validité de ladite au moins une donnée comme résultat de ladite commande.
Avantageusement, l’invention permet de s’assurer de la validité des informations/données fournies par un service de fourniture de données d’une chaîne de blocs.
Concrètement, le procédé obtient par exemple d’un premier utilisateur inscrit à une chaîne de blocs une demande d’information/de donnée(s) (requête au sens de l’invention) émise à destination d’un premier oracle (service de fourniture de données au sens de l’invention). La demande comprend au moins une commande à exécuter par l’oracle et une première estampille temporelle indiquant par exemple la date d’émission ou de création de la demande /requête. Le procédé obtient ensuite le résultat de l’exécution de la commande par l’oracle. Le résultat est par exemple obtenu depuis un contrat intelligent inscrit à la chaîne de blocs.
Le procédé obtient par la suite tout ou partie d’un deuxième résultat d’exécution de la commande par exemple via un deuxième utilisateur de la chaîne de blocs tel qu’un deuxième oracle. La réponse comprend une ou plusieurs données avec pour chaque donnée obtenue une signature électronique et une deuxième estampille temporelle associée.
Par exemple, lorsque la commande est une requête de type SQL (Structure Query Language en anglais) la ou les données peuvent correspondre à un ou plusieurs enregistrements d’une base de données (une ligne ou plusieurs lignes de la base de données). La deuxième estampille temporelle peut alors correspondre à une information sur la chronologie de l’écriture de la donnée au sein de la base de données comme par exemple l’index de la base de données lorsque celle-ci est seulement accessible en écriture (pas de suppression d’enregistrement/donnée/ligne au sein de la base de données) ou bien à un horodatage de la donnée elle-même. La signature électronique peut quant à elle correspondre à la signature électronique de l’entité qui alimente la base de données.
Lorsque la ou les données obtenues ne sont pas comprises dans le premier résultat d’exécution de la requête, le procédé vérifie la validité des données reçues via la réalisation de plusieurs tests. Le premier test consiste à vérifier que la signature associée à une donnée est bien valide. Bien évidement cela suppose que le procédé dispose de clef(s) cryptographique(s) (privé et/ou publique) permettant cette vérification. Le deuxième test a pour but de vérifier que les données reçues sont bien antérieures à la création ou à l’émission de la requête. Pour cela le procédé vérifie que l’estampille temporelle de la requête est bien postérieure aux estampilles temporelles des données. Enfin, le procédé vérifie également que les données reçues correspondent bien à une réponse valide de la requête. Dans le cas où les données reçues correspondent à une ou plusieurs lignes d’une base de données, le procédé vérifie que l’ensemble des données correspondent à un résultat possible d’exécution de la commande SQL.
On entend par commande une instruction informatique permettant l’exécution d’un ordre, d’une action ou d’une suite d’ordres et d’actions.
On entend par signature électronique (ou signature numérique) une suite de caractères permettant d’authentifier l’auteur d’une donnée (par exemple l’entité qui a ajouté une donnée à une base de données) et d’en garantir l’authenticité. La signature électronique peut également permettre de garantir l’inaltérabilité de la donnée une fois celle-ci signée par l’entité qui la détient/partage. De façon connue, l'essentiel des procédures de signature numérique existantes s’appuie sur la cryptographie asymétrique comme l’algorithme RSA.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que l’étape de vérification est suivie par une étape d’émission d’une notification de validité de ladite au moins une donnée.
Ce mode de réalisation permet d’informer/notifier un utilisateur de la chaîne de blocs (oracle ou non) de la validité ou de la non-validité des données obtenues.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite étape de vérification est précédée d’une étape d’obtention (E20) d’un paramètre dont la valeur correspond à un montant financier et en ce que lorsque le résultat de ladite vérification est positif tout ou partie de la valeur dudit paramètre est émis (E120, E121) à destination d’un utilisateur de ladite chaîne de blocs.
Ce mode de réalisation permet de rémunérer un utilisateur (par exemple un deuxième oracle) de la chaîne de blocs lorsque celui-ci fournit/trouve une donnée valide (c’est-à-dire une donnée qui correspond à tout ou partie d’un résultat possible d’exécution de la commande) non transmise par l’oracle. Pour ce faire le procédé obtient, par exemple du premier oracle, un paramètre dont la valeur correspond à un montant financier. La valeur du paramètre peut correspondre à un montant libellé dans une monnaie d’un pays, à un nombre défini de jetons d’une cryptomonnaie ou plus généralement à une valeur marchande quelconque (par exemple des jetons de calcul d’un serveur informatique). Concrètement, le paramètre peut être assimilé à une caution/séquestre consentie par l’oracle en cas d’erreur de celui-ci. Lorsqu’une erreur est avérée tout ou partie de la caution est reversée à l’utilisateur (par exemple sur un de ses contrats intelligent) qui a permis de détecter l’erreur, c’est-à-dire à l’utilisateur qui a fourni au procédé une donnée valide non transmise par l’oracle.
L'invention concerne également un dispositif de vérification d’au moins une première donnée obtenue depuis un service de fourniture de données caractérisé en ce qu’il comprend : un premier module d’obtention d’une commande émise à destination dudit service ; un deuxième module d’obtention de ladite moins une première donnée correspondant à un premier résultat d’exécution de ladite commande par ledit service ; un troisième module d’obtention d'au moins une seconde donnée correspondant à un deuxième résultat d’exécution de ladite commande ; un module de vérification de ladite au moins une première donnée en fonction dudit deuxième résultat.
L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de vérification et/ou de validation décrits ci-dessus selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Le procédé peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
Ce dispositif de vérification et le programme d'ordinateur mettant en œuvre le procédé de vérification présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé de vérification.
Le programme d'ordinateur mettant en œuvre le procédé de validation présente des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé de validation.
La représente l’architecture matérielle d’un dispositif de vérification selon un mode particulier de réalisation.
Selon un mode de réalisation, l=10 et m=5, et le groupe
dans la formule (A) ci-dessus représente le résidu alkyle d’acide 12-hydroxystéarique (le principal composant de l’huile de ricin hydrogénée).
Lorsque le diacide est l’acide sébacique, X 1 représente le groupe alkylène linéaire -(CH 2 ) x - où « x » vaut 8.
Le degré moyen de polymérisation de l’oligomère peut varier entre 3 et 12, plus préférentiellement entre 4 et 10.
Ainsi, le (b) oligomère d’un triglycéride d’un acide gras hydroxylé et d’un diacide saturé peut être représenté par la formule (C) suivante : (C)
chacun de R 1 , R 2 , et X 1 a la signification expliquée ci-dessus, et
n désigne un degré moyen de polymérisation entre 3 et 12, préférentiellement entre 4 et 10.
Il est préférable que le groupe suivant
dans la formule (C) ci-dessus représente le résidu alkyle d’acide 12-hydroxystéarique, et que X 1 représente -(CH 2 ) 8 -.
Il est plus préférable que le (a) oligomère d’un triglycéride d’un acide gras hydroxylé et d’un diacide saturé soit un oligoester d’huile de ricin hydrogénée et d’acide sébacique, c’est-à-dire un copolymère huile de ricin hydrogénée/acide sébacique formé à partir d’huile de ricin hydrogénée et d’acide sébacique.
Le copolymère huile de ricin hydrogénée/acide sébacique est notamment vendu par la société CRODA sous divers noms en fonction du degré de polymérisation.
Parmi les copolymères huile de ricin hydrogénée/acide sébacique, l’un avec un degré de polymérisation d’environ 4,6 est disponible sous le nom commercial « CROMADOL CWS-5 » et l’un avec un degré de polymérisation d’environ 9,5 est disponible sous le nom commercial « CROMADOL CWS-10 », vendu par Croda Japan K.K.
On peut également citer l’oligomère d’huile de ricin hydrogénée et d’acide sébacique vendu sous le nom CRODABOND CSA (poids moléculaire=3 500) par la société CRODA.
Le ou les oligomères d'un triglycéride d'un acide gras hydroxylé et d'un diacide saturé peuvent être présents dans la composition selon la présente invention en une quantité de 0,05 % en poids ou plus, préférentiellement de 0,1 % en poids ou plus, et plus préférentiellement de 0,15 % en poids ou plus, par rapport au poids total de la composition.
Le ou les oligomères d'un triglycéride d'un acide gras hydroxylé et d'un diacide saturé peuvent être présents dans la composition selon la présente invention en une quantité de 15 % en poids ou moins, préférentiellement de 10 % en poids ou moins, et plus préférentiellement de 5 % en poids ou moins, par rapport au poids total de la composition.
De plus, le positionnement relatif des glissières 42, 44, 56 et des reliefs d’accroche 90, 92, 94 permet d’assurer le maintien par rapport au bâti 12 d’une partie supérieure de la tête de distribution 18 essentiellement via les première et deuxième glissières 42, 44 et le maintien par rapport au bâti 12 d’une partie inférieure de la tête de distribution 18 essentiellement via la troisième glissière 56.
Comme visible à la , la tête de distribution 18 comprend également une butée supérieure 100 propre à interagir avec un fond 102 d’une fente 104 formée dans la paroi avant 31 lorsque la tête de distribution 18 est en position basse pour empêcher le déplacement de la tête de distribution 18 vers le bas au-delà de la position basse.
Avantageusement, la butée supérieure 100 est formée sur l’organe de réglage 78 et notamment sur une façade avant 106 de l’organe de réglage 78 visible à la .
La tête de distribution 18 comprend également une première 110 et une deuxième 112 butées inférieures propres à interagir respectivement avec une extrémité inférieure, non représentée, de la première glissière 42 et une extrémité inférieure 116 de la deuxième glissière 44 lorsque la tête de distribution 18 est en position haute pour empêcher le déplacement de la tête de distribution 18 vers le haut au-delà de la position haute (voir ).
Comme visible à la , les butées inférieures 110, 112 sont de préférence formées sur la face arrière 98 du corps de distribution 70.
Un tel agencement des butées inférieures 110, 112 et des glissières 42, 44, 56 permet de garantir que même en position haute de la tête de distribution 18 la troisième glissière 56 est toujours en contact avec la tête de distribution 18 et celle-ci ne peut pas dérailler par rapport à la troisième glissière 56.
L’organe de réglage 78 est représenté à la et comprend une zone de préhension 118 propre à être saisie par un utilisateur pour que l’utilisateur règle la position de la tête de distribution 18 entre les positions haute et basse.
L’organe de réglage 78 est propre à être fixé au corps de distribution 70.
L’organe de réglage 78 comprend notamment sur une façade arrière 119 deux logements, non visibles sur les figures, propres à recevoir des pions de fixation 124, 126 formés sur une face avant 128 du corps de distribution 70 (voir ). Chaque logement forme un élément de fixation de l’organe de réglage 78 au corps de distribution 70.
L’organe de réglage 78 comprend au moins un organe de frottement 130, 132 contre la paroi avant 31. Chaque organe de frottement 130, 132 est propre à frotter contre une face arrière de la paroi avant 31.
Plus précisément et comme représenté sur les figures, l’organe de réglage 78 comprend deux organes de frottement 130, 132 situés de part et d’autre d’un axe central Z78 de l’organe de réglage 78 parallèle à l’axe longitudinal Z lorsque la tête de distribution est installée dans l’espace de réception 30.
La tête de distribution 18 comprend pour chaque organe de frottement 130, 132 un élément de maintien 134, 136 du corps de distribution 70 en position suivant l’axe longitudinal Z.
Chaque élément de maintien 134, 136 est par exemple un ressort et est propre à exercer une force de maintien F sur l’organe de frottement 130, 132 correspondant pour maintenir l’organe de frottement 130, 132 en contact avec la paroi avant 31 et notamment la face arrière de la paroi avant 31.
Chaque élément de maintien 134, 136 est positionné entre le corps de distribution 70 et l’organe de frottement 130, 132 correspondant. Chaque élément de maintien 134, 136 est propre à exercer la force de maintien F correspondante de sorte à maintenir l’organe de frottement 130, 132 correspondant en contact avec la paroi avant 31 et le corps de distribution 70 en contact avec la paroi arrière 32 et notamment la première 42 ou la deuxième glissières 44.
Ainsi chaque élément de maintien 134, 136 permet de par son interaction avec le corps de distribution 70 et les organes de frottement 130, 132 de coincer la tête de distribution 18 dans la structure de réception 29 à une position déterminée suivant l’axe longitudinal Z une fois que l’utilisateur n’applique plus d’effort de déplacement de la tête 18 sur la zone de préhension 118.
Comme représenté à la , chaque organe de frottement 130, 132 est propre à être fixé à la façade avant 106 de sorte à être déplaçable par rapport à la façade avant 106 suivant un axe perpendiculaire à la paroi avant 31 sous l’effet de la force de maintien F appliquée par l’élément de maintien correspondant 134, 136 sur l’organe de frottement 130, 132.
Un tel agencement permet de minimiser l’encombrement de la tête de distribution et de libérer au maximum la zone de réception pour accueillir un contenant de grande taille notamment.
Selon une caractéristique avantageuse de l’invention, la tête de distribution comprend une butée supérieure propre à interagir avec un fond d’une fente formée dans la paroi avant lorsque la tête de distribution est en position basse pour empêcher le déplacement de la tête de distribution vers le bas au-delà de la position basse.
Une telle configuration permet de limiter la course de réglage de la tête de distribution vers le bas de manière efficace et ainsi d’éviter son déraillement par rapport aux glissières.
Selon une caractéristique avantageuse de l’invention, la troisième glissière comprend une portion inférieure située en dessous des première et deuxième glissières, et une portion supérieure située en regard d’une partie inférieure des première et deuxième glissières suivant l’axe transversal.