{"id":780,"date":"2009-01-05T14:00:44","date_gmt":"2009-01-05T13:00:44","guid":{"rendered":"http:\/\/nyams.planbweb.com\/blog\/?p=780"},"modified":"2009-01-05T14:00:44","modified_gmt":"2009-01-05T13:00:44","slug":"utilisation-de-la-balise-video","status":"publish","type":"post","link":"https:\/\/nyamsprod.com\/blog\/utilisation-de-la-balise-video\/","title":{"rendered":"Utilisation de la balise video"},"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>Firefox 3.1 est en b\u00e9ta et bien que je d\u00e9teste les <a title=\"J'aime pas les softs en beta\" href=\"http:\/\/nyams.planbweb.com\/blog\/2008\/04\/22\/yen-a-marre-des-beta\/\">beta-software<\/a>, je me suis amus\u00e9 \u00e0 trifouiller dans les entrailles de la b\u00eate, \u00e0 l&#8217;initiative de <a title=\"Pourquoi John Resig est pour que l'on teste les navigateurs en b\u00e9ta\" href=\"http:\/\/ejohn.org\/blog\/a-web-developers-responsibility\/\">John Resig<\/a>. Et voici comment, en 3 heures, je me suis retrouv\u00e9 \u00e0 coder une fonction pour la gestion de la balise <code>video<\/code> pour Firefox 3.1.<!--more--> Comme seul, Firefox 3.1 semble \u00eatre capable d&#8217;interpr\u00e9ter cette balise, mon script ne fonctionne que sous ce navigateur. Vue que les fichiers vid\u00e9os au format <a title=\"Le format Ogg\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Ogg\">ogg <\/a>ne courent pas le web, je me suis all\u00e8grement servis des fichiers du site recommand\u00e9 par l&#8217;\u00e9quipe de Mozilla <a title=\"Site qui host des milliers de fichiers au format ogg\" href=\"http:\/\/www.tinyvid.tv\/\">TinyVid<\/a> qui permet de convertir des fichiers <em>flv <\/em>trouv\u00e9 sur <em>youtube <\/em>par exemple.<\/p>\n<p>Voici ce que cela donne avant utilisation de mon script :<\/p>\n<p style=\"text-align:center\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-783\" title=\"le tag video as is dans Firefox 3.1. Les controleurs n'apparaissent qu'avec le curseur au dessus de la video\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/video-tag.jpg\" alt=\"le tag video as is dans Firefox 3.1. Les controleurs n'apparaissent qu'avec le curseur au dessus de la video\" width=\"533\" height=\"325\" srcset=\"https:\/\/nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/video-tag.jpg 533w, https:\/\/nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/video-tag-300x182.jpg 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/p>\n<p>Et apr\u00e8s :<\/p>\n<p style=\"text-align:center\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-784\" title=\"La m\u00eame vid\u00e9o avec mon script qui ajoute de mani\u00e8re permanente les controlleurs de la vid\u00e9o\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/mediacontroller.jpg\" alt=\"La m\u00eame vid\u00e9o avec mon script qui ajoute de mani\u00e8re permanente les controlleurs de la vid\u00e9o\" width=\"571\" height=\"383\" srcset=\"https:\/\/nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/mediacontroller.jpg 571w, https:\/\/nyamsprod.com\/blog\/wp-content\/uploads\/2009\/01\/mediacontroller-300x201.jpg 300w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><\/p>\n<p>Et pour les plus chanceux d&#8217;entre-vous, qui poss\u00e9dent d\u00e9j\u00e0 Firefox 3.1 beta 2, <a title=\"Utilisation de la fonction mediaController\" href=\"http:\/\/nyams.planbweb.com\/test\/mediacontroller\/\">l&#8217;\u00e9volution est plus facile \u00e0 appr\u00e9hender<\/a>.<\/p>\n<p>Noter que vu mes capacit\u00e9s limit\u00e9es en <em>Photoshop<\/em>, le designer qui est en moi n&#8217;a utilis\u00e9 que du texte, mais rien n&#8217;emp\u00eache l&#8217;utilisation de belles ic\u00f4nes pour rendre le <em>player <\/em>plus sympa. Si cela int\u00e9resse ou motive quelqu&#8217;un, je pourrais les int\u00e9grer \u00e0 mon script sans aucun probl\u00e8me.<\/p>\n<p>Seuls b\u00e9mols, \u00e0 l&#8217;heure ou j&#8217;\u00e9cris ces quelques lignes la balise <code>video<\/code> ne semble pas support\u00e9 le plein \u00e9cran (ce n&#8217;est pas trop grave&#8230; \u00e0 mon humble avis) et la recherche d&#8217;un moment pr\u00e9cis dans le fichier n&#8217;est pas optimal. En fait, la recherche prend trop de temps en comparaison \u00e0 une recherche \u00e9quivalente effectu\u00e9e sur un fichier<em> flv<\/em>, mais cela est peut-\u00eatre du au format du fichier&#8230; je n&#8217;en sais rien en fait \ud83d\ude00 . Dernier petit p\u00e9pin, et pas des moindre, il faut avoir un bon d\u00e9bit pour que le fichier ne soit pas lu de mani\u00e8re saccad\u00e9e.<\/p>\n<p>Pour les plus int\u00e9ress\u00e9es d&#8217;entre vous, d\u00e9veloppeurs exp\u00e9riment\u00e9s en javascript\/CSS\/HTML, vous verrez que je me suis fait plaisir en utilisant uniquement des propri\u00e9t\u00e9s (CSS et javascript) existants uniquement dans les derniers navigateurs comme :<\/p>\n<ul>\n<li><a title=\"L'article sous Webkit pour impl\u00e9menter la propri\u00e9t\u00e9 box-shadow\" href=\"http:\/\/webkit.org\/blog\/86\/box-shadow\/\">box-shadow<\/a>;<\/li>\n<li><a title=\"Comment ajouter des bordures arrondis en fonction du navigateurs\" href=\"http:\/\/www.css3.info\/preview\/rounded-border\/\">border-radius<\/a>;<\/li>\n<li><a title=\"Le DOM devient plus simple avec querySelector\" href=\"http:\/\/www.helephant.com\/article.aspx?ID=1127\">querySelector<\/a>;<\/li>\n<li>addEventListener;<\/li>\n<\/ul>\n<p>En d&#8217;autres termes, ce script ne fonctionnera jamais sous IE7\u00a0 et m\u00eame sous IE8 car si ma m\u00e9moire et bonne<a title=\"Pourquoi IE 8 ne supportera pas AddEventListener et RemoveEventListener\" href=\"http:\/\/css.dzone.com\/news\/internet-explorer-8-fix-event-\"> IE8 ne surpporte toujours pas les m\u00e9thodes AddEventListener\/RemoveEventListener du W3C<\/a> (d&#8217;o\u00f9 sa pr\u00e9sence dans ma liste ci-dessus). Derni\u00e8re infos, je n&#8217;en parle pas mais ce script fonctionne \u00e9galement avec le tag <code>audio<\/code> \u00e9galement introduit dans HTML5 est support\u00e9 par Firefox 3.1. Que de discussion pour un script qui ne m&#8217;aura pris en tout et pour tout que 3 heures d&#8217;\u00e9criture \ud83d\ude00 !!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Utilisation des derni\u00e8res avanc\u00e9es en DOM, Javascript et HTML5 pour ajouter une vid\u00e9o dans une page HTML. Attention aucune balise object n&#8217;a \u00e9t\u00e9 tu\u00e9 au cours de cet exercice \ud83d\ude00 <\/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":[22,54,76,78,163,196,197,202,256,286,359,399,404,439,471,528,552,559],"class_list":["post-780","post","type-post","status-publish","format-standard","hentry","category-web","tag-addeventlistener","tag-audio","tag-border-radius","tag-box-shadow","tag-dom","tag-firefox","tag-firefox-31","tag-flv","tag-html5","tag-internet-explorer","tag-mediacontroller","tag-ogg","tag-opera","tag-queryselector","tag-safari","tag-tinyvid","tag-video","tag-w3c"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/780","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=780"}],"version-history":[{"count":0,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/780\/revisions"}],"wp:attachment":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/media?parent=780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/categories?post=780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/tags?post=780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}