{"id":142,"date":"2012-07-06T18:56:28","date_gmt":"2012-07-06T16:56:28","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=142"},"modified":"2016-03-29T19:05:03","modified_gmt":"2016-03-29T17:05:03","slug":"impersonnation-commutabilite-et-liens","status":"publish","type":"post","link":"https:\/\/blog.nebule.org\/?p=142","title":{"rendered":"Impersonnalit\u00e9, commutabilit\u00e9 et liens"},"content":{"rendered":"<p style=\"text-align: justify;\">La mutualisation de certains objets m\u00e9tas pour relier un objet \u00e0 une propri\u00e9t\u00e9 particuli\u00e8re, et notamment pour lui donner un type, n\u00e9cessite une certaine forme d&rsquo;abstraction.<\/p>\n<p style=\"text-align: justify;\">Plusieurs questions sont en attente :<\/p>\n<ol>\n<li>Comment se pr\u00e9sente le contenu d&rsquo;un objet m\u00e9ta ?<\/li>\n<li>Quel vocabulaire pour l&rsquo;objet m\u00e9ta ?<\/li>\n<li>La commutabilit\u00e9 des \u00e9l\u00e9ments d&rsquo;un lien sont-ils possibles ?<\/li>\n<li>Comment repr\u00e9sente-t-on l&rsquo;impersonnalit\u00e9 dans l&rsquo;objet m\u00e9ta ?<\/li>\n<li>Quelles contraintes sur le lien ?<\/li>\n<\/ol>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<h2 style=\"text-align: justify;\">Contenu d&rsquo;un objet m\u00e9ta<\/h2>\n<p style=\"text-align: justify;\">Prenons un exemple :<br \/>\n&#8211; <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> est l&rsquo;objet contenant des informations, ici une image ;<br \/>\n&#8211; <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span> est l&rsquo;objet contenant le texte \u00ab\u00a0<code>image\/png<\/code>\u00ab\u00a0, un type mime en fait.<\/p>\n<p style=\"text-align: justify;\">Nous voulons exprimer le fait que <code>365773b4f0588512 <\/code>est un objet de type mime <code>a6d344710a8313af<\/code>. Cela peut s&rsquo;exprimer de plusieurs fa\u00e7ons :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> est un objet de type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a pour type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span> est le type mime de <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span> is type mime for <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a, au nom de sa grande saintet\u00e9 Beaubugg XIV, pour type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a re\u00e7u, par la gr\u00e2ce de dieu, en type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a pour type mime RFC2046 <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a pour type mime RFC2048 <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p style=\"text-align: justify;\">Quelques b\u00eatises dans cet exemple montrent surtout que, malgr\u00e9 le fait que l&rsquo;on exprime la m\u00eame chose, un vocabulaire est utilis\u00e9 et qu&rsquo;il n&rsquo;est pas universel.<br \/>\nLa mauvaise nouvelle, c&rsquo;est que l&rsquo;on va rapidement trouver des gens qui ont d\u00e9cid\u00e9 de ne pas parler le m\u00eame langage. La bonne nouvelle, c&rsquo;est que des traductions sont faciles \u00e0 mettre en place et que \u00e7a peut m\u00eame \u00eatre fait de fa\u00e7on transparente.<\/p>\n<p style=\"text-align: justify;\">Ces diff\u00e9rentes fa\u00e7ons de s&rsquo;exprimer sur le type mime d&rsquo;une image sont repr\u00e9sent\u00e9es par des objets diff\u00e9rents :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #800000;\"><code>e53300deeffe3ec3<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>acef4b215ca8bba0<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>474925b937a0836a<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>85b7fff8a409dab5<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>cd1e1730de9235e6<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>6d43bd8a7d83f256<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>b56c357dd39e3adb<\/code><\/span><br \/>\n<span style=\"color: #800000;\"> <code>03dd321855febc4b<\/code><\/span><\/p>\n<p style=\"text-align: justify;\">Un lien peut donc prendre avoir ces variantes (TimeStamp-Action-<span style=\"color: #003366;\">HashSource<\/span>&#8211;<span style=\"color: #003300;\">HashCible<span style=\"color: #000000;\">&#8211;<span style=\"color: #800000;\">HashMeta<\/span><\/span><\/span>-Signataire-0) :<\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">e53300deeffe3ec3<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">acef4b215ca8bba0<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">474925b937a0836a<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">85b7fff8a409dab5<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">cd1e1730de9235e6<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">6d43bd8a7d83f256<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">b56c357dd39e3adb<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512-<\/span><span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">03dd321855febc4b<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: justify;\">Avec 201207061022 le timbre poste (timestamp) et e0196898b49716d1 l&rsquo;entit\u00e9 qui a g\u00e9n\u00e9r\u00e9 le lien.<\/p>\n<p style=\"text-align: justify;\">On constate que le vocabulaire peut avoir une infinit\u00e9 de variante. Mais il est facilement traduisible dans le sens o\u00f9 on peut d\u00e9finir une \u00e9quivalence directe entre tous ces \u00ab\u00a0verbes\u00a0\u00bb. Il en est de m\u00eame si l&rsquo;objet m\u00e9ta changeait, on peut facilement d\u00e9finir des \u00e9quivalences.<\/p>\n<p style=\"text-align: justify;\">Cette \u00e9quivalence entre objets doit-elle \u00eatre marqu\u00e9 sous forme d&rsquo;un lien, ce qui la rend tr\u00e8s rapide pour la traduction d&rsquo;objets ? Ou peut-elle se contenter d&rsquo;\u00eatre repr\u00e9sent\u00e9e par un objet m\u00e9ta, ce qui veut dire qu&rsquo;elle peut aussi avoir d&rsquo;autres objets \u00e9quivalents ?<\/p>\n<h2 style=\"text-align: justify;\">Commutabilit\u00e9<\/h2>\n<p style=\"text-align: justify;\">Dans l&rsquo;exemple pr\u00e9c\u00e9dent, la relation entre les objets <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> et <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span> \u00e9tant bien d\u00e9finit, la place des objets est interchangeable dans un lien.<\/p>\n<p style=\"text-align: justify;\">Ces deux liens sont identiques :<\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">e53300deeffe3ec3<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #800000;\">e53300deeffe3ec3<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: justify;\">Par contre, l&rsquo;objet m\u00e9ta n&rsquo;est pas \u00e9changeable dans le lien. Sinon il faudrait un autre moyen de le marquer comme \u00e9tant un objet m\u00e9ta. Cet objet m\u00e9ta peut aussi \u00eatre un objet source ou destination, il n&rsquo;est donc pas \u00ab\u00a0par d\u00e9faut\u00a0\u00bb un objet m\u00e9ta.<\/p>\n<p style=\"text-align: justify;\">Du fait de cet exemple, la commutabilit\u00e9 semble possible dans un lien.<\/p>\n<h2 style=\"text-align: justify;\">Impersonnalit\u00e9<\/h2>\n<p style=\"text-align: justify;\">Prenons un autre exemple. L&rsquo;exemple d&rsquo;un objet suppl\u00e9mentaire contenant une image de type png, donc avec le m\u00eame type mime.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;exemple complet :<br \/>\n&#8211; <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> est un objet contenant des informations, ici une image png ;<br \/>\n&#8211; <span style=\"color: #808000;\"><code>698055d556d44192<\/code><\/span> est un objet contenant des informations, ici une image png ;<br \/>\n&#8211; <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span> est l&rsquo;objet contenant le texte \u00ab\u00a0<code>image\/png<\/code>\u00ab\u00a0, un type mime en fait.<\/p>\n<p style=\"text-align: justify;\">Nous devons d\u00e9finir deux objets m\u00e9ta :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> est un objet de type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><br \/>\n<span style=\"color: #808000;\"><code>698055d556d44192<\/code><\/span> est un objet de type mime <span style=\"color: #003300;\"><code>a6d344710a8313af<\/code><\/span><\/p>\n<p>Ce qui se traduit par deux objets diff\u00e9rents :<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #800000;\"><code>e53300deeffe3ec3<\/code><\/span><br \/>\n<span style=\"color: #800000;\"><code>90e65ecc9b0c7564<\/code><\/span><\/p>\n<p>Et donc deux liens diff\u00e9rents :<\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">e53300deeffe3ec3<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\"><span style=\"color: #808000;\">698055d556d44192<\/span><span style=\"color: #000000;\">-<span style=\"color: #003300;\">a6d344710a8313af<\/span><\/span><\/span>-<span style=\"color: #800000;\">90e65ecc9b0c7564<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: justify;\">Nous avons deux objets m\u00e9ta diff\u00e9rents alors que nous repr\u00e9sentons la m\u00eame op\u00e9ration, dire que l&rsquo;objet source \u00e0 un type mime \u00ab\u00a0image\/png\u00a0\u00bb. Dommage, ce pourrait \u00eatre le m\u00eame. Mais ce lien est invalide car impossible \u00e0 exploiter en pratique :<\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #003300;\">a6d344710a8313af<\/span>-<span style=\"color: #800000;\">90e65ecc9b0c7564<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: justify;\">Comment peut-on r\u00e9soudre ce probl\u00e8me ?<\/p>\n<p style=\"text-align: justify;\">Une premi\u00e8re solution \u00e0 ce probl\u00e8me est de fusionner le contenu de <span style=\"color: #003366;\"><code>a6d344710a8313af<\/code><\/span> dans l&rsquo;objet m\u00e9ta en lieu et place de son hash. La fusion donne naturellement un nouvel objet qui n&rsquo;est plus un objet m\u00e9ta mais un objet cible\u00c2\u00a0<span style=\"color: #800080;\"><code>1d27866a00a7c6e5<\/code><\/span> plus classique. Cela donne :<\/p>\n<p style=\"text-align: center;\"><code>201207061022-c-<span style=\"color: #003366;\">365773b4f0588512<\/span>-<span style=\"color: #800080;\">1d27866a00a7c6e5<\/span>-e0196898b49716d1-0<\/code><\/p>\n<p style=\"text-align: justify;\">Cependant, cette solution avait d\u00e9j\u00e0 \u00e9t\u00e9 abandonn\u00e9e dans une r\u00e9flexion pr\u00e9c\u00e9dente. Elle implique que l&rsquo;on doit syst\u00e9matiquement faire un traitement de cet objet pour en obtenir sa signification. Certe, on gagne un objet, mais on a toujours un nombre d&rsquo;objets m\u00e9tas \u00e9gal au nombre d&rsquo;objets qui ont la m\u00eame caract\u00e9ristique (mis en valeur par le m\u00e9ta).<\/p>\n<p style=\"text-align: justify;\">Deuxi\u00e8me solution, c&rsquo;est possible avec l&rsquo;impersonnalit\u00e9.<br \/>\nIl faut rendre certains HashMeta universels, remplacer les HashSource et HashCible de ces objets m\u00e9tas par des \u00ab\u00a0pointeurs\u00a0\u00bb vers les objets sources et cibles des liens.<br \/>\nD\u00e9finition de l&rsquo;impersonnalit\u00e9 : <span>Caract\u00e8re de ce qui n&rsquo;appartient \u00e0 personne<\/span>.<\/p>\n<p style=\"text-align: justify;\">La solution de l&rsquo;impersonnalit\u00e9 est la plus adapt\u00e9e. On peut ainsi ne plus avoir que deux objets HashCible et HashMeta pour tous les objets qui partagent une m\u00eame caract\u00e9ristique (ici le type mime). Et on peut rapidement retrouver tous ces objets qui ont cette caract\u00e9ristique commune.<\/p>\n<p style=\"text-align: justify;\">Le format de ces pointeurs va d\u00e9pendre du format utilis\u00e9 pour le contenu de l&rsquo;objet m\u00e9ta.<\/p>\n<p style=\"text-align: justify;\">A d\u00e9finir donc&#8230;<\/p>\n<h2 style=\"text-align: justify;\">Contraintes sur les liens<\/h2>\n<p style=\"text-align: justify;\">La commutation est possible dans les liens entre HashSource et HashCible avec des objets m\u00e9tas qui r\u00e9f\u00e9rencent directement ces hashs. C&rsquo;est \u00e0 dire que, pour un lien double ou triple, ces hashs peuvent \u00eatre invers\u00e9 indiff\u00e9remment dans les liens que les entit\u00e9s vont garder.<\/p>\n<p style=\"text-align: justify;\">Par contre, pour pouvoir disposer d&rsquo;objets m\u00e9tas universels, la commutation n&rsquo;est plus possible dans les liens entre HashSource et HashCible. Le lien doit \u00eatre strictement le m\u00eame partout.<\/p>\n<p style=\"text-align: justify;\">Mais est-ce vraiment une contrainte?<br \/>\nOn ne contredit pas une conclusion dans une r\u00e9flexion pr\u00e9c\u00e9dente. Un lien \u00e9tant cr\u00e9\u00e9 par une entit\u00e9 dite \u00ab\u00a0Signataire\u00a0\u00bb, et \u00e0 plus forte raison si celle-ci appose une signature, les \u00e9l\u00e9ments de ce lien ne sont plus du tout interchangeable.<\/p>\n<p style=\"text-align: justify;\">Deux liens pr\u00e9sents, l&rsquo;un sur un objet chez une entit\u00e9, l&rsquo;autre sur le m\u00eame objet chez une autre entit\u00e9 mais avec HashSource et HashCible inter-chang\u00e9s, sont donc \u00e0 consid\u00e9rer comme deux liens diff\u00e9rents et non la recopie d&rsquo;un m\u00eame lien.<\/p>\n<h2 style=\"text-align: justify;\">Conclusion<\/h2>\n<p style=\"text-align: justify;\">Heureusement, et c&rsquo;est l&rsquo;objectif, pour l&rsquo;utilisateur tout se traduit plus simplement. Cet objet <span style=\"color: #003366;\"><code>365773b4f0588512<\/code><\/span> a s\u00fcrement un lien vers un objet qui d\u00e9finit son nom \u00ab\u00a0user friendly\u00a0\u00bb, et est affich\u00e9 comme une image parce qu&rsquo;il a un type mime \u00ab\u00a0<code>image\/png<\/code>\u00ab\u00a0.<\/p>\n<p style=\"text-align: justify;\">Il faut trouver une syntaxe pour le contenu d&rsquo;un objet m\u00e9ta.<\/p>\n<p style=\"text-align: justify;\">Dans les liens, la commutabilit\u00e9 entre HashSource et HashCible n&rsquo;est pas permise, d\u00e9finitivement.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;impersonnalit\u00e9 est une caract\u00e9ristique importante, et doit pouvoir \u00eatre repr\u00e9sent\u00e9 dans la syntaxe du contenu des objets m\u00e9tas.<\/p>\n<p style=\"text-align: justify;\">NB : Les hashs sont des valeurs MD5 calcul\u00e9es sur les textes ou de vrais fichiers. Seule la premi\u00e8re moiti\u00e9 du hash est affich\u00e9 pour ne pas surcharger la page. En fait, on aurait m\u00eame pu ne prendre que les quatre premiers digits, \u00e7a fonctionnait. Les valeurs sont donc coh\u00e9rentes mais n&rsquo;ont de toute fa\u00e7on pas d&rsquo;importance ici, seul compte le raisonnement.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La mutualisation de certains objets m\u00e9tas pour relier un objet \u00e0 une propri\u00e9t\u00e9 particuli\u00e8re, et notamment pour lui donner un type, n\u00e9cessite une certaine forme d&rsquo;abstraction. Plusieurs questions sont en attente : Comment se pr\u00e9sente le contenu d&rsquo;un objet m\u00e9ta ? Quel vocabulaire pour l&rsquo;objet m\u00e9ta ? La commutabilit\u00e9 des \u00e9l\u00e9ments d&rsquo;un lien sont-ils possibles &hellip; <a href=\"https:\/\/blog.nebule.org\/?p=142\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Impersonnalit\u00e9, commutabilit\u00e9 et liens<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[99,24],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/142"}],"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=142"}],"version-history":[{"count":1,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/142\/revisions"}],"predecessor-version":[{"id":2359,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/142\/revisions\/2359"}],"wp:attachment":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}