Bonjour à tous,

Je suis en train de créer le site web de mon entreprise. Tout était pratiquement fini quand je me suis aperçu d'une chose : c'est grave le bordel dans mon dossier! je m'explique:

A la base j’avais fait un gros dossier dans lequel j'avais mis tout mes pages, images, etc.
J'ai donc trié tout ça de la façon suivante:

Dossier racine avec mon index.php, .htacces, robots.txt

Dans ce dossier sont présents 5 sous-dossiers:

Le dossier images, le dossier pages, le dossier feuilles de style, un dossier includes et un dossier réservé au formulaire de contact.
Je pense qu'il est inutile de décrire ce qu'il y a dans ces dossiers Smiley smile .

Mon problème est le suivant : mes images ne s'affichent plus sauf dans la page d'accueil. Cela est bien évidemment un problème relatif au chemin d'accès mais j'ignore qu'elle est la meilleure façon de le corriger. Mes liens sont égalements morts. Je précise que cela est du aux includes en php.
Existe-t-il une arborescence type d'un site web? dois-je dupliquer mon dossier images? Mon site est-il bien rangé? (j'en doute ...)

En vous remerciant par avance pour votre précieuse aide.
Modifié par newbie (04 Nov 2014 - 18:14)
Bonsoir newbie et bienvneue sur le forum Smiley smile

Je te réponds rapidement sur un point de ton message…
newbie a écrit :
dois-je dupliquer mon dossier images?

Non.
Tu peux accéder de façon relative à ton dossier "images" depuis n'importe quelle autre page de ton site, y compris si elle ne se trouve pas dans le même répertoire.

Exemple(s) :
Mettons que tu souhaites accéder au fichier logo.jpg, depuis plusieurs pages et fichiers (fichiers html stockés dans "pages", fichiers css stockés dans "css", fichier php inclus stockés dans "include", etc.) de ton site.

– depuis index.php, tu utilisera <img src="images/logo.jpg" alt="Mon logo" />
– depuis le fichier page2.html stocké dans le répertoire "pages, tu utilisera <img src="../images/logo.jpg" alt="Mon logo" />
Note : l'instruction "../" permet de remonter d'un niveau. On peut utiliser "../../" pour remonter de deux niveaux, et ainsi de suite.
– depuis le fichier styles.css stocké dans le répertoire "css", tu utilisera par exemple : #logo { background-image: url(../images/logo.jpg); }
– etc, etc.
Modifié par audrasjb (04 Nov 2014 - 18:24)
Bonjour newbie,

Je pense que tu as du louper ce tutoriel lors de tes recherches sur le sujet ; ce tutoriel devrait t'aider:
http://www.alsacreations.com/astuce/lire/78-quelle-est-la-diffrence-entre-les-chemins-relatifs-et-absolus.html

newbie a écrit :

Existe-t-il une arborescence type d'un site web?

Je n'ai jamais entendu parler d'une trame spécifique à respecter pour l'organisation interne de ses fichiers (ni dans l'arborescence ni dans les noms de fichiers*). Mon avis est : heureusement !

newbie a écrit :

dois-je dupliquer mon dossier images?

Pourquoi faire des doublons ??? Pourquoi faire simple quand on peut faire compliqué ? (ou l'inverse, non ?) Question de bon sens.

newbie a écrit :

Mon site est-il bien rangé?

Tu t'es répondus toi-même par
newbie a écrit :
(j'en doute ...)

Si à toi ça te semble être le fouillis alors tu as là encore ta réponse.

Perso je constate ces courants dans l'organisation des dossiers/fichiers sur un serveur :
* le conformisme c.à.d. tout le monde fait de la même façon sans vraiment savoir pourquoi mais ils ont vu ça quelque-part (c'est d'ailleurs marrant car selon l'inspiration, souvent anglicane, les noms se retrouvent être en anglais). Le singe imite l'homme et l'ignorant imite l'homme de savoir.
* le nanti (aka parano, marginal ou autre) qui va s'obstiner à tout compliquer invoquant toujours un motif légitime (en règle générale la sécurité).

Le mieux, et là c'est que mon intime conviction, c'est déjà de s'y retrouver soit même !
Rester logique et comme je l'ai dis en début de réponse : Pourquoi faire compliqué quand on peut faire simple ? ne crois-tu pas ?

Effectivement le coup du dossier "fourre-tout" est loin d'être une solution optimale. Regroupe tes fichiers par type(ce qui va ensemble va ensemble le reste va ailleurs) , c'est déjà un grand pas en avant. Tu te remerciera dans quelques mois quand tu retoucheras ton code.


* il existe quand même certains usages à respecter, non pas par convention mais surtout pour la compatibilité entre les divers systèmes (Unix/Win). La réponse d'un des sujets d'un des forums en parle (pas de caractères spéciaux, tiret ou underscore comme séparateur, pas d'espace etc ...).


Ta mission, si tu l'acceptes sera dans un premier temps de créer ton arborescence,
puis modifier tes liens en suivant le tutoriel indiqué au début de ce message.

Bon courage !



Edit: grillé par audrasjb lol
audrasjb l'Homme qui répond plus vite que son ombre.
Modifié par Greg_Lumiere (04 Nov 2014 - 18:40)
Merci de la réponse rapide, le plus gros problème se trouve au niveau des includes.

En effet toutes mes pages y compris l'index comporte des includes (l'entete, le menu et le pied de page) jusque la rien de bien nouveau. MAIS les includes sont blindés d'images et du coup un include qui va rediriger correctement les images pour la page d'accueil ne marchera pas pour les autres.

Ex: ma page accueil contient cet include:
<?php include("includes/entete.php"); ?>


et le include en question:

<a href="index.php"> <img id="logo" src="images/logo_site.png" alt="logo " id="logo" /> </a>
	<div id="coordonnees">
		<p id="nom">Prénom Nom </p>
			<p><strong id="metier"> Metier </strong></p>
				<p id="telephone"> 000000000000.</p>
	</div>

jusque la ça marche le problème c'est que si je met le include dans une autre page qui se situe dans un sous dossier le chemin du logo n'est plus valide.
Je pensais donc faire mon index tout en html sans include et les garder pour les autres pages.
Repars depuis la racine de ton site à chaque lien en utilisant ../ (autant de fois que nécessaire.

Si ton arborescence est logique et bien construite tu n'auras pas de problème !
Garantit car c'est ce que je fais et ça fonctionne pour tous mes include.
Et c'est quoi une arborescence logique? un exemple m'aiderai bien parceque j'avoue que j'ai du mal avec la logique (surtout en informatique ).
Par exemple un dossier concernant le graphisme avec un sous-dossier css, un autre images etc
Tes scripts dans un autre dossier avec pourquoi pas un sous dossier pour les scripts qui agissent en amont et un autre avec ceux qui agissent en aval ou un tri par language. Regrouper les fonctions etc.
Pareil dans ton contenu statique en créant des sous dossier pour les ensembles (par ex un article sur plusieurs pages).

J'essaie de n'avoir qu'un minimum de fichier à la racine du site.

Est-ce que tu vois l'idée ?
Modifié par Greg_Lumiere (04 Nov 2014 - 21:29)