{"id":842,"date":"2009-01-23T13:54:47","date_gmt":"2009-01-23T12:54:47","guid":{"rendered":"http:\/\/nyams.planbweb.com\/blog\/?p=842"},"modified":"2009-01-23T13:54:47","modified_gmt":"2009-01-23T12:54:47","slug":"inserer-une-image-en-utilisant-la-balise-object","status":"publish","type":"post","link":"https:\/\/nyamsprod.com\/blog\/inserer-une-image-en-utilisant-la-balise-object\/","title":{"rendered":"ins\u00e9rer une image en utilisant la balise object"},"content":{"rendered":"<div class=\"message warning\">\n<p><strong>Attention:<\/strong> Les informations de ce billet sont susceptibles d'&ecirc;tre obsol&egrave;tes car vieux de plus 2 ans.<\/p>\n<p><strong>Warning: <\/strong> The information you are reading may be obsolete, this post was published more than 2 years ago.<\/p>\n<\/div><p>Si il y a bien une balise HTML qui est mal connue, c&#8217;est bien la balise <code>object<\/code>. Elle fait partie officiellement du HTML depuis sa version 4 mais, de part le manque de renouvellement d&#8217;Internet Explorer pendant 5 ans, son utilisation pour autre chose que l&#8217;insertion de contenu Flash dans une page n&#8217;a jamais \u00e9t\u00e9 mise en avant. <!--more--> Un exemple d&#8217;utilisation pertinente de la balise <code>object<\/code> peut se faire dans le cadre d&#8217;un comic strip . L&#8217;un des webcomic que je suis r\u00e9guli\u00e8rement est <a title=\"La Vie de Geeks par un Geek\" href=\"http:\/\/www.geeksworld.org\/\">geeksworld <\/a>de Salagir. J&#8217;ai remarqu\u00e9 que pour permettre une meilleur indexation de son comic, Salagir a eu la bonne id\u00e9e de retranscrire l&#8217;enti\u00e8ret\u00e9 des bulles de son strip dans la page qui le contient. Ainsi les robots qui vont naviguer sur son site vont non seulement indexer l&#8217;image mais \u00e9galement les informations textes qui sont li\u00e9es celle-ci. pour accomplir cela Salagir a mis au point un script qui <a title=\"Comment extraire le texte d'un fichier PSD\" href=\"http:\/\/blog.salagir.com\/41-extracteur-de-textes-dun-fichier-photoshop\/\">permet d&#8217;extraire le texte d&#8217;un fichier PSD<\/a> et il utilise le sch\u00e9ma HTML suivant :<\/p>\n<div class=\"textstrip\" style=\"display:none;\">Le texte du strip vient ici<\/div>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">&lt;img src=&quot;\/path\/to\/my\/image.png&quot; alt=&quot;&quot; \/&gt;\n&lt;div class=&quot;textstrip&quot;&gt;Le texte du strip vient ici&lt;\/div&gt;<\/pre>\n<p>Pour fonctionner correctement, Salagir a donc rajout\u00e9 la r\u00e8gle <code>display:none;<\/code> pour la balise <code>div<\/code> ayant pour attribut <code>class=\"textstrip\"<\/code>. Cette construction bien que fonctionnant parfaitement ne permet pas d&#8217;associer directement le texte \u00e0 l&#8217;image en ce sens que l&#8217;image est ind\u00e9pendante\u00a0du texte et, \u00e0 moins d&#8217;utiliser des <em>microformats <\/em>sp\u00e9cifiques aux webcomics (je ne sais pas si cela existe&#8230;) le lien entre texte et image n&#8217;est pas \u00e9vident. Une solution pour rem\u00e9dier \u00e0 ce manque de relation serait, dans ce cas, d&#8217;ins\u00e9rer l&#8217;image en utilisant la balise <code>&lt;object&gt;<\/code>. Comment ? Suivez le guide.<\/p>\n<p><strong>1\u00e8re \u00e9tape :<\/strong> on ins\u00e8re l&#8217;image en utilisant  les recommandations du W3C et la balise <code>object<\/code> :<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">&lt;object type=&quot;image\/png&quot; data=&quot;\/path\/to\/my\/image.png&quot;&gt;\n&lt;\/object&gt;<\/pre>\n<p><strong>2\u00e8me \u00e9tape : <\/strong>on ajoute le texte correspondant au webcomic \u00e0 l&#8217;int\u00e9rieur de la balise <code>object :<\/code><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">&lt;object type=&quot;image\/png&quot; data=&quot;\/path\/to\/my\/image.png&quot;&gt;\n&lt;div&gt;Le texte du strip vient ici&lt;\/div&gt;\n&lt;\/object&gt;<\/pre>\n<p>V\u00e9rifions <a title=\"Utilisation de la balise Object pour ins\u00e9rer une image\" href=\"http:\/\/nyams.planbweb.com\/test\/salagir\/w3c.html\">si cela fonctionne bien<\/a> sous tous les navigateurs r\u00e9cents ?<\/p>\n<ul>\n<li><strong>La bonne nouvelle<\/strong> et que cette construction fonctionne parfaitement dans tous les navigateur r\u00e9cents, y compris Internet Explorer 8. Le texte encapsul\u00e9 dans le tag <code>object<\/code> n&#8217;appara\u00eet pas mais peut toujours \u00eatre parser par les robots des diff\u00e9rents moteurs de recherche.<\/li>\n<li><strong>La mauvaise nouvelle <\/strong>c&#8217;est que toutes les anciennes versions de IE, y compris IE7, se comportent diff\u00e9remment des recommendations du W3C, et montre l&#8217;image dans une boite avec l&#8217;apparition d&#8217;une \u00e9chelle (scroller).<\/li>\n<\/ul>\n<p>Mais cela n&#8217;est pas grave en utilisant les <a title=\"Tous ce qu'il faut savoi des commentaires conditionnels sous IE\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms537512.aspx\">commentaires conditionnels de IE<\/a>, on peut obtenir le m\u00eame r\u00e9sultat dans les versions ant\u00e9rieurs \u00e0 Internet Explorer 8. Ce qui nous donne <a title=\"Affichage cross-navigateurs du comic strip\" href=\"http:\/\/nyams.planbweb.com\/test\/salagir\/\">un r\u00e9sultat fonctionnel sous tous les navigateurs<\/a>. Etudier bien la source du fichier pour comprendre l&#8217;astuce utilis\u00e9e.<\/p>\n<p>L&#8217;\u00e9tape ultime serait <a title=\"HTML5 ou Microformat que choisir ?\" href=\"http:\/\/www.nikhilk.net\/HTML5-Dialog-Microformats.aspx\">d&#8217;utiliser la balise <code>dialog<\/code> de HTML5 ou les microformats<\/a> pour encore mieux formaliser les dialogues du strip. Mais \u00e7a c&#8217;est une autre histoire. Que pensez-vous de cette solution ?<\/p>\n<p><em>Je remercie Salagir, pour m&#8217;avoir permis d&#8217;utiliser son strip.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exemple d&#8217;utilisation de la balise object pour ins\u00e9rer de mani\u00e8re plus simple une image de comic strip<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[59,256,267,273,280,364,381,395,510],"class_list":["post-842","post","type-post","status-publish","format-standard","hentry","category-web","tag-balise","tag-html5","tag-ie8","tag-image","tag-insertion","tag-microformats","tag-navigateur","tag-object","tag-tag"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/comments?post=842"}],"version-history":[{"count":0,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/842\/revisions"}],"wp:attachment":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/media?parent=842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/categories?post=842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/tags?post=842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}