Quelle arborescence pour mon site ?

lloyd -  
 sinda -
Bonjour,

je suis partagé entre deux solutions quant à l'arborescence de mon site web : (je précise que je mets ds tous les cas l'index à la racine du site)

1. soit je crée des dossiers afin de bien tout ordonner, et pour savoir facilement ou trouver telle page

exemple :

-index.html
-dossier administration :
-.htaccess
-.htpasswd
-fichiers de mise jour du site
-dossier 1
-
-
-
...

2. soit je mets tout "en bordel" sans créer de dossier (tout a la racine quoi)

J'ai choisi le cas 1, ce qui parait logique, mais le pb c'est par exemple, lorsque je veux faire un "include menu.php", je suis obligé de faire un menu propre à chaque dossier ou sous dossier, car sinon les liens ne marchent pas en général :

il y a besoin selon les cas de liens du type "dossier1/menu.php", "menu.php","../menu.php", ou encore ca m'est arrivé de "../../menu.php"

et dans chaque element de menu ou il y a un lien il faut a chaque fois tt modifier...

bon mon explication est assez longue, mais j'espere que qqun aurait une solution a me proposer

merci d'avance de m'avoir lu
A voir également:

22 réponses

kwaio Messages postés 3423 Date d'inscription   Statut Contributeur Dernière intervention   681
 
personnellement, je met tout dans la racine sauf :
Les images
les anims flash
les sons
mais en général, mes sites sont pas très grands.
0
blacktrinity Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   4
 
tout depend de a quoi ton site va servir ?
_____________________________________________
black-trinity@hotmail.fr
0
sinda
 
je veux faire l'arborescence d'un site d'une entreprise exportatrice des dattes
0
kwaio Messages postés 3423 Date d'inscription   Statut Contributeur Dernière intervention   681
 
sinon t'as un truc possible genre :
pages_utilisateur/
Pannel_admin/
forum/
...
pages & autres
...
0
minousert
 
Bonjour,
ben moi je ne fai ke debuter dan ce domaine, mai g un excellent encadreur, alor voila ce ke je te propose:
1. tu cré un site a partir de l'option géré les sites (com ça té page seron tré bien organisé),
2. tu cré une page PHP au debut pas HTML ( c ce ki ta poser des probleme),
3. tu fai copié collé de ton fichier (site) ke tu a deja nomé a l'endroit suivant: C:\EasyPHP1-7\www (com ça ta page sera la page index par defaut).
apré la création de tés page (.php) tu peu facilement inclure ou inserer des objet PHP tel ke l'echo ou les variables de formulaire, etc....

je v pa trop te longuir, lastuce est ke tu doit créer une page .php pas .html.

et bn courage, jespere ke g t utile omoins.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
Plutôt que de faire des insertions relatives ( ../../menu.php), qui sont spécifiques au dossier en cours, fais des insertions en absolu par rapport à la racine du serveur :

→ "/menu.php" , si le menu.php est à la racine (en clair, tu indiques l'adresse complete du fichier, en commencant par la racine /)
0
lloyd
 
Bonsoir a tous et merci pour vos reponses,

en fait toutes mes pages ou presque sont en .php, mais il y a tjs le pb d'indexation
je vais jeter un oeil a tout ce que vous me proposez et je vous en reparle prochainement, ce soir j'ai le cerveau cramé a force de reflechir a tout ca ;p

pour repondre deja a blacktrinity, je suis en train de faire un "assez gros site", avec forum, et plusieurs rubriques, plus la mise a jour en ligne, d'ou je pense la necessité de bien classer tous les documents

je vous souhaite une bonne soiree
a+
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

moi je ne laisse que 'index' à la racine et tout le reste dans des dossiers.
pour les url je suis d'accord avec Gryzzly (bonjour lui !), si tu ne veux pas être embêté tu passes par une adresse absolue.

le problème c'est le développement en local…
tu peux utiliser une constante que tu ajoutes à chaque url, quand tu upload tu n'as qu'une valeur à modifier.
define('ROOT', 'http://www.monsite.fr'); // dans un fichier de config
include(ROOT.'dossier/fichier.ext'); // dans les autres fichiers
0
lloyd
 
Bonjour a tous, me revoila ;

kwaio : ce que tu me dis, c'est de faire des dossiers specifiques il me semble, c'est ce que je faisais jusque la

minousert : excuse moi je n'ai pas tres bien compris :s mais comme je l'ai dit ttes mes pages sont .php ; sinon j'utilise wamp et non easyphp

gryzzly et dalida : ce que vous appelez adresses absolues, ce sont bien des adresses du style "http://monsite.com/index.php" ou "http://monsite.com/actu/news.php" ?
je pense que vous proposez la meilleure solution en effet, pour un site qui n'est pas en local, mais la je travaille surtout en local pr le moment

dalida, je crois que j'ai compris le truc de la constante, pourrais tu approfondir un peu s'il te plait ?

en tt cas merci a tous pour ces réponses et a bientot
0
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
oui :
absolue : avec ou sans le nom du serveur au début (au minimum une adresse qui commences par / , càd qui commences à la racine du serveur)

La solution que te propose l'égyptienne, c'est justement de mettre dans une constante l'adresse root/racine du serveur :

CAS 1:
define('ROOT', 'http://www.monsite.fr/'); // si tu travailles sur le serveur, à la racine

CAS 2:
define('ROOT', 'http://127.0.0.1/NOM_DOSSIER1/NOM_DOSSIER2/'); // si tu travailles en local, et que ton site en cours se trouve dans Dossier1/dossier2

CAS 3 :
SI en local tu travailles aussi a la racine du serveur :
define('ROOT', 'http://127.0.0.1/");

et ensuite, tu n'a plus qu'a appeler toujours :
include(ROOT.'dossier/fichier.ext'); // dans les autres fichiers

ce qui appelera si tu es dans le cas 1 ) :
https://www.pagesjaunes.fr/

ce qui appelera si tu es dans le cas 2 ) :
http://127.0.0.1/NOM_DOSSIER1/NOM_DOSSIER2/dossier/fichier.ext

ce qui appelera si tu es dans le cas 3 ) :
http://127.0.0.1/dossier/fichier.ext
0
lloyd
 
salut et merci !

j'ai compris ! =)
j'ai encore deux petites interrogations :

1. la définition : define('root','http://monsite.fr/') je le mets dans un fichier a part du style "config.php" ? ensuite je dois l'appeler à chaque page par exemple ds <head> ??

2. qd tu ecris "http://127.0.0.1/", pour moi le 127.0.0.1 ca correspond à C:/wamp/www/site/ ?

++
0
lloyd
 
1. il faut utiliser un include je n'avais pas tt lu, c'est dc bien un fichier externe au m titre par exemple que le menu ;)
0
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
1) affirmatif

2) j'en sais rien, je conais pas wamp. En revanche, si ca peut t'eclairer, lorque sous easyphp, installé sous C:/prog files/easyphp/ ... je lance au travers d'un navigateur :

C:/prog files/easyphp/www/mon_fichier_qui_contient_du_php.php

alors le php n'est pas interprété.

En revanche :
http://127.0.0.1/mon_fichier_qui_contient_du_php.php

est intérprété

Mais comme je sais pas comment fonctionne wamp...
0
lloyd
 
ok merci je vais voir ca...
0
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Salut,

Avec WANP5 tu cliques sur l'icône et puis sur "Localhost" tout en haut. Si tu n'a pas refusé l'installation du menu (après avoir choisie l'emplacement de www) tu auras un listing des dossiers qui ce trouve dans www. Et un lien vers phpinfo( ), phpmyadmin et SQLitemanager

La logique d'organisation veux que chaque dossier dans www représente un projet.
Si tu n'a pas installé le menu wanp5 tape dans l'adresse

http://localhost/site/ 
0
lloyd
 
ca ne marche pas très bien :s

a la racine de mon site j'ai l'index et un dossier config dans lequel se trouve "menu.php" et "constante.php"

donc :

"c:/wamp/www/site/index.php"
"c:/wamp/www/site/config/menu.php"
"c:/wamp/www/site/config/constante.php"

il y a donc "constante.php" dans lequel j'ai écrit :

<?php
define('root', 'http://127.0.0.1/');
?>

puis qd je veux insérer mon menu ds l'index.php j'ai écrit :

<div id="menu">
<?php
include (root.'config/menu.php');
?>
</div>

malheureusement ca ne fonctionne pas, qu'est ce qui deconne ?
0
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
<?php
define('ROOT', 'http://localhost/site/');
?>
<?php
include (ROOT.'config/menu.php');
?>
0
lloyd
 
ta proposition me semble sur la bonne voie, c'est bien localhost

mais ca ne marche pas car le fichier "config.php" ou j'ai defini le "root" n'est pas a la racine, et donc pas ds le mm repertoire que l'index
0
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
Ca ne devrait pas poser problème.
Est ce que tu pourrais nous montrer l'arborescence de ces fichiers (config, menu, page, etC...) . Il y a forcément une solution ;-)
0
lloyd
 
je vais essayer d'etre clair :

-index.php
-actu (dossier ou il y a l'actualité du site) :
-----news.php
-----actu1.php
-----actu2.php...
-config (la ou il y a le css...)
-----menu.php
-----design.css
-----constante.php (ou on a posé root = "http://localhost/site/")
-administration
-----fichiers .ht et mise a jour du site...


donc pour le moment a la racine, il y a l'index et trois dossiers : actu, config et admin
0
gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
Tu comptes avoir une architecture beaucoup plus complexe ou pas (dossiers, sous dossiers, sous sous dossier....) ?
Est ce que c'est un site dynamique ou bien est ce que tu créés toi meme les nouvelles pages avant de les uploader ?

Si architecture simple et site "statique en php" :
Pourquoi n'appelerais tu pas la config ainsi :

include ("../config/constante.php"); excepté pour l'index, où tu appelerais include ("config/constante.php"); ?

dans ce cas on revient à l'adresse relative ...

Sinon, tu crées autant de constante.php qu'il y a de dossier... mais ca oblige a mettre a jour tous les fichiers...

je bloque... si j'ai une idée lumineuse, je sonne ;-)
0