{"id":77,"date":"2012-06-10T22:40:42","date_gmt":"2012-06-10T20:40:42","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=77"},"modified":"2016-03-29T19:05:21","modified_gmt":"2016-03-29T17:05:21","slug":"etude-de-liens","status":"publish","type":"post","link":"https:\/\/blog.nebule.org\/?p=77","title":{"rendered":"Etude de liens"},"content":{"rendered":"<p>Le lien \u00e9tant la partie essentielle du partage de l&rsquo;information, il doit \u00eatre d\u00e9finit pour r\u00e9pondre exactement \u00e0 ce r\u00f4le.\u00c2\u00a0 C&rsquo;est un des trois piliers de Nebule.<\/p>\n<p>Par essence, sa d\u00e9finition se doit aussi d&rsquo;\u00eatre pr\u00e9cise et universelle.<\/p>\n<p>\u00c9tudions quelques cas&#8230;<\/p>\n<p><!--more--><\/p>\n<h2>Lien simple<\/h2>\n<p style=\"text-align: justify;\">Le lien dans sa forme la plus simple fait la liaison entre deux objets, sans m\u00e9ta donn\u00e9es. Il est l\u00e0 pour lier deux objets sans plus de pr\u00e9cision.<\/p>\n<p style=\"text-align: justify;\">D&rsquo;un point de vue informations, le lien simple contient :<\/p>\n<ul>\n<li>un datage ;<\/li>\n<li>une action cr\u00e9ation\/annulation\/suppression ;<\/li>\n<li>le hash de l&rsquo;objet source ;<\/li>\n<li><em>\u00e9ventuellement<\/em> le hash de l&rsquo;objet cible ;<\/li>\n<li><em>\u00e9ventuellement<\/em> le hash de l&rsquo;objet m\u00e9ta ;<\/li>\n<li><del><em><\/em><\/del> un hash de l&rsquo;entit\u00e9 signataire ;<\/li>\n<li><em><del><\/del><\/em> une signature.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">La gestion des liens n\u00e9cessite de d\u00e9finir une action. Cette action ne doit pas \u00eatre de nature \u00e0 compromettre la confidentialit\u00e9 des objets. Il faut d\u00e9finir les autres actions de base possibles pour un lien.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;action, comme sous ensemble du lien, est valid\u00e9e par une signature. Pas de signature = action douteuse&#8230;<\/p>\n<h2>Lien double vers objet<\/h2>\n<p style=\"text-align: justify;\">Le lien double est constitu\u00e9 de deux liens simples sym\u00e9triques. Le premier lien est attach\u00e9 \u00e0 un objet et d\u00e9signe un deuxi\u00e8me objet. Le deuxi\u00e8me lien est attach\u00e9 au deuxi\u00e8me objet et d\u00e9signe le premier objet.<\/p>\n<p style=\"text-align: justify;\">Les deux liens attach\u00e9s aux deux objets doivent \u00eatre identiques. Les deux liens pourraient \u00eatre sym\u00e9triques, \u00e0 condition de ne pas \u00eatre sign\u00e9s. Cela pose trop de probl\u00e8mes, notamment, ils ne sont plus consid\u00e9r\u00e9s comme les deux liens simples d&rsquo;un seul lien double.<\/p>\n<p style=\"text-align: justify;\">En fait, en l&rsquo;absence de m\u00e9ta-donn\u00e9es, le lien double est la norme. Le lien simple ne sera vraiment utilis\u00e9 que dans des environnements non coop\u00e9ratifs, o\u00f9 l&rsquo;entit\u00e9 qui a g\u00e9n\u00e9r\u00e9 l&rsquo;objet cible du lien ne reconna\u00eet pas les liens g\u00e9n\u00e9r\u00e9s par l&rsquo;entit\u00e9 qui a g\u00e9n\u00e9r\u00e9 l&rsquo;objet source.<\/p>\n<h2>Lien double vers objet m\u00e9ta non typ\u00e9<\/h2>\n<p style=\"text-align: justify;\">Prenons l&rsquo;exemple du sch\u00e9ma ci-dessous :<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03a.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-78\" title=\"etude-des-liens-03a\" src=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03a.png\" alt=\"\" width=\"450\" height=\"310\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Cela repr\u00e9sente plusieurs objets centr\u00e9s sur deux objets principaux que sont une <em>Image<\/em> et une <em>Ic\u00f4ne<\/em>.<\/p>\n<p style=\"text-align: justify;\">Il faut ajouter des liens vers des objets m\u00e9ta afin de d\u00e9finir les objets, et donc de permettre leur traitement.<\/p>\n<p style=\"text-align: justify;\">Les liens tels que faits ici sont maladroits. Nous sommes dans un cas g\u00e9n\u00e9ral dans lequel il n&rsquo;y a pas de conflit entre les propri\u00e9t\u00e9s des valeurs li\u00e9es aux objets. Ils partagent m\u00eame des propri\u00e9t\u00e9s. Mais que ce passe-t-il si une m\u00eame valeur doit \u00eatre rattach\u00e9e \u00e0 deux propri\u00e9t\u00e9s diff\u00e9rentes? Comment r\u00e9soudre \u00e0 posteriori\u00c2\u00a0 la propri\u00e9t\u00e9 \u00e0 appliquer \u00e0 la valeur?<\/p>\n<p style=\"text-align: justify;\">Cette m\u00e9thode est rapidement inutilisable, c&rsquo;est r\u00e9dhibitoire.<\/p>\n<h2>Lien double vers objet m\u00e9ta typ\u00e9<\/h2>\n<p style=\"text-align: justify;\">Prenons un autre exemple d\u00e9riv\u00e9 du pr\u00e9c\u00e9dent en essayant de corriger le probl\u00e8me :<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03b.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-79\" title=\"etude-des-liens-03b\" src=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03b.png\" alt=\"\" width=\"450\" height=\"441\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">L\u00e0, valeurs et propri\u00e9t\u00e9s ont \u00e9t\u00e9 fusionn\u00e9es dans des objets m\u00e9ta. Plus d&rsquo;ambigu\u00eft\u00e9 possible.<\/p>\n<p style=\"text-align: justify;\">Mais peut-on l&rsquo;am\u00e9liorer?<\/p>\n<h2>Lien double vers type<\/h2>\n<p style=\"text-align: justify;\">Autre exemple d\u00e9riv\u00e9 du premier sch\u00e9ma :<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03c.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-80\" title=\"etude-des-liens-03c\" src=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03c.png\" alt=\"\" width=\"450\" height=\"524\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">On retombe avec le m\u00eame probl\u00e8me d&rsquo;ambigu\u00eft\u00e9 entre plusieurs valeurs rattach\u00e9es \u00e0 la m\u00eame propri\u00e9t\u00e9.<\/p>\n<p style=\"text-align: justify;\">On remarque cependant que l&rsquo;on peut peut-\u00eatre essayer d&rsquo;associer un couple valeur\/propri\u00e9t\u00e9 \u00e0 un objet&#8230;<\/p>\n<h2>Lien triple vers m\u00e9ta et type<\/h2>\n<p style=\"text-align: justify;\">Nouvel exemple en associant le couple valeur\/propri\u00e9t\u00e9 \u00e0 un objet :<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03d.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-81\" title=\"etude-des-liens-03d\" src=\"http:\/\/blog.nebule.org\/wp-uploads\/nebule\/2012\/06\/etude-des-liens-03d.png\" alt=\"\" width=\"450\" height=\"525\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">On n&rsquo;a pas d&rsquo;ambigu\u00eft\u00e9. Ce sch\u00e9ma est aussi valable.<\/p>\n<p style=\"text-align: justify;\">Par rapport au deuxi\u00e8me sch\u00e9ma, valide lui aussi, on peut gagner aussi en nombre d&rsquo;objets autour des objets centraux <em>Image<\/em> et <em>Ic\u00f4ne<\/em>. Les objets m\u00e9ta peuvent \u00eatre r\u00e9utilis\u00e9s.<\/p>\n<p style=\"text-align: justify;\">Les objets correspondants \u00e0 des valeurs peuvent \u00eatre utilis\u00e9s simultan\u00e9ment par plusieurs objets sans ambigu\u00eft\u00e9.<\/p>\n<p style=\"text-align: justify;\">Les objets correspondants \u00e0 des propri\u00e9t\u00e9s peuvent, moyennant l&rsquo;introduction d&rsquo;une particularit\u00e9, \u00eatre utilis\u00e9s simultan\u00e9ment avec plusieurs valeurs pour plusieurs objets diff\u00e9rents. La particularit\u00e9 \u00e9tant d&rsquo;accepter des objets source et cible inconnus. L&rsquo;<em>op\u00e9ration<\/em> r\u00e9alis\u00e9e par l&rsquo;objet propri\u00e9t\u00e9 est appliqu\u00e9e \u00e0 la source et \u00e0 la cible du lien que l&rsquo;on utilise, et non \u00e0 tel objet source et tel objet cible de fa\u00e7on pr\u00e9-d\u00e9fini.<\/p>\n<p style=\"text-align: justify;\">Ces objets m\u00e9ta deviennent ainsi g\u00e9n\u00e9riques et sont appliqu\u00e9s par rapport aux objets sources et cibles d\u00e9finis par les liens.<\/p>\n<p style=\"text-align: justify;\">On gagne dans ce cas potentiellement \u00e9norm\u00e9ment d&rsquo;objets, c&rsquo;est autant d&rsquo;objets qui n&rsquo;auront pas besoin d&rsquo;\u00eatre stock\u00e9s, trait\u00e9s, \u00e9chang\u00e9s&#8230;<\/p>\n<h2>Registre de lien<\/h2>\n<p style=\"text-align: justify;\">Chaque objets dispose de m\u00e9ta donn\u00e9es. Ces m\u00e9ta donn\u00e9es sont les liens, dans leur forme simple.<\/p>\n<p style=\"text-align: justify;\">Un lien peut \u00eatre repr\u00e9sent\u00e9 par une sorte de ligne de registre de la forme :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">1:<\/span> (<span style=\"color: #999999;\">(<\/span>TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #008080;\">Signataire<span style=\"color: #999999;\">)<\/span><span style=\"color: #000000;\">&#8211;<\/span><span style=\"color: #800080;\">Signature<span style=\"color: #000000;\">)<\/span><\/span><\/span><\/p>\n<p style=\"text-align: justify;\">Ou par des formes simplifi\u00e9es, si on rend optionnel <em>HashCible<\/em>, <em>HashMeta<\/em>, <em>Signataire<\/em> et <em>Signature<\/em> :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">2:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #800080;\">Signataire<\/span><span style=\"color: #000000;\">)<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">3:<span style=\"color: #000000;\"> (<span style=\"color: #999999;\">(<\/span>TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span><span style=\"color: #999999;\">)<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<\/span><br style=\"color: #0000ff;\" \/><\/span><span style=\"color: #0000ff;\">4:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">5:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">6:<\/span> (<span style=\"color: #999999;\">(<\/span>TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<span style=\"color: #999999;\">)<\/span><\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">7<\/span><span style=\"color: #0000ff;\">:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">8:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>)<\/p>\n<p style=\"text-align: justify;\">Le cas <span style=\"color: #0000ff;\">8<\/span> ne pose pas de probl\u00e8me, c&rsquo;est le cas le plus simple.<\/p>\n<p style=\"text-align: justify;\">Les cas <span style=\"color: #0000ff;\">1<\/span> et <span style=\"color: #0000ff;\">2<\/span> sont sans ambigu\u00eft\u00e9 pour l&rsquo;ordre des champs. Le cas <span style=\"color: #0000ff;\">1<\/span> pose cependant un petit probl\u00e8me pratique pour la signature. Cette signature est calcul\u00e9e pour tous les champs, dans cet ordre et sans ajout ou suppression d&rsquo;espace, \u00e0 l&rsquo;exception du champ signature (puisque pas encore calcul\u00e9). Ou bien il peut \u00eatre calcul\u00e9 pour tous les champs mais avec une signature pr\u00e9positionn\u00e9e nulle.<\/p>\n<p style=\"text-align: justify;\">Les cas <span style=\"color: #0000ff;\">3<\/span> et <span style=\"color: #0000ff;\">4<\/span> sont identiques \u00e0 la signature pr\u00e8s.<\/p>\n<p style=\"text-align: justify;\">Les cas <span style=\"color: #0000ff;\">4<\/span> et <span style=\"color: #0000ff;\">5<\/span> sont ambigus, sauf si on consid\u00e8re que le signataire est un objet m\u00e9ta. Ne contenant pas de quoi faciliter le traitement du lien entre objets source et destination, l&rsquo;objet signataire sera vu comme un objet m\u00e9ta neutre ou inutilisable, mais pas invalide pour autant.<\/p>\n<p style=\"text-align: justify;\">Le cas <span style=\"color: #0000ff;\">6<\/span> est ambigus par rapport aux cas <span style=\"color: #0000ff;\">4<\/span> et <span style=\"color: #0000ff;\">5<\/span>. Non que le signataire ne puisse \u00eatre l&rsquo;objet cible, mais parce que la signature ne peut \u00eatre le hash d&rsquo;un objet existant. Le m\u00eame probl\u00e8me existe entre les cas <span style=\"color: #0000ff;\">2<\/span> et <span style=\"color: #0000ff;\">3<\/span>.<\/p>\n<p style=\"text-align: justify;\">Le cas <span style=\"color: #0000ff;\">7<\/span> est finalement identique au cas <span style=\"color: #0000ff;\">8<\/span>. Le signataire, sans valider le lien par une signature, d\u00e9finit un lien direct et sans autre forme de pr\u00e9cision entre l&rsquo;objet source et lui-m\u00eame.<\/p>\n<h2 style=\"text-align: justify;\">Signature<\/h2>\n<p style=\"text-align: justify;\">Le champs signature est source d&rsquo;ambigu\u00eft\u00e9. On peut l&rsquo;isoler, est lui faire signer les autres champs, mais ce n&rsquo;est pas le plus pratique. Comme l&rsquo;isoler? Le tagger? La forme XML du registre peut r\u00e9pondre \u00e0 cette question.<\/p>\n<p style=\"text-align: justify;\">On peut aussi imposer le champs signature. Certe on ne peut pas imposer la signature, mais au moins le champs. Si pas de signature, il est positionn\u00e9 nul et le champ pr\u00e9c\u00e9dent \u00e0 une signification <em>HashMeta<\/em>, <em>HashCible<\/em> ou <em>Signataire<\/em>. Si non nul, c&rsquo;est une signature est doit \u00eatre consid\u00e9r\u00e9 comme telle, et le champs pr\u00e9c\u00e9dent est \u00e0 consid\u00e9rer comme \u00e9tant le <em>Signataire<\/em>.<\/p>\n<p style=\"text-align: justify;\">Du coup, le champs passe de <em>\u00e9ventuel<\/em> \u00e0 <em>obligatoire<\/em>, m\u00eame si c&rsquo;est sa forme la plus r\u00e9duite \u00ab\u00a00\u00a0\u00bb. Cette obligation ne portera pas trop \u00e0 pr\u00e9judice puisque les liens non sign\u00e9s seront par nature douteux et donc la plupart du temps ignor\u00e9s.<\/p>\n<p style=\"text-align: justify;\">Cela donne donc les possibilit\u00e9s de registre suivant :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">1:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">2:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">3:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">4:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">5:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">6<\/span>: (TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">7<\/span>: (TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">8:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<h2 style=\"text-align: justify;\">Signataire<\/h2>\n<p style=\"text-align: justify;\">Quel peut \u00eatre l&rsquo;utilit\u00e9 d&rsquo;un lien entre deux objets si il n&rsquo;y a pas le marquage de l&rsquo;entit\u00e9 qui a cr\u00e9\u00e9 ce lien, le <em>Signataire<\/em>?<\/p>\n<p style=\"text-align: justify;\">Un lien valid\u00e9 par une entit\u00e9 que l&rsquo;on ne conna\u00eet pas, et donc que l&rsquo;on ne peut pas v\u00e9rifier, c&rsquo;est diff\u00e9rent du lien qui n&rsquo;est fait par personne.<\/p>\n<p style=\"text-align: justify;\">Il aura toutes les chances d&rsquo;\u00eatre rejet\u00e9, m\u00eame en environnement cl\u00f4t et sans signatures.<\/p>\n<p style=\"text-align: justify;\">Le <em>Signataire<\/em> dit qui l&rsquo;a g\u00e9n\u00e9r\u00e9, il est obligatoire de fait.<\/p>\n<p style=\"text-align: justify;\">Cela r\u00e9duit le nombre de possibilit\u00e9s du registre :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">1:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\"> 2:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #808000;\">HashMeta<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">3:<\/span> (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">4<\/span>: (TimeStamp-Action-HashSource-<span style=\"color: #800000;\">HashCible<\/span>&#8211;<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #0000ff;\">5<\/span>: (TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">Signature<\/span>)<br \/>\n<span style=\"color: #0000ff;\">6<\/span>: (TimeStamp-Action-HashSource-<span style=\"color: #008080;\">Signataire<\/span>&#8211;<span style=\"color: #800080;\">0<\/span>)<\/p>\n<p style=\"text-align: justify;\">Cela l\u00e8ve-t-il l&rsquo;ambigu\u00eft\u00e9 que l&rsquo;on avait avec la <em>Signature<\/em>? Peut-on de nouveau se passer du champs <em>Signature<\/em>? En fait, non. Les ambigu\u00eft\u00e9s entre les cas <span style=\"color: #0000ff;\">5<\/span> et <span style=\"color: #0000ff;\">4<\/span> (sans 0) par exemple sont bloquantes.<\/p>\n<h2 style=\"text-align: justify;\">Taille des champs<\/h2>\n<p>Tous les champs ont potentiellement des longueurs variables.<\/p>\n<p style=\"text-align: justify;\">Le champs <em>TimeStamp<\/em> \u00e0 une longueur qui d\u00e9pend de la norme d&rsquo;affichage incluant par exemple la <em>Time Zone<\/em> ou une pr\u00e9cision am\u00e9lior\u00e9e.<\/p>\n<p style=\"text-align: justify;\">Le champs <em>Action<\/em> est normalement de 1 caract\u00e8re, mais rien n&#8217;emp\u00eache d&rsquo;utiliser un vocabulaire plus large. Cependant ce n&rsquo;est pas vraiment recommand\u00e9, le vocabulaire des liens doit rester extr\u00eamement simple. Le mieux serait de le maintenir \u00e0 un seul caract\u00e8re ou de ne tenir compte que du premier caract\u00e8re.<\/p>\n<p style=\"text-align: justify;\">Les champs <em>HashSource<\/em>, <em>HashCible<\/em>, <em>HashMeta<\/em> et <em>Signataire<\/em> sont variables mais d\u00e9pendants des fonctions de hashage.<\/p>\n<p style=\"text-align: justify;\">Le champs Signature \u00e0 aussi une longueur variable et d\u00e9pendante des fonctions de hashage, notamment plus particuli\u00e8rement celle qui fera le hash de tous les champs avant le calcul de la signature.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le lien \u00e9tant la partie essentielle du partage de l&rsquo;information, il doit \u00eatre d\u00e9finit pour r\u00e9pondre exactement \u00e0 ce r\u00f4le.\u00c2\u00a0 C&rsquo;est un des trois piliers de Nebule. Par essence, sa d\u00e9finition se doit aussi d&rsquo;\u00eatre pr\u00e9cise et universelle. \u00c9tudions quelques cas&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[99,103,24],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/77"}],"collection":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=77"}],"version-history":[{"count":1,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":2366,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions\/2366"}],"wp:attachment":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}