Banière du site

[koala01.free.fr]->Tutoriaux->Le HTML facile ->Principes connexes

Image d'imprimante   image d'enveloppe

2.1 Le web: une technologie "client/serveur"

Pour que vous puissiez, confortablement installé à votre bureau, accéder aux différents sites, ou aux différentes pages d'un site, il parrait clair qu'il faut que votre ordinateur (par l'intermédiaire du navigateur) aille demander à un autre ordinateur de lui fournir la page demandée.

Votre ordinateur sera donc le «client»(celui qui demande quelque chose) de l'ordinateur auquel il envoie les demandes.

L'ordinateur à qui votre ordinateur enverra les demandes sera lui considéré comme le «serveur» (celui qui fournit les informations).

Quand vous déciderez de rendre les pages HTML que vous avez créées accessibles à tous, vous devrez sans doute vous inscrire auprès d'un «hébergeur».

L'hébergeur que vous aurez choisi (qui peut être différent de l'organisme qui vous fournit votre connexion à internet) mettra alors à votre disposition une certaine quantité d'espace sur le disque dur de son (ou plus vraissemblablement de l'un de ses) serveur(s).

La mise à disposition de l'espace disque se fera par la création d'un dossier qui vous sera réservé et qui servira de racine (point de départ) de votre site.

Vous pourrez, dans la limite de l'espace que vous autorise votre hébergeur, organiser le contenu de ce dossier de la même manière que celle que vous utilisez pour organiser vos fichiers sur votre ordinateur, en les mettant dans différents dossiers et/ou sous dossiers.

fleche haut

2.2 Domaines et sous domaines

Pour que votre site soit accessible à tous, il est important de pouvoir l'identifier de manière parfaitement unique.

Les ordinateurs utilisent ce que l'on appelle des adresses IP pour déterminer à quel ordinateur ils doivent envoyer les données et les demandes (souvent appelées requêtes).

Comme l'utilisation des adresses IP n'est clairement pas des plus agréables, et qu'en plus, les adresses IP ne sont pas facilement compréhensibles pour tout un chacun, il a été mis au point un système qui permet de faire la correspondance entre les différentes adresses IP et les noms des sites équivalents.

Il est en effet plus facile de retenir un nom du genre de www.google.be que l'adresse IP correspondante, à savoir 66.249.93.99 …

Les adresses prendront toutes le même format, à savoir:

protocole://sous-domaine.nom-de-domaine.domaine

éventuellement suivi du nom d'un dossier (précédé d'un caractère slash "/")

Un protocole est un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau.

Dans le cadre des sites web, le protocole généralement utilisé sera http, qui est l'abréviation de "HyperText Transert Protocole" (ou, pour les personnes qui préfèrent le français, Protocole de transfert Hyper Texte).

Lors de la résolution de l'adresse, l'adresse sera envoyée à une succession de serveurs différents jusqu'à trouver l'ordinateur auquel l'information est destinée.

L'adresse sera d'abord envoyée à un serveur qui vérifiera le domaine (.com, pour les sites commerciaux, .org pour les sites d'organisation, .be/.fr/.cq pour les sites nationnaux, et bien d'autres encore).

Ce serveur dirigera alors l'adresse vers un autre serveur qui prend en charge le domaine indiqué.  Pour free.fr (mon hébergeur actuel), l'adresse sera envoyée à un serveur qui pourra faire l'équivalence de toutes les adresses françaises.

Le serveur qui gère les domaines résoudra donc le nom de domaine et enverra, par exemple, toutes les requêtes destinées à free vers les serveurs gérés par free.

Le serveur de free s'occupera enfin de gérer le sous domaine.

Si le sous domaine est www (abréviation de World Wide Web), c'est que l'on souhaîte accéder au contenu même géré par free, avec sa page d'accueil et les informations gérées uniquement par free.

Si le sous domaine est différent (par exemple koala01), le serveur de free s'occupera enfin de savoir vers quel ordinateur orienter la requête qui est destinée au sous domaine koala01, et/ou vèrs le dossier racine du site concerné.

Une fois que la requête est arrivée au bon ordinateur, dans le bon dossier racine, elle va suivre l'arborescence des dossiers qui est indiquée après le domaine, jusqu'à arriver au fichier qui est demandé.

fleche haut

2.3 Les chemins des fichiers

L'un des concepts qui font le plus souvent défaut aux gens qui s'initient à l'écriture de pages web est, sans conteste celui des chemins d'accès.

A force d'écumer les forums, on se rend compte que beaucoup de gens posent des questions du genre "pourquoi mon image ne s'affiche pas" ou "pourquoi tel lien n'arrive pas à la bonne page", et que bien souvent, l'erreur vient tout simplement d'un mauvais chemin d'accès au fichier demandé.

En effet, il faut bien garder en tête le fait qu'à partir du moment où vos pages web sont chez votre hébergeur, elles sont susceptibles de ne plus du tout se trouver dans la même arborescence que celle qui est présente sur votre ordinateur.

Le seul point à partir duquel vous pouvez être certain de l'arborescence, c'est la racine du site (le dossier de base de votre site).

Ainsi, si vous créez tout votre site dans un dossier "c:\Documents And Settings\koala01\Documents\site", vous ne pourrez jamais vous assurer du fait que votre site chez l'hébergeur se trouve dans un dossier nommé site, ni même sur le disque dur C:…

Il n'est en effet pas impossible que votre hébergeur utilise un serveur disposant de plusieurs disques durs, et que votre site se trouve hébergé sur le disque D, E ou F.  En plus, de nombreux hébergeurs utilisent de préférence des ordinateurs tournant sous linux comme serveurs.

Sous linux, il n'y a même pas de lettre pour représenter un disque dur ou une partition, ni même de dossier "Documents And Settings".

Tout ce dont vous pourrez être certain, c'est que le contenu du dossier site que vous avez transféré sur le serveur de votre hébergeur se trouve "quelque part chez l'hébergeur"… Et que ce n'est qu'au départ de ce "quelque part chez l'hébergeur" que l'arborescence correspondra à ce que vous avez sur votre propre ordinateur.

C'est d'ailleurs ce "quelque part chez l'hébergeur" qui servira réellement de racine pour votre site.

fleche haut

2.4 Chemins relatifs et chemins absolus

Il existe deux possiblités différentes pour fournir le chemin qui permet d'accéder à un fichier donné, et ce, quel que puisse être le type ou le nom du fichier auquel on souhaîte accéder.

La première possiblité consiste à donner un chemin d'accès complet, au départ de la "racine" du système.  Sous windows, sur votre ordinateur personnel, cela prendrait la forme de "c:\Documents And Settings\koala01\Documents\site\nomdefichier.ext" (nomdefichier représentant ici n'importe quel nom de fichier que vous pourriez avoir créé, ext représentant les trois lettres d'extension de ce fichier, quelle que soit l'extension utilisée). Cette solution utilise ce que l'on appelle communément des "chemins absolus".

Comme je viens de l'indiquer, le gros problème est que, une fois que votre site aura été transféré, vous ne serez pas en mesure de savoir si, effectivement, votre site se trouve sur le disque dur C: du serveur.

La seule solution pour utiliser un chemin absolu dans votre site passera donc par le fait d'indiquer l'adresse du serveur auquel la requête sera envoyée (par exemple: http://koala01.free.fr/index.php, qui est la page d'accueil actuelle de mon site)

La deuxième possiblité est de donner le chemin d'accès à un fichier par rapport au dossier dans lequel se trouve le fichier actuellement en cours de traîtement.  C'est ce qu'on appelle communément l'utilsation de "chemins relatifs".

Il ne s'agira plus d'indiquer l'arborescence complète, mais bien des instructions qui signifieront "entre dans tel ou tel dossier, puis dans tel autre"…

fleche haut

2.5 Que choisir?

Si vous veniez à me poser la question de savoir s'il est préférable de choisir entre un chemin relatif et un chemin absolu, je me verrais dans l'obligation de vous donner une réponse de normand du genre de "Ça dépend…".

En effet, si vous voulez fournir le chemin d'accès à un fichier qui se trouve sur un autre site que votre site d'origine, le doute n'est pas permis: vous devrez utiliser un chemin absolu.

Si par contre, le fichier auquel vous souhaîtez accéder fait partie intégrante de votre site, deux optiques entre en concurrence.

La première est d'utiliser les chemins absolus de manière à "être certain que le chemin soit toujours bon, quel que soit le point de l'arborescence où se trouve le fichier de départ".

Cette optique n'est certes pas mauvaise mais risque de poser problème le jour où, pour une raison ou une autre, vous souhaiteriez changer d'hébergeur, ou prendre un nom de domaine à vous, car il faudra alors commencer à modifier les adresses de tous les fichiers dans vos pages.

La seconde optique consiste à utiliser les chemins relatifs, mais elle nécessite parfois de réfléchir un peu plus au chemin à fournir en définitive, surtout si vous n'utilisez pas un logiciel qui soit en mesure de gérer l'ensemble de votre site.

Par contre, l'utilisation des chemins relatifs vous permettra de changer d'hébergeur quand bon vous semblera et de pouvoir vous contenter de transférer vos fichiers chez le nouvel hébergeur, sans rien avoir à modifier.

fleche haut

2.6 Créer les chemins relatifs

À ceux qui auraient quelques vagues réminiscences du temps lointain (et béni?) du DOS, je demanderai de fouiller un peu dans leur mémoire, car le concept devrait leur rappeler quelques bons (ou moins bons) souvenirs.

A ceux qui n'ont pas eu la (mal)chance de devoir l'utiliser, je conseillerais d'aller chercher une bonne tasse de café et de relire ce passage jusqu'à compréhension.

Sous DOS, on pouvait voyager (avec la commande cd) dans les différents répertoires du disque dur soit en utilisant les chemins absolus (cd c:\dossier\sous-dossier\sous-sous-dossier...) soit en se basant sur le dossier dans lequel on se trouvait (autrement dit, en utilisant les chemins relatifs).

Pour indiquer que l'on souhaîtais entrer dans un dossier qui était contenu dans celui dans lequel on se trouvait, il suffisait de donner le nom du dossier dans lequel on souhaitais entrer (cd dossier-enfant)

Pour indiquer que l'on souhaitais "remonter d'un cran" dans l'arborescence (retourner dans le dossier qui contient le dossier dans lequel on se trouve), il fallait utiliser point point ".." (cd ..).  Pour remonter de plusieurs crans, il fallait donc indiquer plusieurs fois d'entrer dans le "dossier parrent" (..), en ajoutant un antislash "\" entre chaque dossier.

Ainsi, pour remonter de trois crans dans l'arborescence, il s'agissait de lancer une commande "cd ..\..\..".

On pouvait très bien demander de remonter d'un certain nombre de crans dans l'arborescence, puis d'entrer dans un dossier qui se trouvait dans le dossier "ancêtre", puis dans un autre sous dossier qui aurait été contenu dans le dossier dans lequel on venait de rentrer.  Cela se faisait en séparant chaque nom de dossier par des antislash "\" (.. étant ici considéré comme un nom de dossier, qui représente, quel que soit le dossier dans lequel on se trouve, le dossier parent).

Une commande du genre de "cd ..\..\..\dossier1\dossier2" aurait donc eu pour effet de nous faire remonter de trois crans dans l'arborescence, puis d'entrer dans le dossier1 et enfin d'entrer dans dossier2 qui se trouve lui-même dans dossier1…

De manière à fixer un peu les choses, un exemple semble utile.  Imaginons donc un instant que nous ayions une arborescence telle que représentée ici sur notre disque dur, et que nous nous trouvions dans le dossier "dossierA-1-1"…

exemple d'arborescence

exemple d'arborescence

Si nous voulons accéder directement du dossierA-1-1 au dossierB-1-1, il s'agira de remonter de trois crans dans l'arborescence,(la premiere fois nous emmène dans dossierA-1, la deuxième dans dossierA, la troisième dans le dossier qui contient dossierA et dossierB) puis de rentrer dans dossierB, puis dans dossierB-1, et enfin dans dossierB-1-1.

Il est évidemment possible de faire les choses graduellement, mais il est parfaitement envisageable de le faire d'une seule et même commande sous la forme de cd ..\..\..\dossierB\dossierB-1\dossierB-1-1.

Si vous n'avez pas tout compris, le meilleur conseil que je puisse vous donner est de prendre une grande respiration, de vous servir une limonade ou un café (selon vos préférences), d'aller chercher quelque chose à grignoter si vous avez faim, et de reprendre la lecture au début de ce chapitre…

Quand on crée un site internet, rien ne nous interdit de créer une arborescence aussi compliquée (voire, avec encore plus de dossiers et/ou de sous dossiers).

Les deux seules différences que l'on observe entre un site internet et l'arborescence de votre disque dur sont que l'antislash "\" doit etre remplacé par un slash "/", et que l'on passe d'un fichier à l'autre.  Il faudra donc indiquer à quel fichier vous voulez accéder dans le dossier.

De cette manière, si vous reproduisez cette arborescence dans votre site, et qu'un fichier qui se trouve dans dossierA-1-1 doit faire appel à un autre fichier qui se trouve dans dossierB-1-1, le chemin d'accès pour y arriver sera "../../../dossierB/dossierB-1/dossuerB-1-1/nom-du-fichier.ext", "nom-du fichier" représentant ici le nom du fichier auquel vous souhaitez accéder et ext l'extension de celui-ci.

Evidemment, si vous vous trouvez dans dossierA pour faire afficher un fichier donné et que vous souhaitez fournir le chemin vers un autre fichier qui se trouve dans le même dossier, vous pouvez très bien donner directement le nom du fichier recherché, sans commencer par sortir de votre dossier pour… y retourner.

image d'imprimante   image de mail   fleche haut

Evaluation donnée par les visiteurs
Cette page a été évaluée 3 fois et a obtenu une moyenne de bien expliquée
Mon appréciation sur la compréhensibilitéde cette page est:
  • incompréhensible
  • mal expliquée
  • compréhensible, sans plus
  • bien expliquée
  • très bien expliquée

fleche haut

[koala01.free.fr]->Tutoriaux->Le HTML facile ->Principes connexes

Copyright (©) 2005 (Philippe Dunski)

Ce cours est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation (version 2 ou bien toute autre version ultérieure choisie par vous).

Ce cours est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU pour plus de détails.

Cependant, l'auteur apprécierait grandement que vous lui fassiez part de toute modification apportée à son contnu

Vous pouvez le contacter par mail à l'adresse koala01@free.fr

Vous pouvez trouver une adaptation française de la licence GNU/GPL à l'URL http://www.linux-france.org/article/these/gpl.html