Leçon 5 : Ressources d’un site web

Leçon Progress:

Objectifs

  1. Connaître les principaux formats d’images, de vidéos et de son
  2. Adresser une ressource par son URL
  3. Construire une arborescence des ressources d’un site

Arborescence de site

Votre site est localisé dans un dossier du serveur qui le délivre aux navigateurs le sollicitant par Internet.

Le serveur, qui peut héberger plusieurs sites, isole et cantonne chaque site dans son dossier. De l’extérieur, à travers des URL, nous n’aurons accès qu’aux fichiers, on parle de ressources, présents dans ce dossier, directement ou dans un sous-dossier.

Imaginons votre site hébergé sur un serveur d’Internet dans le dossier C:\www (oui c’est un serveur Windows, on pourrait aussi bien prendre Linux). Son arborescence pourrait ressembler à ceci :

 

Imaginons aussi que son adresse sur Internet soit monsite.fr

Que se passe-t-il quand je sollicite le site par Internet en tapant http://monsite.fr ?

Le serveur reçoit la requête. Vous ne demandez aucune ressource en particulier. Le serveur vous renvoie la page par défaut index.html.

Nous devons toujours définir la page index.html à la racine du site comme page d’accueil qui sera affichée quand un utilisateur entre dans son navigateur l’adresse du site, sans préciser de sous-dossier ou de ressource.

Si maintenant vous tapez http://monsite.fr/img/logo.png, le serveur vous renvoie l’image qui est situé dans c:\www\img, car il fait l’association entre le site monsite.fr et le stockage c:\www. Comme nous le verrons plus loin, nous utilisons dans ce cas des URL absolues.

Arborescence type

Il est préférable d’organiser tous les fichiers d’un site web dans une arborescence permettant un classement clair comme ceci :

Ressources

En construisant votre site, vous allez créer des pages bien sûr mais aussi utiliser des fichiers qui seront souvent intégrés dans les pages. On parle de ressources accessibles par le web.

Type de ressources

Les ressources typiques que nous pouvons utiliser sont :

  1. pages web évidemment, fichier .html
  2. feuilles de style, fichier .css
  3. code Javascript, fichier .js
  4. images, son et vidéos sous différents formats
  5. d’autres ressources téléchargeables comme des documents PDF

Fichiers texte

Tous les fichiers texte, hormis bien sûr une page .html, sont simplement affichés par le navigateur. En particulier pour les feuilles de styles .css et le code Javascript .js, le code est affiché on si tape directement son URL dans le navigateur. Tous ces fichiers sont normalement en UTF-8 mais certains navigateurs ont une auto-détection du codage de caractère.

Images

Les formats d’images reconnus en standard par tout navigateur qui supporte HTML 5 sont décrits dans ce tableau :

format extension description
SVG svg Format d’image vectorielle (tracé qui peut être zoomé à l’infini sans perte de détails), objet qui peut aussi être décrit par la balise <svg>
JPEG jpg Image matricielle (bitmap, image faite d’une grille de pixels colorés ou en niveaux de gris) compressée avec destruction (des zones imprécises peuvent entacher l’image selon la force de compression), idéale pour une photo
PNG png De même nature que JPG mais comprimée sans perte (image intacte mais plus lourde) avec possibilité de transparence
GIF gif Image matricielle avec une palette de couleurs réduites, possibilité d’être animée (séquence d’images), pour de petits images décoratives en général

Les navigateurs prennent en charge bien d’autres formats comme tiff ou bmp mais il est possible qu’un format inconnu nécessite l’installation d’une extension dans le navigateur. Cantonnons nous donc à ces quatre formats standards du web.

Son et vidéos

Là aussi quelques formats sont définis en standard dans le norme HTML 5. Pour les autres, une extension est souvent nécessaires.

format extension description
Ogg Vorbis  ogg  Compression avec un format ouvert très efficace
MP3  mp3  Célèbre mp3, format « fermé » (propriété privée) et compressé
 WAV  wav  Son brut sans compression (prend beaucoup de place)
H.264 MPEG-4 AVC mp4  Format fermé très utilisé dans la diffusion TV
Ogg Theora ogg  Même conteneur ogg que pour le son mais avec une vidéo dans un format ouvert
 WebM webm  Le format ouvert associé à HTML 5, successeur de Theora

La situation ainsi présentée est un peu simplifiée, comme sur le site w3schools.com qui est usuellement ma référence. En vérité, il y a quelques années, des controverses et batailles de brevet ont eu lieu, particulièrement au sujet du célèbre format H.264. Étant breveté, il est désormais payant pour tout site et navigateur diffusant des vidéos payantes. Il y a aussi des formats non nativement pris en charge par certains navigateurs qui nécessitent une extension (plugin). A ce sujet voir par exemple cet article.

Il faut retenir que même si les formats ouverts, non soumis à des brevets, sont légèrement moins performants que d’autres formats propriétaires, ils sont nativement pris en charge par tous les navigateurs. Je ne saurai trop vous recommander de les utiliser. Nous parlons de Ogg pour le son et WebM pour la vidéo.

Notez enfin, et si vous avez des connaissances en vidéo cela ne vous est pas inconnu, que le format désigne un conteneur, le fichier étant composé d’un ou plusieurs flux de son et d’un flux vidéo. Les formats de ceux-ci ne correspondent pas forcément au format du conteneur ! En clair, mp4 ne contient pas forcément une vidéo H.264 à l’intérieur. La situation est plus claire avec les formats ouverts.

Autres ressources

Avec d’autres types de ressources, le navigateur propose un téléchargement, à moins qu’une extension installée permettent d’afficher la ressource. C’est fréquent par exemple pour un fichier PDF ou une animation Flash.

Accès aux ressources

Quand vous allez intégrer une ressource, par exemple une image, dans une page, vous devez dire où elle se trouve. Nous le verrons en détail dans la leçon suivante, disons rapidement qu’une image s’écrit en HTML comme ceci : <img src="adresse de l'image"/>.

Premier cas de figure : l’image est sur un autre site

Là vous trichez un peu (vol de bande-passante diront certains) car vous l’utilisez l’hébergement d’un autre site pour ne pas intégrer dans le votre cette image, qui prend peut être de la place. Dans ce cas, votre URL sera absolue avec l’adresse du site et le chemin d’accès. Par exemple <img src="http://www.public.com/images/oiseau.jpg"/>.

Les fichiers sont hébergés dans un serveur et organisés dans des dossiers. Le serveur, qui peut héberger plusieurs sites, isole et cantonne chaque site dans son dossier. De l’extérieur, à travers des URL, nous n’aurons accès qu’au dossier du site et à ses sous-dossiers.

Deuxième cas de figure : l’image est chez vous

On ne mettra plus d’adresse ni de protocole « http ». Par exemple on pourra écrire <img src="/img/header.jpg"/> dans l’arborescence que nous avons vu plus haut. Ici aussi l’adresse est dite absolue car on part de la racine en écrivant « / ».

Dans une URL absolue, l’adresse de ressource peut prendre plusieurs formes :

  1. / qui désigne la racine du site, c’est-à-dire son dossier d’hébergement
  2. /chemin/ qui désigne un sous dossier en partant de la racine, par exemple /img/icones/ (on peut aussi écrire /img/icones)
  3. /fichier ou /chemin/fichier qui désigne une ressource sous la racine ou dans un sous-dossier, par exemple /img/icones/logo.ico ou /accueil.html

URL relative

Il reste une dernière possibilité, toujours pour une image hébergée dans votre site. Vous pouvez écrire une URL relative, par rapport à l’endroit où se trouve la page d’insertion de l’image.

Reprenons le même exemple :

Vous voulez insérer l’image /img/logo.png dans la page /pages/info.html. Avec l’URL relative, vous naviguer dans l’arborescence. Vous partez de votre page qui est dans le dossier /pages. Vous remontez car il faut aller dans /img. Pour cela on écrit .. Ensuite on « descend » dans img soit ../img. Et enfin l’adresse relative de l’image est utilisée comme ceci : <img src="../img/logo.png"/>.

 

Le plus simple, si l’image était dans le même dossier, est <img src="logo.png"/>. Enfin dans un sous-dossier img, on écrirait <img src="img/logo.png"/>. La différence c’est l’absence de / au début.

URL relatives ou absolues ?

Quel mode choisir ? Il n’y a pas de règle, mais il faut bien comprendre les conséquences.

L’URL absolue part de la racine du site web, cela ne marche que si votre site est hébergé par un serveur web. En phase de réalisation, il faut donc soit un serveur web, soit un éditeur qui simule un serveur web comme Brackets avec son aperçu pour pouvoir travailler. Je crois que c’est le mode privilégié par les pros car l’URL est plus claire et ne dépend pas de l’emplacement de la page dans laquelle le lien est inséré.

Avec l’URL relative, ça marche dans tout les cas, avec ou sans serveur web. Mais l’URL peut être moins claire, et dépend des deux emplacements.

Exercice 1

  1. Téléchargez l’archive zip et décompressez là dans un dossier quelconque ; elle représente toute l’arborescence d’un site web complet
  2. Trouvez dans cette arborescence la page blog.php, repérez également où se trouve l’image desert.jpg en pleine taille (pas la vignette thumbnail) et le fichier jquery.min.js, qui contient de code Javascript
  3. Imaginez que vous devez insérer dans cette page un lien vers les ressources desert.jpg et jquery.min.js, il faut donc écrire une URL pour chaque ressource
  4. Entraînez-vous en écrivant ces URL, sous les deux formes absolues et relatives, pour ces deux ressources (donc quatre URL en tout)

TypeNomTaille

zip
ZwiiCMS 8 1 0 2.2M

A retenir
1. Formats multimédias

Savoir choisir et utiliser les images gif, jpg, png, svg, les vidéos webm de préférence et les extraits sonores ogg.

2. URL

Toute ressource est accessible par une URL, selon son emplacement dans l’arborescence du site, qui peut être absolue ou relative à la page où elle se trouve.

2. Arborescence de site

Dans le répertoire de votre site, il faut impérativement définir index.html qui est la page d’accueil. Placer aussi les dossiers classiques css, img et js selon les besoins.

Ressources utiles
Téléchargements
Pour aller plus loin

Laisser un commentaire