Académique Documents
Professionnel Documents
Culture Documents
Département d’Informatique
Filière Licence fondamentale
en Sciences Mathématiques et Informatique
intitulé :
C’est une tâche très agréable mais combien délicate de présenter nos remerciements
les plus sincères à toutes les personnes qui ont contribué de près ou de loin à l’élaboration
de ce mémoire ainsi qu’à la réussite de cette formidable année universitaire.
Nous remercions piètrement Allah le tout puissant de nous avoir donné le courage et
la bonne volonté de mener à terme ce présent travail.
i
Résumé
Dans le cadre de notre projet de fin d’étude, nous avons été amenées à concevoir et
réaliser un lecteur audio et vidéo hébergé dans un site web.
La conception des sites web passe par la maîtrise des langages fondateurs qui sont
le HTML (HyperText Markup Language) pour la structuration et le CSS (Cascading
Style Sheets) pour le design. Les dernières versions de ces deux langages ( HTML5 et le
CSS3), ont fait évoluer, d’une manière significative, la manière de concevoir un site web
en offrant de nouvelles possibilités de structure, de mise en page et de mise en forme.
En outre, grâce au HTML5 et au CSS3, il est beaucoup plus simple de concevoir des
lecteurs audio et/ou des lecteurs vidéos. Plus besoin donc de coder en langage flash ou
d’intégrer d’autres outils, l’utilisation d’une seule balise HTML5 avec différents options
est suffisante.
ii
Abstract
As part of our project graduation, we were led to design and realize an audio and
video player hosted in a website.
The design of websites requires the mastery of the founding languages, which are
HTML (HyperText Markup Language) and CSS (Cascading Style Sheets). The latest
versions of these two languages (HTML5 and CSS3) will change the way we design a
website by offering new possibilities for structure, layout and formatting.
In addition, HTML5 and CSS3 make it much easier to design audio players and / or
video players. No need to code in flash language or to integrate other tools, the use of a
single HTML5 tag with different options is sufficient.
iii
Table des matières
Remerciements i
Résumé ii
Abstract iii
Introduction général vi
3 Conception du projet 12
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Présentation des lecteurs multimédias . . . . . . . . . . . . . . . . . . . . 12
3.3 Présentation du lecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Caractéristiques du lecteur . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 La réalisation du projet 14
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Création de l’interface de l’application . . . . . . . . . . . . . . . . . . . 14
4.3 Mise en place du lecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Fonctions jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5 Formats audios et vidéos . . . . . . . . . . . . . . . . . . . . . . . . . . 28
iv
4.6 Quelques exemples de notre lecteur : . . . . . . . . . . . . . . . . . . . . 31
4.7 Adaptation du lecteur au format mobile : . . . . . . . . . . . . . . . . . . 38
4.7.1 Les avantages de l’optimisation : . . . . . . . . . . . . . . . . . . . 39
4.7.2 Exemple de la version mobile du lecteur : . . . . . . . . . . . . . 40
4.7.3 Les différents types d’appareils : . . . . . . . . . . . . . . . . . . . 45
Conclusion 49
v
Introduction générale
La version 5 a apporté plusieurs nouveautés pour la création d’un site web dynamique.
Notre projet est articulé sur son apport dans le domaine du multimédia (audio et
vidéo), HTML5 propose des balises qui permettent d’inclure des fichiers audio et
vidéo dans des pages HTML sans avoir recours à des plugins externes comme Adobe
Flash.
Grâce aux balises audio et vidéo, les éléments multimédia sont totalement intégrés
dans la page, ce qui permet notamment d’utiliser des attributs HTML5 pour définir
des contrôles (play, pause, etc.) et définir des propriétés de style CSS pour modifier
l’apparence des éléments multimédia puis utiliser jQuery pour contrôler les éléments et
même y ajouter des interactions complexes.
Ceci étant donné, nous avons été amenées à étendre la réalisation d’un lecteur
audio et vidéo dans un site web pour permettre la lecture de n’importe quel type de
fichier audio ou vidéo ; un fichier audio ou vidéo est en réalité un « conteneur »
qui contient différents types de fichiers avec des données.
Nous allons essayer de réaliser un lecteur multimédia qui permet la lecture de tout
format audio et vidéo en utilisant HTML5 pour la structure, CSS3 pour la mise en
forme et jQuery pour les requêtes.
vi
Chapitre 1
1.1 Historique
1.1.1 HTML
Les langages HTML et CSS sont incontournables car :
— ils n’ont pas de concurrents.
— ils sont la base de tout projet de développement Web.
— ils sont indispensables pour optimiser le référencement du site internet.
HTML permet également d’inclure des ressources multimédias dont des images et des
formulaires de saisie. La plupart du temps d’autres langages informatiques sont associés
à une page codée en HTML. Par exemple le CSS, qui permet de mettre en forme le
contenu d’une page codée en HTML. Il y a également des langages informatiques que
nous pouvons lier à HTML tel le jQuery.
Ces dernières années, la vidéo et l’audio sur le Web sont devenus de plus en plus
viables et des sites comme Youtube, dailymotion et ont rendu simple la publication de
vidéos et d’audio. Cependant, comme le HTML n’offre pas par lui-même les moyens
nécessaires pour intégrer et contrôler avec succès le multimédia, de nombreux sites
dépendent de Flash pour fournir cette fonctionnalité.
Bien qu’il soit possible d’intégrer du multimédia en utilisant divers plugins (comme
QuickTime, Windows Media, etc.), Flash était le seul plugin largement déployé qui
fournit une solution compatible multi-navigateur avec des APIs appréciées par les
1
développeurs.
Comme cela a été mis en évidence par les divers lecteurs de médias basés sur Flash,
les auteurs sont intéressés à fournir leurs propres interfaces utilisateurs qui, généralement,
permettent aux utilisateurs de lire, mettre en pause, arrêter, chercher, et ajuster le
volume. L’objectif est de fournir cette fonctionnalité dans les navigateurs en ajoutant
un support natif de vidéo et audio embarqués et fournir des APIs DOM pour que les
scripts contrôlent la lecture.
Les nouveaux éléments vidéo et audio le rendent vraiment facile. La plupart des
APIs sont communes aux deux éléments, les seules différences étant liées aux différences
inhérentes entre des médias visuels et non visuels.
La manière la plus simple d’intégrer une vidéo est d’utiliser un élément vidéo et
de permettre au navigateur de fournir une interface utilisateur par défaut. L’attribut
controls est un attribut booléen qui indique si l’auteur souhaite que cette interface
utilisateur soit présente ou non par défaut.
La balise <audio> permet d’afficher un lecteur audio. L’avantage par rapport aux
balises <object> et <embed> est que le fichier est lu directement par le navigateur, il
n’y a plus besoin de plugin.
Elle s’utilise comme ceci :
Les attributs autoplay, controls et loop sont facultatifs. Ils permettent respectivement
de lancer automatiquement la lecture, d’afficher les boutons lecture/arrêt et de lire la
piste en boucle.
La balise <video> s’utilise comme la balise <audio>, sauf qu’il faut préciser les
dimensions de la vidéo ainsi que le type MIME du fichier :
- HTML 2 : la deuxième version du HTML apparaît en 1994 et prend fin en 1996 avec
l’apparition du HTML 3.0. C’est cette version qui posera en fait les bases des versions
suivantes du HTML.
Les règles et le fonctionnement de cette version sont donnés par le W3C (tandis que la
première version a été créée par un seul homme).
2
texte autour des images, etc.
1.1.3 CSS
CSS (Cascading Style Sheets) était crée en 1996 pour permettre de mettre en forme
le contenu en lui ajoutant des styles.
CSS permet de définir une mise en forme des interfaces Web et d’élaborer leurs allures.
Contrairement aux logiciels, les spécifications CSS ne sont pas développées par
versions successives, qui permettraient à un navigateur de se référer à une version en
particulier. CSS est développé par niveaux ce qui contraint chaque nouveau niveau à
3
intégrer le précédent, et chaque implémentation à être compatible avec la précédente.
CSS1 est donc développé pour être un sous-ensemble de CSS2, qui est lui-même
développé pour être un sous-ensemble de CSS3. Ceci explique en partie la lenteur de
l’avancement normatif de CSS.
La spécification CSS1 finale est publiée le 17 décembre 1996. Elle se définit comme un
mécanisme de feuille de style simple, et définit une cinquantaine de propriétés. Il s’agit
alors essentiellement des propriétés de rendu typographique du texte :fontes (polices),
couleur, taille des caractères, espacements, bordures et gestion des marqueurs de liste.
Il n’est donc pas encore question de «mise en page». CSS1, ne propose qu’un moyen
de placer localement, côte à côte, une portion réduite du contenu, tel qu’une image, et
le reste du texte. La propriété float (agencer par déplacement de contenus), qui sera par
la suite massivement utilisée, n’est pas encore accessible.
Publié en mai 1998, le second niveau de CSS étend considérablement les possibilités
théoriques des feuilles de styles en cascade, avec en particulier environ 70 propriétés
supplémentaires. S’ajoutent comme la déclinaison en styles propres aux différents
médias dans lesquels une page Web peut être restituée, de nouvelles propriétés de
positionnement à l’écran pour permettre la réalisation de mise en pages avancée, issues
d’un document élaboré conjointement par Microsoft et Netscape ainsi que de nouvelles
propriétés permettant de faire intervenir les préférences de l’utilisateur dans la mise en
forme d’un site.
Cependant, cette richesse fonctionnelle ne rencontre qu’un écho limité dans ses
implémentations, notamment suite aux problèmes de compatibilité avec les navigateurs.
En juillet 2007, CSS2.1 est lancé et corrige CSS2 sur de nombreux points de détail. On
supprime certaines sections en tout ou partie et on l’explicite à partir des constats mis à
jour lors des implémentations.
En 2007, les modules les plus avancés concernent la mise en forme des annotations
ruby, la négociation de style entre serveurs et agents utilisateurs (« Media Queries »), le
rendu Web TV, la gestion des couleurs ou encore la prise en compte de la configuration
de l’interface utilisateur.
Les versions actuelles utilisées sont HTML5 et CSS3 ; elles sont toutes les deux
4
non finalisées et toujours en développement mais totalement stables et déjà largement
utilisées, et c’est sur celles-ci que nous allons travailler.
Au cours de la réalisation de notre projet, nous avons utilisé le CSS3, version la plus
récente, et qui a apporté plus de modularité aux feuilles de styles.
5
1.1.5 jQuery
jQuery est une bibliothèque JavaScript open-source crée par John Resig en 2006.
Depuis sa création et notamment à cause de la complexité croissante des interfaces Web,
jQuery a connu un large succès auprès des développeurs Web et son apprentissage est
aujourd’hui un des fondamentaux de la formation aux technologies du Web.
Il est à l’heure actuelle le framework front-end le plus utilisé au monde (plus de la moitié
des sites Internet en ligne intègrent jQuery).
— Changer les styles des éléments de la page en modifiant le fichier CSS qui leur est
associé.
La prise de son stéréophonique met en œuvre deux microphones, qui captent une
image sonore du lieu avec soit une différence de temps (c’est la stéréophonie de temps
les microphones sont en deux point de l’espace), soit avec une différence de phase (c’est
la stéréophonie d’intensité deux micros directifs formant un angle et qui capteront une
intensité sonore plus forte dans leur axe).
6
Il est possible de mélanger les deux types de stéréophonie, en utilisant un obstacle
entre les deux micros, ce qui aura pour effet de simuler l’action du crâne avec un rendu
plus réaliste (disque ou tête artificielle).
La stéréophonie permet de restituer un espace sonore avec une grande fidélité.
Un son monophonique (mono, ou encore monaural) n’est diffusé que sur un seul
canal. Il est en général enregistré par un seul microphone et reproduit par un ou plusieurs
haut-parleurs diffusant le même signal.
7
Chapitre 2
Introduction Dans cette partie, nous nous intéressons aux langages utilisés pour la
réalisation de notre lecteur et la stratégie suivie.
Pour créer une application Web, l’utilisation du langage HTML est nécessaire pour
en définir la structure.
HTML signifie «Hyper Text Markup langage» qu’on peut traduire par «Langage de
balises pour l’hypertexte». Il est utilisé afin de créer et de représenter le contenu d’une
page Web.
HTML est structuré sous forme de «balises». Pour notre application nous avons utilisé la
dernière version d’HTML : HTML5.
8
Figure 2.1.1 – Affichage HTML
9
2.3 L’ajout d’une feuille de style css à un document
HTML :
< !DOCTYPE HTML>
<html>
<head>
<title> titre de la page </title>
<meta charset ="utf-8">
<link rel="stylsheet" type="text/css"
href="stylsheet.css">
</head>
<body>
<h1> Bonjour </h1>
</body>
</html>
10
BlueGriffon propose de nombreuses interfaces visuelles permettant d’utiliser les
propriétés CSS3 sans en connaitre la syntaxe précise, surtout lorsque la syntaxe des
propriétés expérimentales varie selon les navigateurs.
11
Chapitre 3
Conception du projet
3.1 Introduction
La conception d’un lecteur multimédia est l’étape initiale de sa création. En fait,
c’est une phase importante lors du développement de notre application après la phase de
l’analyse et la spécification des besoins traités dans le chapitre précédent.
12
3.3 Présentation du lecteur
HTML5 introduit la possibilité de synchroniser des médias continus ( audio, vidéo)
avec des éléments de pages Web. Grâce à l’API Media Element, une grande partie des
applications multimédia qui nécessitaient un greffon Flash est donc désormais réalisable
en HTML5, avec du code jQuery spécifique pour la gestion des interactions utilisateur.
Néanmoins, la mise en œuvre de telles applications multimédia en HTML5 reste délicate,
requiert l’écriture de code jQuery spécifique, et n’est pas supportée par les anciens
navigateurs.
13
Chapitre 4
La réalisation du projet
4.1 Introduction
Dans ce chapitre, nous allons présenter dans un premier temps la création de
l’interface de notre application et par la suite nous aborderons toutes les étapes de
conception de notre application.
14
Figure 4.2.1 – interface du lecteur
15
est le suivant :
<audio id="audioPlayer" src="" ontimeupdate="showDuration() ;
updateSongSlider() ;" >
</audio>
Vu qu’il s’agit d’un lecteur audio et vidéo, l’insertion d’une balise vidéo est
nécessaire.
On utilise la fonction ontimeupdate qui permet l’affichage de la durée du clip.
Exemple de la balise vidéo :
<div id="vid">
<video id="audioPlayer" src="" ontimeupdate="showDuration() ;
updateSongSlider() ;" >
</video>
</div>
On définit maintenant toutes les fonctions jQuery que nous avons utilisé pour
la réalisation du lecteur, ces fonctions permettent au lecteur de fonctionner
correctement tout en personnalisant le design et l’affichage.
16
4.4 Fonctions jQuery
Parmi ces fonctions on retrouve :
17
— showDuration :permet d’obtenir et afficher la durée au fil de l’évolution de la
barre de progression.
La propriété currentTime peut également servir à mettre à jour la barre de
progression.
L’événement timeupdate se déclenche à chaque fois que la valeur de currenttime
change pendant la lecture du fichier audio.
Cette partie consiste à définir les différents éléments que l’on peut définir pour que
le lecteur soit personnalisé tel que pause, play. On peut également utiliser des classes
CSS sur certains événements : playpause quand le player est en lecture, next pour passer
d’une chanson à une autre . . .
L’exemple du lecteur proposé :
<head>
<title>PlayMusic</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width"/>
< !-ecriture plus petite->
<meta name="viewport" content="width=device-width,
initialscale=1"/>
< !- préciser au navigateur le zoom initial->
<meta name="viewport" content="width=device-width,
minimumscale=0.25"/>
< !- définir le zoom minimal->
<meta name="viewport" content="width=device-width,
maximumscale=5.0"/>
18
< !- définir le zoom maximal ->
19
<input id="volumeSlider" class="volumeSlider"
type="range" min="0" max="1" step="0.01"
onchange="adjustVolume () ;" />
<img src="images/volume-up.png" class="imgVolume"
/>
</div>
<div id="nextSongTitle" class="song- title">
<b>Next Song :</b>Next song title goes here..
</div>
</div>
20
Une partie importante dans notre code est la partie de la playlist, qui regroupe tous
les morceaux audio ou vidéos qu’on peut lancer dans le lecteur, l’utilisation d’une
playlist facilite la recherche du titre demandé.
La fonction next song title permet de définir le titre du morceau qui suit.
Exemple de la playlist que nous avons créé :
<ul id="Playlist">
<input type="text" id="search" value="rechercher"/>
<li class="current-song">
<a href="songs/Umbrella.mp3">Umbrella</a>
</li>
<li>
<a href="songs/The Chainsmokers - Closer ft.
Halsey.mp3">The Chainsmokers - Closer ft.
Halsey</a>
</li>
<li>
<a href="songs/WILLY WILLIAM - Ego.mp3">WILLY
WILLIAM - Ego</a>
</li>
<li>
<a href="songs/Shakira - Chantaje ft.
Maluma.mp3">Shakira - Chantaje ft. Maluma</a>
</li>
<li>
<a href="songs/Mahmut Orhan - Feel feat. Sena
Sener.mp3">Mahmut Orhan - Feel feat. Sena
Sener</a>
</li>
<li>
<a href="songs/Desiigner - Panda.mp3">Desiigner -
Panda</a>
</li>
<li>
<a href="songs/Burak Yeter - Tuesday ft. Danelle
Sandoval.mp3">Burak Yeter</a>
</li>
<li>
<a href="songs/Alan Walker - Faded(flac).flac">Alan
Walker - Faded</a>
</li>
<li>
<a href="videos/movie.mp4">movie</a>
</li>
</ul>
21
Cette partie de la réalisation consiste à créer une animation lors de la lecture d’un
fichier audio.
Lors du clic sur le bouton play l’animation s’affiche grâce à la fonction show() et
disparaît lorsqu’on clique sur pause avec la fonction hide() ce qui permet d’afficher le
logo de l’application grâce a la fonction apprend() et par conséquent l’arrêt de l’animation.
if($("#audioPlayer")[0].paused){
//donc on doit lire l audio ou la video
$("#audioPlayer")[0].play() ;
img.src = "images/pause.png" ;
//l image pause doit s’afficher dans ce cas là pour
donner la possiblité a l’utilisateur de faire pause
lors de la lecture
$("#equalizer").children("img").remove() ;
//enlever la balise img qui contient le logo
//ne pas se retrouver par la suite avec plusieur
images superposées
$("#equalizer").show() ;
//et afficher l’equalizer
$("#equalizer div").show() ;
//ainsi que ses div qui sont les barres de
l’equalizer
$("#logo").hide() ;
//cacher le logo
adjValues() ;
//c’est la fonction qui permet d animer l’equalizer
}else{
//dans le cas contraire
$("#audioPlayer")[0].pause() ;
//on doit faire pause
$("#equalizer div").hide() ;
//cacher l equalizer
22
img.src = "images/play.png" ;
//l image play doit s’afficher dans ce cas là pour
donner la possiblité a l’utilisateur
//de lire l audio ou la video en pause
23
Le code CSS joue un rôle important dans l’implémentation de l’interface, il nous
permet de fixer toutes les règles de mise en page de l’ensemble du site. Lorsqu’un
utilisateur appuie sur le bouton pour changer de thème, une fonction jQuery permet ce
changement à chaque clic, comme l’indique le code suivant :
var j=0 ;
$("#theme").click(function(){
/*changement du theme quand on clique sur le bouton */
j++ ;
if(j%2==1){
$(’body’).css({
/* changement de la couleur de l’arrière plan du corps de la
page*/
’background-color’ : ’#E6EEE8’ }) ;
$(’#equalizer’).css({
/* changement de la couleur de l’arrière plan de l’animation
*/
’position’ : ’relative’,
’background-color’ :’#DEECE1’, ’color’ :’#f3ebdc’,
’ width’ : ’338px’,
’height’ : ’146px’, ’padding’ :’20px’,’float’ :’left’ }) ;
$(’.audio-player-cont’).css({
/* changement de la couleur de l’arrière plan du cadre interne
*/
’background-color’ : ’#DEECE1’
’box-shadow’ : ’0 0 7px 4px #D2D8D4’ }) ;
$(’#Playlist li a’).css({
/*couleur de la playlist */
’color’ : ’blue’ }) ;
else{
/* si on clique une deuxième fois, la page reprends sont
ancien style */
$(’body’).css({
’background-color’ : ’#f1e7e7’
}) ;
$(’#equalizer’).css({
24
’position’ : ’relative’,
’background-color’ :’#f3ebdc’,
’color’ :’#f3ebdc’,
’ width’ : ’338px’,
’height’ : ’146px’, ’padding’ :’20px’,’float’ :’left’ }) ;
$(’.audio-player-cont’).css({
’background-color’ : ’#f3ebdc’
’box-shadow’ : ’0 0 6px 2px #c7a8a8’ }) ;
$(’#Playlist li a’).css({
’color’ : ’#C71585’ }) ;
}) ;
25
L’utilisation de CSS nous a permis aussi d’organiser notre interface, de positionner
les éléments, d’afficher l’icône . . .
body {
/* tout le corps de la page */
background : #f1e7e7 ;
}
.audio-player-cont {
/*style du cadre interne du lecteur */
position : absolute ;
width : 700px ;
height : 410px ;
background : #f3ebdc ;
box-shadow : 0 0 6px 2px #c7a8a8 ;
color : #003ba9 ;
font-family : verdana ;
font-size : 12px ;
top :50% ;
left :50% ;
transform : translateX(-50%) translateY(-50%) ;
position : absolute ;
}
.player {
/* propriétés des élements du lecteur */
float :right ;
margin-right : 322px ;
margin-left :0px ;
width :371px ;
height :208px ;
margin-top :1px ;
.song-title {
margin-top :16px ;
width : 369px ;
padding : 20px 0px 5px 0px ;
white-space : nowrap ;
text-overflow : ellipsis ;
overflow : hidden ;
}
26
.song-slider {
/* barre de progression */
width : 363px ;
}
.current-time {
float :left ;
font-size : 10px ;
}
.duration {
float :right ;
font-size : 10px ;
margin-right :-336px ;
}
}
27
4.5 Formats audios et vidéos
Un format de fichier audio est un format de données utilisé pour stocker des sons,
de la musique ou des voix sous forme numérique. De nombreux standards existent ;
certains s’appliquent à la production, au stockage et à la diffusion, d’autres (ceux qui
utilisent des algorithmes de compression de données ou de débit), sont destinés, en
principe, uniquement à la diffusion.
Actuellement, le format le plus utilisé et de loin est le mp3, suivi du wma, et de l’aac.
Différents navigateurs ne supportent pas les mêmes formats de médias dans leurs
implémentations de HTML5 audio et vidéo, principalement en raison de problèmes
de brevets.
— OGG : Le format OGG est un format libre, le suffixe des fichiers créés est.ogg
ou parfois.oga. Il se différencie des MP3, WMA et autre AAC par son algorithme.
Il segmente les sources audio en paquets successifs, l’algorithme de compression
agissant dans un premier temps sur chaque paquet indépendamment des autres.
Cela lui permet d’avoir très peu de faiblesses sur certaines fréquences et de
conserver la même qualité quel que soit le type de musique. Le format OGG est
pris en charge dans Firefox, Chrome et Opera, et le support du format peut être
ajouté à Safari (mais pas iOS) en installant un add-on. Le format n’est pas pris
en charge par Internet Explorer.
— WMA : Le format WMA (Windows Media audio), créé par Microsoft, est
28
utilisé par le logiciel Windows Media Player. Ce format est lié à une gestion
pointue des droits d’auteurs qui permet de définir par exemple une durée de vie
limitée pour les fichiers. Il existe plusieurs versions du codec (wma7.1, wma9,
wma pro). Le suffixe des fichiers créés est .wma.
— WebM : est basé sur une version restreinte du format conteneur Matroska.
Il utilise toujours le codec vidéo VP8 ou VP9 et le codec audio Vorbis ou
Opus.WebM est supporté nativement par FireFox, Chrome et Opera, et le
support du format peut être ajouté à Internet Explorer et Safari (mais pas iOS)
en installant un add-on. La prise en charge du codec VP9 WebM est en cours
pour le navigateur Edge de Microsoft 10.
— WAVE : Le format conteneur WAVE, avec le codec audio PCM, est pris en
charge par Firefox et Safari. Il s’agit d’un conteneur capable de recevoir des
formats variés mono ou stéréo, il a été mis au point par Microsoft et IBM. Les
fichiers au format WAVE ont généralement l’extension ".wav".
— FLAC : Le format FLAC est un format libre de compression audio sans perte.
Maintenu par la fondation Xiph.org, il est apprécié pour conserver la qualité des
fichiers sonores originaux en alternative aux formats de compression avec perte
type mp3.
— MP4 : est supporté par le Moving Picture Experts Group. C’est un format
non-libre (soumis à brevets) et non-gratuit. Toutefois, il est gratuit dans certaines
utilisations (la diffusion gratuite de vidéos par des sites Web par exemple). Il
est une bonne option pour le partage de la vidéo sur le Web. C’est aussi le
format recommandé par YouTube et Vimeo. Il offre une bonne qualité d’image
à un haut taux de compression. Il est aussi utilisé par iTunes. Les ordinateurs
MAC et PC supportent ce type de fichier. Un seul inconvénient, il faut avoir le
bon codec installé. Les fichiers MP4 utilisant H.264 sont lisibles nativement sur
les navigateurs Apple (Safari, Safari Mobile), Opera, Google Chrome et Firefox
depuis la version 34.
— CAF : a été développé par Apple pour s’affranchir des limitations de conteneur
audio plus ancien comme le AIFF ou le WAV. Il est compatible avec le système
Mac OS X d’Apple depuis la version 10.3 et il est lisible par Quicktime 7.
— MOV : Il est probablement le plus populaire. Il a été créé par Apple et est plus
facilement lisible par un MAC avec le logiciel Quicktime. Il est aussi le format le
plus facilement éditable. Il offre aussi l’avantage d’avoir une bonne réputation et
une bonne capacité de compression. Finalement, il est compatible avec la plupart
des sites de transfert de vidéos.
— AVI : Ce format de fichier est le meilleur ayant un haut taux de compression
puisqu’il offre un large choix de Codecs. Par contre, il faudra faire une panoplie
de tests pour réussir à trouver le meilleur codec selon les besoins (Poids du fichier
vs qualité d’image).Cependant, le format avi n’est compatible qu’avec Windows.
29
— FLV : Le format le plus différent de tous les formats. Il est, pour la plupart du
temps, associé au format Flash. Il peut donc être intégré facilement à toute page
Web sans avoir à passer par Youtube. C’est un format parfait pour l’interactivité
avec la vidéo. Cependant, son usage est limité et il ne peut être lu localement
sur l’ordinateur qu’avec Flash Player.
— WMV : C’est le format désigné par Windows. (Windows Media Video). Il peut
cependant être lu par les MAC si une composante gratuite supplémentaire est
installée Il peut être intégré à une page Web facilement.
30
4.6 Quelques exemples de notre lecteur :
-Etat initial du lecteur :
31
-Affichage de l’animation :
En cliquant sur play, le lecteur affiche une animation qui change selon l’audio en
lecture, l’interface suivante s’affiche :
32
-Audio en pause :
En cliquant sur pause, l’animation s’arrête et le lecteur se met en pause, comme
l’indique l’interface suivante :
33
-Lecture de la vidéo :
Quand on clique sur play, la vidéo s’affiche, la lecture commence directement, l’in-
terface s’affiche comme suit :
34
-Changement de théme :
35
Le deuxième clic sur le bouton permet de remettre le théme rose :
36
-La recherche d’un fichier :
Le lecteur permet d’effectuer une recherche dans la playlist, une fois le nom du
titre entré dans la barre de recherche, on distingue deux cas :
-Le cas où le morceau existe dans la playlist, le titre s’affiche, et le lecteur lit le
fichier, comme l’indique la capture suivante :
37
-Le deuxième cas est celui de l’inexistance du morceau recherché, un message d’erreur
s’affiche indiquant que le fichier demandé n’existe pas.
L’intérêt d’avoir un site web optimisé pour mobile (tablette ou smartphone) est de
rendre l’expérience agréable pour l’utilisateur. Ainsi les informations sont faciles d’accès
et l’utilisateur trouve ce qu’il veut rapidement sans avoir à trop chercher.
38
4.7.1 Les avantages de l’optimisation :
Google a annoncé qu’un site web optimisé pour mobile aura plus de chance d’appa-
raître dans les résultats de recherche qu’un site web non optimisé. L’optimisation mobile
devient donc un élément important dans la création d’un site web(notre lecteur dans ce
cas ).
39
4.7.2 Exemple de la version mobile du lecteur :
Afin de garantir une bonne expérience pour l’utilisateur un site internet adapté aux
mobiles permettra une meilleure lecture des contenus, une bonne navigation et une
utilisation agréable.
#bloc_gauche{
width : 100% !important ;
display : block ;
position : relative !important ;
}
#bloc_droite{
position : relative !important ;
width : 100% !important ;
}
.player{
width : 99.5% !important ;
float : left ;
}
.Playlist{
overflow : visible !important ;
}
#equalizer{
/*background : red !important ;
width : 630px !important ;
margin : 0 auto !important ;*/
}
#audioPlayer{
height : 370px !important ;
}
}
40
On retrouve ci-dessous des exemples du lecteur dans des états différents (lecture,
pause. .) :
41
-> Lors de la lecture d’un morceau audio :
42
-> L’affichage de la playlist :
43
-> La lecture d’un morceau vidéo :
44
4.7.3 Les différents types d’appareils :
La version mobile est recommandé au vu de l’augmentation de l’utilisation des
smartphones et tablettes et afin d’avoir un design simple et épuré. Dans cette partie
, nous allons vous présenter les versions mobiles de quelques appareils dans le but de
comparer l’affichage du lecteur d’un téléphone à un autre.
-> On retrouve dans les captures suivante l’affichage du lecteur dans un appareil
mobile avec une résolution de 360*640 et l’affichage d’une résolution de 667*1009 :
45
Figure 4.7.6 – 667*1009
-> Ces deux captures représente l’affichage avec une résolution de 360*640 ainsi que
sa playlist :
46
47
Figure 4.7.7 – 360*640
48
Conclusion
Ce projet de fin d’études nous a permis, d’une part, d’approfondir nos connaissances
et notre savoir acquis durant les années de notre formation en Licence à la faculté des
sciences de Rabat, et d’autre part, de préparer notre intégration à la vie professionnelle
et avoir un début d’expérience significatif. Ce projet a été une belle occasion pour
travailler en groupe, pour développer nos connaissances et nos compétences et surtout
pour découvrir de nouvelles fonctionnalités de « HTML5 » et de nouveaux langages tels
que « jQuery ».
Nous avons rencontré différentes difficultés dont les plus essentielles selon notre avis
sont les suivantes :
a) limitation des formats audio et vidéos que nous pouvons insérer dans le lecteur,
vu que chaque navigateur prend en charge un nombre limité de formats.
b) difficultés de gérer les deux balises audio et vidéos à la fois.
Le travail que nous avons réalisé pourrait être complété et poursuivi sous différents
aspects, notamment :
— Ajouter des raccourcis clavier.
— Ajouter un bouton pour le téléchargement des fichiers audio et vidéos.
— Ajouter plus d’options.
— Création du lecteur dans une applet indépendamment du navigateur.
49
Webographie
50