Formation PUB010 : PHP, 2025 Réutiliser des parties de code

19.5 Définir un chemin


Lorsque vous devez faire référence à un fichier externe dans une page Web ou dans une feuille de style (image, feuille de style, etc.), il est important de bien définir le chemin pour accéder à ce fichier.

Voici les principales règles pour définir un chemin. Ces règles valent autant pour le fichier .css que pour les fichiers .php ou .inc.

Les chemins donnés en exemple réfèrent à la structure de dossiers illustrée par l'image suivante. Afin de vous situer dans la hiérarchie des dossiers, considérez que les lignes de code des exemples font partie du fichier index.php ou style.css.

Structure des dossiers

Chemin relatif vs absolu

Sur votre site Web, les chemins peuvent parfois être relatifs, c'est-à-dire que le point de départ est le dossier du fichier actuel. Par exemple, si la page index.php fait référence à une image, le point de départ pour atteindre l'image sera le dossier de la page index.php.

Il est également possible de donner des adresses relatives à la racine du site Web en faisant débuter leur adresse par une barre oblique.

On ne doit jamais débuter le chemin à partir de la racine du disque sinon, on devra changer tous les chemins lorsque le site Web sera mis en ligne.

À ne pas faire :

HTML

<img src="C:\Program Files\Ampps\www\monsite\medias\commun\logo.svg" alt="logo XYZ" />

Bonne technique :

HTML

<img src="medias/commun/logo.svg" alt="logo XYZ" />

ou :

HTML

<img src="/medias/commun/logo.svg" alt="logo XYZ" />

Notez bien que lorsqu'un fichier est inclus dans un autre, ses chemins doivent être écrits comme si le code était écrit directement dans le fichier qui l'inclut.

Par exemple, dans le fichier include/entete.inc qui est inclus dans index.php, le lien vers le .css sera par rapport à l'emplacement de index.php.

Fichier include/entete.inc

<link href="css/mes-styles.css" rel="stylesheet">

Barres obliques vers l'avant ( / )

Sur le Web, on utilise toujours la notation dossier/fichier et non dossier\fichier.

PHP

require 'include/entete.inc';

Barre oblique en début de chemin?

Si vous travaillez sur un serveur de développement et que vous n'utilisez pas de nom de domaine (ex : site accessible par http://127.0.0.1/monsite), un chemin qui débute par une barre oblique sera relatif à la racine du serveur (http://127.0.0.1) et non à la racine du site Web.

Ainsi, si vous entrez :

background-image: url("/medias/commun/fond-entete.jpg" );

le navigateur recherchera un dossier medias directement à la racine du serveur. Il ne trouvera donc pas le fichier.

Dans un tel cas, le chemin doit débuter soit directement par le nom d'un dossier, soit par ./. Les deux notations suivantes sont donc équivalentes.

CSS

background-image: url("medias/commun/fond-entete.jpg" );

ou

CSS

background-image: url("./medias/commun/fond-entete.jpg" );

C'est seulement si vous travaillez avec un nom de domaine local (fortement recommandé) que vous pouvez commencer le chemin par une barre oblique.

CSS

background-image: url("/medias/commun/fond-entete.jpg" );

../ pour reculer d'un dossier

Si un fichier doit référer à un fichier situé dans un niveau inférieur, le chemin pourra reculer dans la hiérarchie des dossiers en débutant par ../

PHP

require_once '../bibliotheque-commune/fonctions-generales.php';

 

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre