Bonjour,

J'ai un petit soucis dans l'organisation du site. J'utilise des includes d'une partie haute et basse dans chacun des pages. Comme sur la plupart des sites me semble t'il, en tout cas je ne connais pas de meilleure manière (peut-être l'occasion de m'en apprendre une). Donc, chaque page inclus la partie haute. La partie haute appel la feuille de style qui se trouvera un dossier "styles". Admettons que je créer un dossier, et que dedans je mette une page index, ce fichier va alors devoir appeler la partie haute qui se trouve un dossier au dessus. Bon ce n'est pas trop un soucis.

Le problème vient maintenant, c'est qu'à ce moment là la partie haute se retrouve appelé dans un dossier, mais ne saura pas remonter pour aller chercher la feuille de style.

Mon explication est peut-être pas très claire. En bref, j'aimerais savoir comment organiser un site et quel méthode utiliser. Car je vois partout que les sites appelent juste la feuille de style en précisant simplement son chemin depuis la racine, alors que la page à l'air de se trouver dans des sous dossiers pour une meilleure organisation. Moi je suis obligé de préciser toute l'adresse du site, même dans la feuille de style pour appeler une image.

Voilà, merci pour vos réponses.
Bonsoir Druidefou Smiley cligne

Tu connais un minimun de php ? Alors les explications que je vais te donner devront être assez simple à comprendre.

Tout d'abord je vais résumé ton probleme.

Une page de ton site est constitué de trois page :

- Une pour le haut de page
- Une pour le contenu
- Et une pour le bas de page

Puis tu as plein de page qui se trouve dans different dossier, mais qui doivent utilisé les meme fichiers pour le haut et bas de page.

Est-ce bien ca ?

Si c'est ca la solution et de générer en php des liens relatif pour toutes tes pages.

Exemple :

J'ai ma page qui contient le contenu qui se situe avec ce chemin :

www/test/deuxieme_dossier/


Ta page pour la partie haute de ton site et celle de la partie basse se situe la (ta feuille de style aussi) :

www/


La solution (que j'ai trouvé et qui n'est surement pas la meilleure)

Il faut bien structurer tes pages de contenu de ce genre :

<?php

$variable_destination = "../../";

include('$variable_destination/haut_de_page.php');

?>

<p>Ton contenu ... </p>

<?php

include('$variable_destination/bas_de_page');

?>


Maintenant structure de ton fichier haut_de_page on va faire ce qui suit pour chaque lien qu'il contient, pour qu'il mettent tout seul le lien qu'il faut par rapport à la variable $variable_destination :

<link rel="stylesheet" type="text/css" href="<?php print("$local"); ?>fichier_de_style.css"/>


Voila, j'espere que j'aurais été le plus simple possible. Bonne chance
Pourquoi ne pas faire comme tout le monde et indiquer tous tes chemins à partir du / de la racine ? Ca marche, c'est simple, et ça reste partout identique quelque soit l'arborescence de tes fichiers.

Si tu dois absolument générer des chemins relatifs (c'est particulièrement le cas pour les include, où la racine n'est pas tout à fait identique), tu peux utiliser cette ligne magique qui génère automatiquement le nombre de "../" nécessaires pour revenir à la racine de ton compte :

$cheminRacine = str_repeat("../", substr_count($_SERVER["REQUEST_URI"], "/")-1);
D'abord, merci pour vos réponses, vous avez compris mon problème. Par contre la solution ne me convient pas trop. Car les chemins relatifs ne marche justement pas à tous les coups. Notamment quand j'appel la feuille de style.

./
index.php
haut.php
bas.php

Styles
style.css

Test
index.php


Voilà le type d'arborescence que beaucoup de site possèdent. Je voudrais utiliser toujours la même partie haute, car je pense que c'est plus pratique. Le problème c'est que lorsque je me situe sur l'index du dossier "test", j'appelle partie haute avec ../ devant, ca ne pose aucun soucis. Par contre la feuille de style ne sera pas appelé. Car dans le fichier haut.php je l'appel depuis là où se trouve ce fichier haut, et non de là où se trouve le fichier index du dossier test.

En faite je ne vois pas les autres sites utiliser des ../ devant leur nom de fichier, de même que dans la feuille de style il faudra en ajouter, ce qui n'est pas le cas sur la plupart des sites.

Donc en faite j'aimerais savoir comment les autres font ?

Bonne journée Smiley cligne
Non non, personnellement j'utilise ce style, et le lien relatif qui correspond à ce que tu veux, serais plutôt celui ci :

../style/style.css


Si tu veux en voir un petit peu plus, je te laisse le code source d'un site que je suis en train de mettre en place.

Lien des codes sources

Comme ca tu comprendra ma vision pour l'usage des chemin relatif par variable.

Je ne connais pas la fontion donner par QuentinC, et je ne comprend pas comment la mettre en place quoi que si, mais je suis préoccupé par autre chose en ce moment donc pas le temps de voir ca mais je vous tiens au courant.
Modifié par Super_baloo8 (12 Feb 2006 - 12:52)
En fait, ma ligne de code permet de créer automatiquement un chemin d'accès relatif qui mène directement à la racine.

Un exemple sera plus clair :

Je me trouve dans le fichier /dossier1/dossier2/index.php : la variable générée contiendra ../../

Si je suis dans dossier1/DOSSIER2/dossier3/dossier4/index.php, la variable contiendra ../../../../

En pratique on peut par exemple l'utiliser comme ceci :
<link rel="stylesheet" href="<?=$cheminRacine?>fichier_qui_se_trouve_a_la_racine.css" />