5568 sujets

Sémantique web et HTML

Bonjour,

Sur W3School, il est écrit qu'il y a 2 possibilités de renseigner le chemin d'une image :

Soit en relative : ../mon_dosier/mon_image.png, ou encore monimage.png
Soit en absolu : http://mon_site/mon_dossier/mon_image.png

Or, j'ai découvert une autre façon de déclarer une position, que j'appellerai "semi-absolue" :
/le_dossier_de_mon_site/mon_dossier/mon_site

"/", c'est la racine, c'est le dossier "www" ou "htdocs"
"le_dossier_de_mon_site", c'est le dossier qui contient mon site Web, si le site Web est directement dans le "www", ce dossier n'apparaîtra pas.

En fait, le principe est de renseigner l'adresse à partir du dossier racine, comme on le ferait en ligne de commande sous linux par exemple.

Je me demandais donc si cette méthode était standard et reconnue par tous les navigateurs ...

Merci d'avance Smiley smile
Modifié par testu (18 Jun 2009 - 19:05)
Modérateur
Bonjour,

testu a écrit :

Je me demandais donc si cette méthode était standard et reconnue par tous les navigateurs ...


Oui

Par contre, dans la mesure du possible, il est toujours mieux de travailler en relatif, et d'utiliser l'absolu (ou semi-absolu) uniquement lorsque c'est nécessaire.
Oui, je ne souhaitais l'utiliser que pour des includes en php qui peuvent se retrouver un peu partout dans l'arborescence.
Modérateur
Il doit sans doute exister une fonction PHP permettant de construire des liens relatifs en tenant compte de la position du fichier (celui appelant l'include) par rapport à l'arborescence du site. C'est le cas en Coldfusion en tout cas.
Au passage, il ne faut pas confondre chemin HTTP et chemin UNIX.

Lorsque tu renseignes un chemin du type "/chemin/de/l/image.jpg" dans une balise <img>, il s'agit du chemin HTTP, la racine dont il s'agit est la racine HTTP et non la racine UNIX de ton serveur.

Exemple :

Tu as un site dont l'adresse est http://www.nom-du-site.com/.
Tu as une image dont l'adresse est http://www.nom-du-site.com/images/mon-image.jpg.
L'URL de ton site pointe sur ton serveur dans un dossier /var/www/nom-du-site/.

Donc si dans ta balise <img> tu mets /images/mon-image.jpg, il va partir de la racine HTTP soit http://www.nom-du-site.com/ et non de la racine UNIX, ce n'est alors pas /var/www/nom-du-site/images/mon-image.jpg qu'il faut mettre dans la balise <img>.