Multimédia et Intégration

Programmation Web

Avant le HTML5, pour l’ajout du contenu multimédia ou des animations dans une page Web, les développeurs ont utilisé des plugins embarqués dans la page du Web comme des plugins de lecteurs vidéos/audio (VLC, RealPlayer, QuickTime, Windows Media Player, …) ou des plateformes propriétaires comme Adobe Flash (anciennement Macromedia Flash) et Microsoft Silverlight. Ces solutions ont des limites comme le manque d’intégration avec le HTML/CSS, des problèmes de sécurité, de stabilité et de manque d’accessibilité.

HTML5 a ajouté un support native des contenus multimédia et des animations en utilisant une combinaison de HTML5, CSS3 et JavaScript. Dans cette section, on va démontrer seulement les fonctionnalités fondamentales du HTML5 sans CSS3 et JavaScript.

Les Vidéos

La balise <video> permet d’intégrer une vidéo dans la page Web. Un exemple d’un élément vidéo :

<video src="mon-video.mp4" controls></video>

Les attributs principaux d’élément vidéo sont :

Les navigateurs supportent de multiples formats de vidéo. Ce support diffère entre les navigateurs. Les deux formats principaux sont :

Pour fournir plus d’un format de vidéo, on peut utiliser la balise <source> qui accepte L’URL de la vidéo dans l’attribut src et le format MIME de vidéo dans l’attribut type.

<video controls>
  <source src="mon-video.webm" type="video/webm" />
  <source src="mon-video.mp4" type="video/mp4" />
</video>

Les audios

L’élément audio de HTML5 fonctionne de même façon que l’élément vidéo mais il est limité aux formats audio.

<audio controls>
  <source src="mon-audio.mp3" type="audio/mp3" />
  <source src="mon-audio.ogg" type="audio/ogg" />
  <source src="mon-audio.webm" type="audio/webm" />
</audio>

Les formats principaux d’audio sont :

Les images vectorielles

Les images sont divisées en deux types principaux :

La format SVG (Scalable Vector Graphics) est un format d’image vectoriel basé sur le langage XML développé par W3C depuis 1999. Ce format est supportée par la majorité des éditeurs des images vectorielles. Il est utilisé dans le Web pour structurer des images complexes que le HTML/CSS peut structurer. SVG est désigné pour s’intégrer bien avec les technologies du Web comme le HTML et CSS. Il supporte les animations aussi. La version courante est SVG 1.1. La version SVG 2.0 est en cours de développement.

Pour afficher un fichier SVG, on utilise la balise <img>.

<img src="mon-image.svg" />

On peut aussi intégrer le code SVG directement dans notre code HTML en utilisant la balise SVG.

<p>Un démo page Web avec image SVG</p>
<svg width="300px" height="200px">
    <rect width="100%" height="100%" fill="red" />
    <circle cx="150" cy="100" r="80" fill="green" />
    <text x="150" y="125" font-size="60" text-anchor="middle" fill="white">SVG</text>
</svg>

Intégration de contenu externe

À côté de l’intégration des vidéos et audio dans la page Web, le HTML permet l’intégration d’autres types de ressources (p.ex: PDF, Flash, sous pages Web, …) dans un document Web. Cette fonctionnalité était très importante surtout avant la standardisation des éléments <video> et <audio>. Pendant les années 90s et le début de 2000s, les développeurs Web ont utilisé l’élément <object> ou l’élément <embed> qui permettent d’intégrer différents types de ressources à travers des plugins (comme Adobe PDF Reader, VLC, RealPlayer, QuickTime, Windows Media Player, …) ou des plateformes propriétaires comme Adobe Flash (anciennement Macromedia Flash), Java Applets et Microsoft Silverlight. Aussi, l’élément <iframe>, et ses précédents absolues <frame> et <frameset>, permettent l’intégration des sous page Web dans le document HTML.

Intégration des pages Web

On va discuter seulement l’élément <iframe> parceque les éléments <frame> et <frameset> sont obsolètes depuis HTML 5.0 . Cet élément permet d’intégrer des pages Web dans le document HTML courant ce qui permet d’intégrer des contenus d’autres sites Web ou de réutiliser des contenus sans besoin de l’implémenter dans chaque page Web. Par exemple, on peut intégrer une vidéo ou un audio hébergé dans un fournisseur de services vidéos ou audio (YouTube, Vimeo, SoundCloud, …), ou un système de commentaires (Disqus, …), ou des cartes géographiques (Google Maps, Here, …), ou des banners d’avertissement (Google Adsense, …).

<iframe> accepte de multiples attributs dont les principaux sont :

Prenons les deux exemples suivants d’intégration de vidéo YouTube et d’une carte géographique Google Maps dans le document.

<iframe src="https://www.youtube.com/embed/mzPxo7Y6JyA" frameborder="no" allowfullscreen width="560" height="315"></iframe>

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3277.9357736381517!2d10.769966314953201!3d34.757210680419966!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x1301d2c1f3c2991f%3A0xab7f8817c80e9617!2sHigher+Institute+of+Technological+Studies+of+Sfax!5e0!3m2!1sen!2stn!4v1528826537239"
  width="100%" height="400px;" frameborder="0" allowfullscreen></iframe>

Intégrer des autres ressources

Contrairement à l’élément <iframe>, <object> et <embed> permettent d’intégrer d’autres types de contenu dans le document HTML grâce à des plugins propriétaires. Par exemple, on peut intégrer des PDFs, des Flash, des Applets Java, des vidéos, des images ou d’autres types. On va démontrer seulement l’élément <object> parce que l’élément <embed> est rarement utilisé et <object> est son successeur.

Les attributs principaux de <object> :

Prenons l’exemple d’intégration d’un fichier PDF.

<object data="rapport.pdf" type="application/pdf"></object>

Notons que l’utilisation de l’élément <object> et <embed> est rare à causes des multiples raisons :

Remarque

Ils y a un grand nombre de vendeurs des services vidéos en ligne (YouTube, Vimeo, Dailymotion, …) et des services d’audio en ligne (Soundcloud, …) qui sont gratuits et payants. Ces services permettent d’héberger les vidéos/audio dans leurs serveurs sans limites de tailles ou de bandwidths. Ces services permettent d’intégrer leurs lecteurs vidéos/audio dans vos pages Web facilement avec un énorme nombre de fonctionnalités. Ils sont la solution la plus préférée pour ajouter des contenus multimédias aux sites Web.

Le code d’intégration est fourni par ces services. Par exemple, YouTube fournit le code d’intégration dans le dialogue du partage de vidéo. Le code suivant est le code d’intégration d’un vidéo YouTube :

<iframe src="https://www.youtube.com/embed/mzPxo7Y6JyA" frameborder="no" allowfullscreen width="560" height="315"></iframe>