<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JQuery Archives - InfoD 74</title>
	<atom:link href="https://www.info-d-74.com/category/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.info-d-74.com/category/jquery/</link>
	<description>Développeur web freelance</description>
	<lastBuildDate>Tue, 02 Jun 2026 16:06:46 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.info-d-74.com/wp-content/uploads/2015/12/info-d-74-logo-96x96.png</url>
	<title>JQuery Archives - InfoD 74</title>
	<link>https://www.info-d-74.com/category/jquery/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Experience 3D « Time dilatation »</title>
		<link>https://www.info-d-74.com/experience-3d-time-dilatation/</link>
					<comments>https://www.info-d-74.com/experience-3d-time-dilatation/#respond</comments>
		
		<dc:creator><![CDATA[info74]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 15:25:28 +0000</pubDate>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[science]]></category>
		<guid isPermaLink="false">https://www.info-d-74.com/?p=3616</guid>

					<description><![CDATA[<p>Une nouvelle démo 3D qui permet de comprendre la dilatation du temps lors d&#8217;un voyage dans l&#8217;espace. Vous choisissez la durée la vitesse de la fusée qui va décoller de la Terre (et aussi les durées d&#8217;accélération et décélération) et vous voyez en tant réel les différences de temps entre le référentiel de la fusée [&#8230;]</p>
<p>L’article <a href="https://www.info-d-74.com/experience-3d-time-dilatation/">Experience 3D « Time dilatation »</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Une nouvelle démo 3D qui permet de comprendre la dilatation du temps lors d&rsquo;un voyage dans l&rsquo;espace.</p>
<p>Vous choisissez la durée la vitesse de la fusée qui va décoller de la Terre (et aussi les durées d&rsquo;accélération et décélération) et vous voyez en tant réel les différences de temps entre le référentiel de la fusée et celui de la Terre.</p>
<p>À la fin on voit la différence totale de temps entre les 2 référentiels. Plus la vitesse de la fusée et proche de celle de la lumière, plus il y aura de différence entre les 2 temps mesurés.</p>
<p><a href="https://info-d-74.com/demos/time_dilatation/"><img fetchpriority="high" decoding="async" class="wp-image-3617 size-full alignnone" title="Time dilatation 3D experience" src="https://www.info-d-74.com/wp-content/uploads/2024/12/preview.png" alt="" width="702" height="459" srcset="https://www.info-d-74.com/wp-content/uploads/2024/12/preview.png 702w, https://www.info-d-74.com/wp-content/uploads/2024/12/preview-600x392.png 600w, https://www.info-d-74.com/wp-content/uploads/2024/12/preview-300x196.png 300w, https://www.info-d-74.com/wp-content/uploads/2024/12/preview-150x98.png 150w" sizes="(max-width: 702px) 100vw, 702px" /></a></p>
<p>Pour en savoir plus sur ce sujet regarder cette vidéo de Science étonnante : <a href="https://www.youtube.com/watch?v=T-z_zRcLGAk" target="_blank" rel="noopener">Le paradoxe des jumeaux</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>L’article <a href="https://www.info-d-74.com/experience-3d-time-dilatation/">Experience 3D « Time dilatation »</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.info-d-74.com/experience-3d-time-dilatation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utiliser la balise canvas pour lire une vidéo &#8211; HTML5</title>
		<link>https://www.info-d-74.com/utiliser-la-balise-canvas-pour-lire-une-video-html5/</link>
					<comments>https://www.info-d-74.com/utiliser-la-balise-canvas-pour-lire-une-video-html5/#respond</comments>
		
		<dc:creator><![CDATA[info74]]></dc:creator>
		<pubDate>Wed, 25 Jul 2012 14:25:27 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[filtre]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[vidéo]]></category>
		<category><![CDATA[webm]]></category>
		<guid isPermaLink="false">https://www.info-d-74.com/?p=279</guid>

					<description><![CDATA[<p>La balise video de HTML permet de lire directement une vidéo dans le navigateur. Une autre possibilité que propose HTML5 est de lire une vidéo dans un &#60;canvas&#62;. Cela peut avoir plusieurs avantages : modification de l&#8217;affichage (taille, découpe, etc&#8230;), ajout d&#8217;informations en surimpression de la vidéo, de filtres de couleurs, lecture de plusieurs vidéo [&#8230;]</p>
<p>L’article <a href="https://www.info-d-74.com/utiliser-la-balise-canvas-pour-lire-une-video-html5/">Utiliser la balise canvas pour lire une vidéo &#8211; HTML5</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La balise video de HTML permet de lire directement une vidéo dans le navigateur. Une autre possibilité que propose HTML5 est de lire une vidéo dans un &lt;canvas&gt;. Cela peut avoir plusieurs avantages : modification de l&rsquo;affichage (taille, découpe, etc&#8230;), ajout d&rsquo;informations en surimpression de la vidéo, de filtres de couleurs, lecture de plusieurs vidéo dans une seule balise &lt;canvas&gt;, etc&#8230;</p>
<p><a href="https://www.info-d-74.com/demos/video_canvas_HTML5/" target="_blank" rel="noopener"><img decoding="async" class="alignnone size-full wp-image-799" src="https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5.jpg" alt="demo_video_canvas_HTML5" width="621" height="384" srcset="https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5.jpg 621w, https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5-600x371.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5-300x186.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5-243x150.jpg 243w, https://www.info-d-74.com/wp-content/uploads/2015/12/demo_video_canvas_HTML5-150x93.jpg 150w" sizes="(max-width: 621px) 100vw, 621px" /></a></p>
<p><span id="more-452"></span></p>
<p>C&rsquo;est ce que nous allons voir dans ce tutoriel. La première étape va être de définir le code HTML et CSS de base :</p>
<blockquote>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;style&gt;
    body {
      height: 100%;
      width: 100%;
    }
    #color {
      width: 80px;
    }
    #opacity {
      width: 30px;
    }
  &lt;/style&gt;
  &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&gt;&lt;/script&gt;  
&lt;/head&gt;
&lt;body&gt;      
    &lt;canvas width="600" height="320" id="video"&gt;
      Votre navigateur ne supporte pas la balise canvas
    &lt;/canvas&gt;
    &lt;div id="bar"&gt;
      &lt;input type="checkbox" id="filter" /&gt; Filtre : &lt;input type="text" value="255, 0, 0" id="color_filter" /&gt; (opacity : &lt;input type="text" value="0.3" id="opacity_filter" /&gt;)&lt;br /&gt;
      &lt;input type="checkbox" id="bruit" /&gt; Bruit : &lt;input type="text" value="0, 0, 0" id="color_bruit" /&gt; (opacity : &lt;input type="text" value="0.7" id="opacity_bruit" /&gt;)
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
</blockquote>
<p>On a donc uniquement une balise canvas qui va servir à lire notre vidéo puis un div où on va définir 2 options de surimpression pour la vidéo : un filtre de couleur et du bruit.</p>
<p>Maintenant nous allons instancier un élément &lt;video&gt; et la lire :</p>
<blockquote>
<pre>var video = document.createElement('video');
video.width = 600; video.height = 320;
$(video).html('&lt;source src="../video_HTML5/video.webm" type="video/webm" /&gt;&lt;source src="../video_HTML5/video.mp4" type="video/mp4" /&gt;');
video.volume = 0;
video.play();</pre>
</blockquote>
<p>On définit donc la vidéo avec sa taille et 2 sources pour être compatible avec la plupart des navigateurs (<a title="Vidéo d'exemple webm" href="https://www.info-d-74.com/demos/video_HTML5/video.webm" target="_blank" rel="noopener">webm</a> et <a title="Vidéo d'exemple mp4" href="https://www.info-d-74.com/demos/video_HTML5/video.mp4" target="_blank" rel="noopener">mp4</a>). Ensuite on rend la vidéo muette en mettant le volume a 0 et on lance la lecture. A ce stade notre vidéo n&rsquo;est pas affiché puisque notre élément video n&rsquo;est pas intégré à la page. Ce que nous voulons c&rsquo;est que la lecture s&rsquo;affiche dans le canvas donc :</p>
<blockquote>
<pre>var ctx = $('#video')[0].getContext('2d');
setInterval(video_to_canvas, 30);

function video_to_canvas()
{         
  ctx.drawImage(video, 0, 0, video.width, video.height);
}</pre>
</blockquote>
<p>On récupère le context du canvas pour dessiner dedans et on défini un appel à la fonction video_to_canvas toutes les 30 millisecondes.<br />
Cette fonction va dessiner l&rsquo;image courante de la vidéo dans la canvas.</p>
<p>Ajoutons maintenant les 2 fonctionnalités donc nous avons parlé tout à l&rsquo;heure : un filtre de couleur et du bruit . Nous avons défini ce code HTML tout à l&rsquo;heure :</p>
<blockquote>
<pre>&lt;div id="bar"&gt;
  &lt;input type="checkbox" id="filter" /&gt; Filter : &lt;input type="text" value="255, 0, 0" id="color_filter" /&gt; (opacity : &lt;input type="text" value="0.3" id="opacity_filter" /&gt;)&lt;br /&gt;
  &lt;input type="checkbox" id="bruit" /&gt; Bruit : &lt;input type="text" value="0, 0, 0" id="color_bruit" /&gt; (opacity : &lt;input type="text" value="0.7" id="opacity_bruit" /&gt;)
&lt;/div&gt;</pre>
</blockquote>
<p>Nous avons pour chacune des fonctionnalités 3 champs : 1 case à cocher (fonction activée ou non), 2 champs texte (couleur et opacité). Modifions donc maintenant la fonction<em> video_to_canvas</em> de tout à l&rsquo;heure pour prendre en compte ces champs et leurs valeurs :</p>
<blockquote>
<pre>function video_to_canvas()
{         
  ctx.drawImage(video, 0, 0, video.width, video.height);
  if($('#filter:checked').length &gt; 0)
  {
    ctx.fillStyle = 'rgba('+$('#color_filter').val()+', '+$('#opacity_filter').val()+')';
    ctx.fillRect(0,0,video.width,video.height);
  }
  if($('#bruit:checked').length &gt; 0)
  {
    for(var i=0; i&lt;300; i++)
    {
      ctx.fillStyle = 'rgba('+$('#color_bruit').val()+', '+$('#opacity_bruit').val()+')';
      ctx.fillRect(Math.random()*video.width,Math.random()*video.height,1,2);
    }
  }
}</pre>
</blockquote>
<ul>
<li>On dessine un rectangle de la couleur et de l&rsquo;opacité choisis sur toutes la taille du canvas si le filtre est activé</li>
<li>On ajoute 300 « petits points de bruit » de la couleur et de l&rsquo;opacité choisis à des emplacement aléatoire dans le canvas</li>
</ul>
<p>Voila c&rsquo;est terminé pour ce tuto ! A vous maintenant d&rsquo;imaginer d&rsquo;autres fonctionnalités avec les possibilités offertes par HTML5&#8230;</p>
<p><a title="HTML5 – Lire une vidéo dans une balise canvas" href="https://www.info-d-74.com/demos/video_canvas_HTML5/" target="_blank" rel="noopener">Démonstration video et canvas HTML5</a> &#8211; <a title="ZIp du tuto (HTML5 – Lire une vidéo dans une balise canvas)" href="https://www.info-d-74.com/demos/video_canvas_HTML5/HTML5-video-canvas.zip" target="_blank" rel="noopener">Télécharger le ZIP du tutoriel</a></p>
<p>L’article <a href="https://www.info-d-74.com/utiliser-la-balise-canvas-pour-lire-une-video-html5/">Utiliser la balise canvas pour lire une vidéo &#8211; HTML5</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.info-d-74.com/utiliser-la-balise-canvas-pour-lire-une-video-html5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://www.info-d-74.com/demos/video_HTML5/video.webm" length="2348204" type="application/wordperfect" />
<enclosure url="https://www.info-d-74.com/demos/video_HTML5/video.mp4" length="5137944" type="video/mp4" />

			</item>
		<item>
		<title>HTML5 &#8211; Utiliser le localStorage</title>
		<link>https://www.info-d-74.com/html5-utiliser-le-localstorage/</link>
					<comments>https://www.info-d-74.com/html5-utiliser-le-localstorage/#respond</comments>
		
		<dc:creator><![CDATA[info74]]></dc:creator>
		<pubDate>Thu, 19 Jul 2012 09:20:41 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[local storage]]></category>
		<category><![CDATA[localStorage]]></category>
		<guid isPermaLink="false">https://www.info-d-74.com/?p=228</guid>

					<description><![CDATA[<p>Une autre nouveauté proposé par le HTML5 va faire l&#8217;objet de ce tutoriel : le localStorage et le sessionStorage Définition et utilité Le localStorage et le sessionStorage permettent de faire sensiblement la même chose : stocker des données directement dans le navigateur, donc coté client. La différence entre les 2 est la même qu&#8217;il existe [&#8230;]</p>
<p>L’article <a href="https://www.info-d-74.com/html5-utiliser-le-localstorage/">HTML5 &#8211; Utiliser le localStorage</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Une autre nouveauté proposé par le HTML5 va faire l&rsquo;objet de ce tutoriel : <strong>le localStorage et le sessionStorage</strong></p>
<h2>Définition et utilité</h2>
<p>Le localStorage et le sessionStorage permettent de faire sensiblement la même chose : stocker des données directement dans le navigateur, donc coté client. La différence entre les 2 est la même qu&rsquo;il existe entre les cookies et les variables sessions : les données enregistrées avec le localStorage persistent à la fermeture du navigateur alors qu&rsquo;avec sessionStorage elles seront détruites.</p>
<p><span id="more-451"></span></p>
<p>Cette fonctionnalité peut être très utile pour plusieurs raisons :</p>
<ul>
<li>accélérer la rapidité d’exécution : tout ce qui est dans le localStorage n&rsquo;est pas à recharger en ligne (très utiles pour les applications web mobile)</li>
<li>permettre d&rsquo;avoir une quantité de stockage plus grande qu&rsquo;avec les cookies (4Ko maximum). Apparemment la limite de poids du localStorage serait de 5Mo par domaine pour la plupart des navigateurs (à vérifier)</li>
<li>permettre l&rsquo;utilisation d&rsquo;une application web hors ligne grâce aux informations stockées en local</li>
</ul>
<h2>Fonctionnement de l&rsquo;API</h2>
<p>L&rsquo;utilisation de localStorage et sessionStorage est très simple.</p>
<h3>Enregistrer des données :</h3>
<blockquote>
<pre>localStorage.setItem('key', data);</pre>
</blockquote>
<p>ou</p>
<blockquote>
<pre>sessionStorage.setItem('key', data);</pre>
</blockquote>
<h3>Lire des données :</h3>
<blockquote>
<pre>var data = localStorage.getItem('key');</pre>
</blockquote>
<p>ou</p>
<blockquote>
<pre>var data = sessionStorage.getItem('key');</pre>
</blockquote>
<h3>Effacer des données :</h3>
<blockquote>
<pre>localStorage.removeItem('key');</pre>
</blockquote>
<p>ou</p>
<blockquote>
<pre>sessionStorage.removeItem('key');</pre>
</blockquote>
<h3>Parcourir toutes les données stockées</h3>
<blockquote>
<pre>var size = localStorage.length;
for(var i=0; i &lt;size; i++)
{
  alert(localStorage.key(i);
}</pre>
</blockquote>
<p>Vous savez maintenant comment utiliser localStorage et sessionStorage.<br />
J&rsquo;ai mis en ligne cette petite démo pour voir le fonctionnement en live : <a title="Exemple d'utilisation du localStoagre HTML5" href="https://www.info-d-74.com/demos/HTML5_localStorage/index.html" target="_blank" rel="noopener">Démonstration d&rsquo;utilisation localStorage</a></p>
<h2>Accéder au localStorage depuis le navigateur</h2>
<p>Pour terminer voici quelques astuces permettant d&rsquo;accéder aux informations stockées dans le localStorage depuis les différents navigateurs du marché.</p>
<h3><a href="https://www.info-d-74.com/wp-content/uploads/2012/07/firefox.jpg"><img decoding="async" class="alignnone size-full wp-image-249 title_img" title="firefox" src="https://www.info-d-74.com/wp-content/uploads/2012/07/firefox.jpg" alt="Firefox" width="32" height="32" /></a>Firefox</h3>
<p>Sous Firefox vous pouvez consulter les données contenues dans le localStorage via l&rsquo;extension Firebug. Ouvrez Firebug et tapez localStorage dans la console :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-865" src="https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5.jpg" alt="firebug_localStorage_HTML5" width="639" height="269" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5.jpg 639w, https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5-600x253.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5-300x126.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5-250x105.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2012/07/firebug_localStorage_HTML5-150x63.jpg 150w" sizes="(max-width: 639px) 100vw, 639px" /></p>
<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-864" src="https://www.info-d-74.com/wp-content/uploads/2012/07/chrome.jpg" alt="chrome" width="32" height="32" />Chrome</h3>
<p>Sous Chrome vous pouvez directement accéder au localStorage en passant par le menu Outils =&gt; Outils de développement, puis dans la fenêtre qui s&rsquo;ouvre en bas de page =&gt; Ressources puis localStorage :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-863" src="https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5.jpg" alt="chrome_localStorage_HTML5" width="640" height="270" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5.jpg 640w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-600x253.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-300x127.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-250x105.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-150x63.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-862" src="https://www.info-d-74.com/wp-content/uploads/2012/07/opera.jpg" alt="opera" width="32" height="32" />Opera</h3>
<p>Sur Opera il suffit de taper dans la barre d&rsquo;adresse <a title="LocalStorage Opera" href="webstorage" target="_blank" rel="noopener">opera:webstorage</a> pour accéder au différents sites ayant stocké des données en local. Vous pouvez également modifier certaines paramètres :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-861" src="https://www.info-d-74.com/wp-content/uploads/2012/07/opera_locaStorage_HTML5.jpg" alt="opera_locaStorage_HTML5" width="585" height="299" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/opera_locaStorage_HTML5.jpg 585w, https://www.info-d-74.com/wp-content/uploads/2012/07/opera_locaStorage_HTML5-300x153.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/opera_locaStorage_HTML5-250x128.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2012/07/opera_locaStorage_HTML5-150x77.jpg 150w" sizes="(max-width: 585px) 100vw, 585px" /></p>
<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-860" src="https://www.info-d-74.com/wp-content/uploads/2012/07/safari.jpg" alt="safari" width="32" height="32" />Safari</h3>
<p>Sur Safari il faut d&rsquo;abord activer les Outils développeur dans Préférences =&gt; Avancées :<br />
<a href="https://www.info-d-74.com/wp-content/uploads/2012/07/safaria_activation_outils_dev.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-244" title="safari_activation_outils_dev" src="https://www.info-d-74.com/wp-content/uploads/2012/07/safaria_activation_outils_dev.jpg" alt="Safari activation outils développeur" width="584" height="311" /></a></p>
<p>Ensuite faites un clic droit n&rsquo;importe où dans la page puis choisissiez « Inspecter l&rsquo;élément ». Vous allez retrouver exactement la même interface que sous Chrome :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-863" src="https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5.jpg" alt="chrome_localStorage_HTML5" width="640" height="270" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5.jpg 640w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-600x253.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-300x127.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-250x105.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2012/07/chrome_localStorage_HTML5-150x63.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-858" src="https://www.info-d-74.com/wp-content/uploads/2012/07/internet_explorer_8.jpg" alt="internet_explorer_8" width="32" height="32" />Internet Explorer</h3>
<p>Sous Internet Explorer (version 8) il n&rsquo;est apparemment pas possible d&rsquo;afficher directement le contenu du localStorage (du moins je n&rsquo;ai pas trouver). J&rsquo;ai donc fouiller un peu dans les dossiers de mon disque dur pour savoir où Internet Explorer enregistrait ces informations. Elles se trouvent dans <em>C:Documents and SettingsLOGINLocal SettingsApplication DataMicrosoftInternet ExplorerDOMStore</em>. Vous trouverez à cette emplacement des sous dossiers et dans chacun de ses sous dossiers un fichier XML pour chaque domaine contenant les informations du localStorage stockées pour chaque site :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-857" src="https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer.jpg" alt="localStorage_HTML5_internet_explorer" width="640" height="400" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer.jpg 640w, https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer-600x375.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer-300x188.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer-240x150.jpg 240w, https://www.info-d-74.com/wp-content/uploads/2012/07/localStorage_HTML5_internet_explorer-150x94.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Voila vous avez désormais toutes les informations vous permettant d&rsquo;utiliser localStorage et sessionStorage dans vos sites et application web.</p>
<p>L’article <a href="https://www.info-d-74.com/html5-utiliser-le-localstorage/">HTML5 &#8211; Utiliser le localStorage</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.info-d-74.com/html5-utiliser-le-localstorage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Réaliser un lecteur vidéo HTML5 personnalisé</title>
		<link>https://www.info-d-74.com/realiser-un-lecteur-video-html5-personnalise/</link>
					<comments>https://www.info-d-74.com/realiser-un-lecteur-video-html5-personnalise/#comments</comments>
		
		<dc:creator><![CDATA[info74]]></dc:creator>
		<pubDate>Tue, 17 Jul 2012 13:33:48 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[ie9]]></category>
		<category><![CDATA[inernet explorer 9]]></category>
		<category><![CDATA[lecteur]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[ogv]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[vidéo]]></category>
		<category><![CDATA[webm]]></category>
		<guid isPermaLink="false">https://www.info-d-74.com/?p=179</guid>

					<description><![CDATA[<p>Dans ce tutoriel nous allons voir comment réaliser un lecteur vidéo HTML5 personnalisé : voir la démonstration La balise HTML5 &#60;video&#62; permet la lecture de vidéos directement sans installation de plugins/codecs. La plupart des navigateurs propose un lecteur prédéfini mais il peut être intéressant de le personnaliser en fonction du design du site dans lequel [&#8230;]</p>
<p>L’article <a href="https://www.info-d-74.com/realiser-un-lecteur-video-html5-personnalise/">Réaliser un lecteur vidéo HTML5 personnalisé</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Dans ce tutoriel nous allons voir comment réaliser un lecteur vidéo HTML5 personnalisé : <a title="Démonstration lecteur vidéo HTML5 personnalisé" href="https://www.info-d-74.com/demos/video_HTML5/" target="_blank" rel="noopener">voir la démonstration</a></p>
<p><a href="https://www.info-d-74.com/demos/video_HTML5/" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-869" src="https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5.jpg" alt="demonstration_lecteur_video_HTML5" width="830" height="519" srcset="https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5.jpg 830w, https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5-600x375.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5-300x188.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5-240x150.jpg 240w, https://www.info-d-74.com/wp-content/uploads/2012/07/demonstration_lecteur_video_HTML5-150x94.jpg 150w" sizes="(max-width: 830px) 100vw, 830px" /></a></p>
<p><span id="more-450"></span></p>
<p>La balise HTML5 &lt;video&gt; permet la lecture de vidéos directement sans installation de plugins/codecs. La plupart des navigateurs propose un lecteur prédéfini mais il peut être intéressant de le personnaliser en fonction du design du site dans lequel on va l&rsquo;intégrer. En effet il peut y avoir des différences de couleurs/formes suivant le navigateur utilisé comme montré ci-dessous :</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-815" src="https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5.jpg" alt="lecteurs_videos_HTML5" width="804" height="137" srcset="https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5.jpg 804w, https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5-600x102.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5-300x51.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5-250x43.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2015/12/lecteurs_videos_HTML5-150x26.jpg 150w" sizes="(max-width: 804px) 100vw, 804px" /><br />
<em>Rendus des lecteurs vidéos HTML5 par défaut sous Firefox, Chrome et Opera</em></p>
<h2>Formats vidéo</h2>
<p>Avant d&rsquo;attaquer le tutoriel nous allons un peu parler des différents formats vidéos qui peuvent être utilisé pour la balise &lt;video&gt;. Ils sont au nombre de 3 : <strong>le Webm, le MP4, le OGV.</strong> Il est essentiel d&rsquo;avoir au moins <strong>2 de ces formats vidéo différents</strong> pour que la vidéo puisse être lue sur tous les navigateurs :</p>
<ul>
<li>soit webm et MP4</li>
<li>soit OGV et MP4</li>
</ul>
<p>En effet Webm et OGV peuvent être lu sur Firefox, Opera et Google Chrome alors que Safari et Internet Explorer 9 supporte uniquement le MP4. C&rsquo;est un des inconvénient pour le moment du HTML5 pour lire des vidéo : la nécessité d&rsquo;avoir 2 formats différents.</p>
<p>Voici les liens pour télécharger la vidéo de démo que nous allons utiliser (format webm et MP4) : <a title="Vidéo démo HTML5 webm" href="https://www.info-d-74.com/demos/video_HTML5/video.webm" target="_blank" rel="noopener">Télécharger la vidéo WEBM</a> &#8211; <a title="Vidéo démo HTML5 MP4" href="https://www.info-d-74.com/demos/video_HTML5/video.mp4" target="_blank" rel="noopener">Télécharger la vidéo MP4</a></p>
<p>Pour que votre serveur web reconnaisse ces formats il faut ajouter un fichier <em>.htaccess</em> à la racine de votre dossier avec ces 3 lignes :</p>
<blockquote>
<pre>AddType video/mp4 .mp4
AddType video/webm .webm
AddType video/ogg .ogv</pre>
</blockquote>
<p>Cela permettra à votre serveur web d&rsquo;envoyer au navigateur les types MIME corrects pour les fichiers webm, mp4 et ogv. Ceci fait nous pouvons passer à proprement parlé au tutoriel.</p>
<h2>Intégration HTML/CSS</h2>
<p>Commençons par définir le code HTML de base pour l’intégration de la vidéo :</p>
<blockquote>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id="content"&gt;
    &lt;video width="800" type="video/webm"&gt;
      &lt;source src="video.webm" type="video/webm" /&gt;
      &lt;source src="video.mp4" type="video/mp4" /&gt;
      Votre navigateur ne supporte pas la balise HTML5 vidéo
    &lt;/video&gt;
    &lt;div id="controls"&gt;
      &lt;img src="img/fullscreen.png" id="fullscreen" alt="&lt;&gt;" /&gt;
      &lt;img src="img/play.png" id="play" alt="&gt;" /&gt;
      &lt;img src="img/pause.png" id="pause" alt"||" /&gt;
      &lt;img src="img/stop.png" id="stop" alt="S" /&gt;
      &lt;div id="time"&gt;&lt;/div&gt;&lt;img src="img/volume.png" id="btn_volume" alt="V" /&gt;
      &lt;div id="volume"&gt;&lt;/div&gt;
    &lt;/div&gt;  
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
</blockquote>
<p>Et le minimum de CSS pour que le tout s&rsquo;affiche correctement :</p>
<blockquote>
<pre>#content {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

#video {
  z-index: 1;
}

#controls {
  position: relative;
  z-index: 2;
  background: #ccc;
  padding: 3px;
}

#time {
  width: 505px;
  display: inline-block;
}

#btn_volume {
  margin-left: 5px;
}

#volume {
  float: right;
  width: 100px;
  margin-top: 12px;
}

#fullscreen {
  float: right;
  margin-left: 15px;
  margin-top: 5px;
}</pre>
</blockquote>
<p>Voici les différentes fonctionnalités que nous allons mettre en place pour notre lecteur :</p>
<ul>
<li>un bouton lecture</li>
<li>un bouton pause</li>
<li>un bouton stop</li>
<li>une barre de progression</li>
<li>un réglage du volume</li>
<li>un bouton pour passer en plein écran</li>
</ul>
<p>C&rsquo;est à ça que va servir tout ce qui est dans le <em>&lt;div id= »controls »&gt;</em> :</p>
<blockquote>
<pre>&lt;div id="controls"&gt;
  &lt;img src="img/fullscreen.png" id="fullscreen" alt="&lt;&gt;" /&gt;
  &lt;img src="img/play.png" id="play" alt="&gt;" /&gt;
  &lt;img src="img/pause.png" id="pause" alt"||" /&gt;
  &lt;img src="img/stop.png" id="stop" alt="S" /&gt;
  &lt;div id="time"&gt;&lt;/div&gt;&lt;img src="img/volume.png" id="btn_volume" alt="V" /&gt;
&lt;div id="volume"&gt;&lt;/div&gt;</pre>
</blockquote>
<p>Les 4 images sont les 4 boutons lecture, pause, stop et plein écran, le <em>&lt;div&gt;</em> avec l&rsquo;id <em>time</em> servira pour la barre de progression, l&rsquo;image et le dernier <em>&lt;div&gt;</em> pour le réglage du volume. <a title="Icones pour lecteurs HTML5" href="https://www.info-d-74.com/wp-content/uploads/2012/07/icones.zip" target="_blank" rel="noopener">Télécharger les icônes utilisées dans la démo</a></p>
<h2>Ajoute de librairies JavaScript</h2>
<p>Nous allons ajouter les librairies JQuery et JQuery UI, qui nous utiliserons par la suite, notamment pour réaliser la barre de progression de la vidéo ainsi que le régleur de volume. Voici le code à ajouter dans le &lt;head&gt; :</p>
<blockquote>
<pre>&lt;link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/&gt;
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"&gt;&lt;/script&gt;</pre>
</blockquote>
<p>Donc les 2 librairies JQuery et JQuery UI plus la feuille de styles propre à JQuery UI.</p>
<h2>Réalisation des fonctionnalités de lecture avec Javascript/JQuery</h2>
<p>Maintenant que tout est prêt commençons par réaliser les 3 fonctions de bases : lecture, pause et stop. Ajoutez ce code dans le <em>&lt;head&gt;</em> après les 3 fichiers que nous avons inclut tout à l&rsquo;heure :</p>
<blockquote>
<pre>&lt;script&gt;
$(document).ready(function(){
  //joue la vidéo
  $("#play").click(function(){
    $('video')[0].play();
  });

  //met en pause la vidéo
  $("#pause").click(function(){
    $('video')[0].pause();
  });

  //stop la vidéo
  $("#stop").click(function(){
    $('video')[0].pause();
    $('video')[0].currentTime = 0;
  });
});
&lt;/script&gt;</pre>
</blockquote>
<p>Donc pour chaque bouton on effectue l&rsquo;action correspondante lorsque l&rsquo;événement click est déclenché :</p>
<ul>
<li>pour lancer la lecture on appelle la méthode <em>play</em> sur la vidéo</li>
<li>pour mettre en pause on appelle la méthode <em>pause</em> sur la vidéo</li>
<li>pour stopper il n&rsquo;existe pas de méthode <em>stop</em>. Il faut appeler la méthode <em>pause</em> et remettre la vidéo au début : <em>currentTime = 0</em></li>
</ul>
<p>Vous pouvez testez dans votre navigateur que vos 3 boutons fonctionnent correctement.</p>
<p>Passons maintenant à la barre de progression de la vidéo. Celle-ci doit avancer en même temps que la vidéo se lit et être cliquable pour l&rsquo;internaute puisse atteindre directement le moment voulu.</p>
<p>Nous allons utiliser pour ce faire le plugin <em>Progress Bar</em> fournit par la librairie <em>JQuery UI</em>. Ce plugin permet comme son nom l&rsquo;indique de créer une barre de progression. Voici le code pour l&rsquo;initialiser (à placer dans le <em>$(document).ready</em>) :</p>
<blockquote>
<pre>$("#time").progressbar();</pre>
</blockquote>
<p>Voila notre barre de progression est créer. Il faut maintenant la synchroniser avec la vidéo. Mettons donc en place une petite fonction que nous nommerons <em>setTime </em>et qui se chargera de faire avancer la barre de progression (à placer avant <em>$(document).ready</em>) :</p>
<blockquote>
<pre>function setTime() {
  $("#time").progressbar({ value: $('video')[0].currentTime*100/$('video')[0].duration });
}</pre>
</blockquote>
<p>On récupère où en est la vidéo (<em>currentTime</em>) et on ramène en pourcentage par rapport à la durée totale de la vidéo : <em>duration</em></p>
<p>Maintenant il ne nous reste plus qu&rsquo;a appeler cette fonction régulièrement pour que la barre de progression reste synchronisée avec la vidéo. Il suffit de rajouter cette ligne dans <em>$(« #play »).click</em> :</p>
<blockquote>
<pre> setInterval("setTime()", 10);</pre>
</blockquote>
<p>On appelle la fonction <em>setTime()</em> toutes les 10 millisecondes, ainsi la barre de progression reste tout le temps en phase avec la vidéo.</p>
<p>Maintenant il faudrait que lorsque l&rsquo;internaute se déplace dans la barre de progression la vidéo fasse de même. C&rsquo;est la partie la plus complexe à réaliser&#8230; En effet lorsque l&rsquo;utilisateur va cliquer dans la barre de progression on ne va pas pouvoir directement récupérer une valeur entre 0 et 100 qui nous indiquerait à quel endroit lire la vidéo : on va récupérer la distance en pixels entre le bord de la fenêtre du navigateur et la position du curseur de la souris. Un petit schéma pour mieux comprendre :<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-789" src="https://www.info-d-74.com/wp-content/uploads/2015/12/x_progressbar.jpg" alt="x_progressbar" width="459" height="177" srcset="https://www.info-d-74.com/wp-content/uploads/2015/12/x_progressbar.jpg 459w, https://www.info-d-74.com/wp-content/uploads/2015/12/x_progressbar-300x116.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2015/12/x_progressbar-250x96.jpg 250w, https://www.info-d-74.com/wp-content/uploads/2015/12/x_progressbar-150x58.jpg 150w" sizes="(max-width: 459px) 100vw, 459px" /><br />
On va récupérer la distance rouge (distance bord de la fenêtre &#8211; curseur). La valeur qui nous intéresse c&rsquo;est la verte (distance bord de la barre &#8211; curseur). Il faut donc faire rouge moins bleu (distance bord de la fenêtre &#8211; bord de la barre).</p>
<p>Nous allons utiliser cette fonction qui permet de déterminer la position d&rsquo;un élément HTML dans la page (à placer avant <em>$(document).ready</em>) :</p>
<blockquote>
<pre>function findPos(el) {
  var x = y = 0;    
  if(el.offsetParent) {    
    x = el.offsetLeft;    
    y = el.offsetTop;    
    while(el = el.offsetParent) {    
      x += el.offsetLeft;    
      y += el.offsetTop;    
    }    
  }    
  return {'x':x, 'y':y};    
}</pre>
</blockquote>
<p>Ensuite placez ce code dans <em>$(document).ready</em> :</p>
<blockquote>
<pre>$('#time').click(function(e) {
  var ev = e || window.event;
  var pos = findPos(this);      
  var diffx = ev.clientX - pos.x;      
  $("#time").progressbar({value: diffx*100/$(this).width()});
  var duration = $('video')[0].duration;
  $('video')[0].currentTime = diffx*duration/$(this).width();      
});</pre>
</blockquote>
<p>On récupère donc la distance rouge du schéma plus haut (<em>ev.clientX</em>) à laquelle on va soustraire le distance bleu (<em>pos.x</em>). Ensuite il suffit de placer la barre de progression à l’endroit cliqué : <em>diffx</em> ramené en pourcentage par rapport à la longueur total de la barre de progression. Et de définir où on doit se placer dans la vidéo : <em>diffx</em> ramené par rapport à la durée total de la vidéo.</p>
<p>Voila pour la barre de progression, passons au réglage du volume.</p>
<p>Nous allons pour cette étape utiliser un autre plugin de JQuery UI : Slider. Celui ci va nous permettre de créer un sélecteur glissant permettant de choisir le niveau du voulme.</p>
<p>Voici le code pour l’initialiser (à placer dans <em>$(document).ready</em>) :</p>
<blockquote>
<pre>$("#volume").slider({
  slide: function(event, ui) {
  var volume = ui.value/100;
  setVolume(volume);
  },
  value: 50
});</pre>
</blockquote>
<p>On réalise ici 2 choses en même temps :</p>
<ul>
<li>on initialise le sélecteur glissant avec une valeur par défaut à la moitié (50 sur 100)</li>
<li>on définit quoi faire lorsque l&rsquo;internaute bougera le sélecteur : on appellera la fonction <em>setVolume()</em> qui va s&rsquo;occuper de définir le niveau du volume qu&rsquo;on lui passe en paramètre</li>
</ul>
<p>Cette fonction n&rsquo;existe pas il faut la créer :</p>
<blockquote>
<pre>function setVolume(value)
{
  if(value == 0)
    $("#btn_volume").css('opacity', 0.3);
  else
    $("#btn_volume").css('opacity', 1.0);
  $("#volume").slider("option", "value", value*100);
  $('video')[0].volume = value;
}</pre>
</blockquote>
<p>On grise/dégrise l&rsquo;icône de volume si le niveau du volume est définit à 0 ou non, on définit la position du sélecteur de volume suivant le niveau de volume et enfin on définit le niveau de volume de la vidéo.</p>
<p>Voila notre sélecteur de volume fonctionne. On peut faire une dernière chose : permettre à l&rsquo;internaute de couper le son quand il clique sur l&rsquo;icône de volume :</p>
<pre>$("#btn_volume").click(function(){
  var volume = $("#volume").slider("option", "value");
  if(volume &gt; 0)
    setVolume(0);
  else
    setVolume(0.5);
});</pre>
<p>On définit le volume à 0 si il n&rsquo;est pas déjà coupé ou on le rétablit à la moitié si c&rsquo;est le cas.</p>
<p>Notre lecteur vidéo HTML5 est presque terminé ! Passons à la dernière étape : le plein écran.</p>
<blockquote>
<pre>//plein écran
$("#fullscreen").click(function(){
      
        var video = $('#video').get(0);
        if(video.requestFullScreen) {
                //fonction officielle du w3c
                video.requestFullScreen();
        } else if(video.webkitRequestFullScreen) {
                //fonction pour Google Chrome (on lui passe un argument pour autoriser le plein écran lors d'une pression sur le clavier)
                video.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
        } else if(video.mozRequestFullScreen){
                //fonction pour Firefox
                video.mozRequestFullScreen();
        } else { //fallback pour anciens navigateurs
              //si pas déjà en pleine écran
              if($('#video').attr('rel') != 'fullscreen')
              {
                //on met la vidéo en pleine écran
                $('#video').css({position: 'absolute', top: 0, left: 0, width: '100%', height: '100%'}).attr('rel', 'fullscreen');
                //on met la barre de controles en bas de la page
                $('#controls').css({position: 'absolute', bottom: 0, marginLeft: 'auto', marginRight: 'auto'});
                //la barre apparait si on passe dessus
                setTimeout("$('#controls').animate({opacity : 0.0}, 500);", 1000);
                $('#controls').hover(function(){
                  $(this).animate({opacity : 1.0}, 200);
                }, function(){
                  $(this).animate({opacity : 0.0}, 500);
                });
              }
              else
              {
                //on remet la vidéo en mode normal
                $('#video').removeAttr('style').removeAttr('rel');
                //on remet la barre de control en dessous de la vidéo
                $('#controls').animate({opacity : 1.0}, 1).off('hover').removeAttr('style').removeAttr('style');
              }    
        }
        
      });
    $('#controls').animate({opacity : 1.0}, 1).off('hover').removeAttr('style');
  }    
});</pre>
</blockquote>
<p>On vérifié si la vidéo est déjà en pleine écran (attribut rel=&rsquo;fullscreen&rsquo;). Si elle ne l&rsquo;est pas :</p>
<ul>
<li>on l&rsquo;agrandit à la taille de la fenêtre (position en 0,0 et taille 100%)</li>
<li>on position les contrôles du lecteur en bas de page (bottom = 0) et on la cache (opacity = 0.0)</li>
<li>au survol de la barre de contrôle et on la fait réapparaitre</li>
</ul>
<p>Si la vidéo est déjà en plein écran on la ramène en mode « normal » :</p>
<ul>
<li>on supprime les attributs &lsquo;style&rsquo; et &lsquo;rel&rsquo; de la vidéo</li>
<li>on refait apparaitre la barre de contrôle, on supprime l’événement de survol et on supprime l&rsquo;attribut &lsquo;style&rsquo;</li>
</ul>
<p>Voila notre lecteur personnalisé est maintenant terminé. Vous pouvez consulter la <a title="Démonstration lecteur vidéo HTML5 personnalisé" href="https://www.info-d-74.com/demos/video_HTML5/" target="_blank" rel="noopener">démonstration finale </a>et <a title="Tutoriel lecteur vidéo personnalisé HTML5" href="https://www.info-d-74.com/demos/video_HTML5/video_HTML5.zip" target="_blank" rel="noopener">télécharger l&rsquo;archive ZIP</a> de ce tutoriel. N&rsquo;hésitez à laisser un commentaire ou des remarques si besoin.</p>
<p>L’article <a href="https://www.info-d-74.com/realiser-un-lecteur-video-html5-personnalise/">Réaliser un lecteur vidéo HTML5 personnalisé</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.info-d-74.com/realiser-un-lecteur-video-html5-personnalise/feed/</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		<enclosure url="https://www.info-d-74.com/demos/video_HTML5/video.webm" length="2348204" type="application/wordperfect" />
<enclosure url="https://www.info-d-74.com/demos/video_HTML5/video.mp4" length="5137944" type="video/mp4" />

			</item>
		<item>
		<title>Slider HTML5 JQUERY</title>
		<link>https://www.info-d-74.com/slider-html5-jquery/</link>
					<comments>https://www.info-d-74.com/slider-html5-jquery/#respond</comments>
		
		<dc:creator><![CDATA[info74]]></dc:creator>
		<pubDate>Wed, 18 Jan 2012 17:30:46 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[slider]]></category>
		<guid isPermaLink="false">https://www.info-d-74.com/?p=1</guid>

					<description><![CDATA[<p>Voici un petit plugin Jquery que j&#8217;ai développé. Il permet simplement d&#8217;afficher un slider photos mais en utilisant le HTML5 :  balise « &#60;canvas&#62; ». Il faut inclure JQuery et le plugin dans le &#60;head&#62;. HTML : &#60;div id="slider"&#62; &#60;img src="img/1.jpg" alt="" /&#62; &#60;img src="img/2.jpg" alt="" /&#62; &#60;img src="img/3.jpg" alt="" /&#62; &#60;img src="img/4.jpg" alt="" /&#62; &#60;/div&#62; Javascript [&#8230;]</p>
<p>L’article <a href="https://www.info-d-74.com/slider-html5-jquery/">Slider HTML5 JQUERY</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Voici un petit plugin Jquery que j&rsquo;ai développé. Il permet simplement d&rsquo;afficher un slider photos mais en utilisant le HTML5 :  balise « &lt;canvas&gt; ».</p>
<p><a href="/demos/slider_HTML5/exemple.html" target="_blank" rel="attachment wp-att-719 noopener"><img loading="lazy" decoding="async" class="alignnone wp-image-719 size-full" src="https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5.jpg" alt="slider_jquery_html5" width="800" height="800" srcset="https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5.jpg 800w, https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5-300x300.jpg 300w, https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5-100x100.jpg 100w, https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5-600x600.jpg 600w, https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5-200x200.jpg 200w, https://www.info-d-74.com/wp-content/uploads/2012/01/slider_jquery_html5-150x150.jpg 150w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p><span id="more-1"></span></p>
<p>Il faut inclure JQuery et le plugin dans le &lt;head&gt;.</p>
<p>HTML :</p>
<blockquote>
<pre id="line1">&lt;div id="<a>slider</a>"&gt;
        &lt;img src="<a href="view-source:https://www.info-d-74.com/demos/slider_HTML5/img/1.jpg">img/1.jpg</a>" alt="" /&gt;
        &lt;img src="<a href="view-source:https://www.info-d-74.com/demos/slider_HTML5/img/2.jpg">img/2.jpg</a>" alt="" /&gt;
        &lt;img src="<a href="view-source:https://www.info-d-74.com/demos/slider_HTML5/img/3.jpg">img/3.jpg</a>" alt="" /&gt;
        &lt;img src="<a href="view-source:https://www.info-d-74.com/demos/slider_HTML5/img/4.jpg">img/4.jpg</a>" alt="" /&gt;
&lt;/div&gt;</pre>
</blockquote>
<p>Javascript :</p>
<blockquote>
<pre id="line1">$(document).ready(function() {

  $('#slider').slider_html5({width: 1024, height: 640, transition: 'fade_in', autoplay: false});

});</pre>
</blockquote>
<p>Paramètres du plugin :</p>
<p>width : largeur du slider<br />
height : hauteur du slider<br />
transition : type de transition (valeurs possibles : fade_in (foudu), extension (agrandissement), appear (glissement depuis la gauche)<br />
autoplay : défilement automatique ? (activé par défaut)<br />
time : temps en millisecondes pour le défilement automatique (5000 par défaut)<br />
show_next_prev : activer les boutons précédent et suivant ? (activé par défaut)<br />
show_nav  :activer la navigation en dessous du slider ? (activé par défaut)</p>
<p><a href="https://www.info-d-74.com/wp-content/uploads/2012/01/slider_HTLM5.zip"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-225 title_img" title="zip" src="https://www.info-d-74.com/wp-content/uploads/2012/01/zip.png" alt="" width="32" height="32" />Télécharger le plugin</a> &#8211; <a title="Slider HTML5" href="/demos/slider_HTML5/exemple.html" target="_blank" rel="noopener">Démonstration</a></p>
<p>L’article <a href="https://www.info-d-74.com/slider-html5-jquery/">Slider HTML5 JQUERY</a> est apparu en premier sur <a href="https://www.info-d-74.com">InfoD 74</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.info-d-74.com/slider-html5-jquery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
