Structure complexe d'arborescence

Petit nouveau ! | 3 Messages

31 mars 2008, 21:33

Bonjour a tous :D, actuellement je m'initie a PhP et pour progresser je m'amuse a analyser les différentes structures d'arborescences, étant un peu autodidactes j'aime chercher par moi même, mais là je crois que je coince et que je creuse au mauvais endroit :) si quelqu'un peut m'aider c'est royale merci :).
Donc pour etre le plus le explicite possible :) en ce moment j'analyse un site fait en php et
Son Arborescence est:
-Root
-Repertoire1
-Repertoire2
-RepertoireX
-Etc....

Mon problème étant que l'index.php se trouve dans un répertoire (ex:Repertoire2/index.php) et je me posait la question y aurait-il plusieurs façon d'organiser l'arborescence d'un site car comme j'ai pu l'apprendre l'index doit se trouver a la racine a coté des autres répertoires pour être correctement pris en compte.

Mais peut-être y a-t-il d'autres facon de faire et pour tout vous dire je suis helas pas tellement compétent en ce qui concerne cela:
(ex en xhtml j'ai galère pour: <link rel="stylesheet" type="text/css" href="->[../]<-design/style1.css">) ces deux petits points pour l'organisation et l'orientation enfin navré j'ai pas le terme exact. :)

Et il se peu que cette galère que j'ai eu dans l'xhtml soit un peut le même domaine que mon problème actuel en PHP.

J'ai cherché pas mal de choses concernant ce problème mais aucun résultat

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 avr. 2008, 00:50

Alors en fait, la page index, qu'elle soit en .php, en .jsp, en .html, etc. est par convention la page que le serveur web va tenter d'ouvrir en premier si aucune page n'est spécifiée dans l'url.

Ainsi, si tu demandes à accéder à l'url http://www.phpfrance.com/ le serveur va regarder s'il trouve une page index.php (ou .html ou .autreChose, ca dépend de sa configuration) à la racine du site et si c'est le cas te la retourner.
De même si tu demandes la page http://www.phpfrance.com/forums/ alors il va regarder s'il trouve une page portant ce nom dans le dossier forums/ du site.

Tu peux ainsi avoir plusieurs pages index.xxx dans un site, mais tu n'en auras qu'une seule par dossier :)


Concernant l'organisation d'un site et les répertoires, il y a probablement autant de façon de faire que de développeurs. La solution préconnisé étant généralement "la plus logique", l'idée étant que quelqu'un qui ne connait pas (ou plus) le site puisse s'y retrouver facilement pour le modifier. A partir de là, il existe des frameworks avec leur architecture propre, des exemples dans des livres, et des habitudes persos de chacun :)


Enfin, concernant les "../" il faut savoir qu'en php tout comme html, tu peux faire appel à des éléments se trouvant dans d'autres répertoires que celui où la page se trouve. C'est fort pratique par exemple pour créer un dossier "images/" contenant... ben les images du site par exemple et que chacune des pages va pouvoir venir chercher.
Pour faire appel à une image, ou dans ton exemple à une feuille de style css, il faut donner le chemin de celle-ci.
La syntaxe "../" indique que pour accéder au fichier en question, il est nécessaire de remonter d'un dossier dans l'arborescence. Le nom d'un dossier désigne le dossier dans lequel l'on doit descendre.
"../design/style1.css" indique donc que pour accéder à la feuille de style style1.css à partir de la page où tu te trouve, il te faut remonter dans le dossier parent (ou supérieur, comme tu préfères) puis descendre dans le dossier "design/"

Tu peux en utiliser plusieurs pour remonter de plusieurs dossiers, par exemple : "../../../design/style1.css" indique qu'il faut remonter de 3 dossiers pour trouver le dossier "design/"

Tu peux également le trouver avec un seul point : "./" cela correspond au dossier courrant (donc en gros, ça ou rien, c'est pareil :), mais il peut arriver qu'un jour tu tombes dessus ou en ait besoin, justement pour spécifier que c'est dans le dossier courrant qu'il faut chercher quelque chose )

Enfin, pour en finir avec les chemins, il se peut également qu'un chemin commence directement par un slash "/", par exemple : "/design/style1.css". Le "/" désigne alors la racine des dossiers. Cela signifie donc que peu importe où se trouve la page, il faut partir de la racine pour aller trouver le fichier css.
Attention toutefois, s'il est utilisé pour une url (ex : lien, image, fichier javascript ou css), le "/" désigne la racine du site (c'est à dire le nom de domaine). S'il est utilisé pour le système de fichier (par exemple un include en php) le "/" désigne alors la racine du disque dur (en gros le C:\ si ton site est sur le disque C: de windows)

HTH :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

01 avr. 2008, 22:26

Ouaooo!! Génial! Je ReMerci de m'avoir répondu :D ça m'enlève une énorme épine.

Et ces chemins, ca fait parti de quel domaine en informatique car j'ai une vague impression étrange que ça découle de l'administration réseau. Car j'avoue qui ce domaine qui est l'administration réseau ce n'est guère ma tasse de thé, donc quand je prend plaisir a réaliser du développement la phase finale qui était justement l'agencement du site (pour ranger tous les dossier), était la plus ardu hélas.

Par contre j'ai cherché des ouvrages traitant de ce sujet mais en vain. Aurai-tu des bookins a me conseiller :).

Et juste une dernière question :), je ne t'embête plus c'est promis j'ai pu voir qu'il y avait des passionnés de PhP qui se retrouvaient sur paris, mais habitant Lyon je ne sais pas si il existe des associations permettant cela, car je serais ravis de partager mes expériences et d'apprendre comme un dingue d'avantage :D.

Merci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 avr. 2008, 23:45

Nope, ce n'est pas spécialement lié à de l'administration réseau.. c'est plutôt dans des rubriques de "système de fichier" ou "d'accès aux dossiers" que tu trouverais cela (encore que je n'ai pas trouvé de référence sur php.net en dehors des commentaires). C'est une norme que tu vas retrouver quasiment partout.

Lorsque tu ouvres une invite de commande dos ou une console unix par exemple : pour rentrer dans un répertoire, tu vas faire "cd dossier" ou "cd dossier/sous-dossier" et pour remonter au dossier parent tu feras "cd .." ou "cd ../.." pour remonter de deux niveaux.
Tu as déjà du également rencontrer ces ".." dans ton logiciel FTP pour remonter au dossier parent :)

Donc l'idée pour ton arborescence c'est vraiment de ne pas te prendre la tête et d'être logique... pour des éléments qui seront partagés (comme des javascript, des css, des images) tu peux créer un dossier spécifique pour chaque. A côté tu peux faire un dossier pour les classes php en les organisant éventuellement par catégories également.. des dossiers pour distinguer les grandes fonctionnalités etc. un dossier utlisateur si tu gères des utilisateurs, un dossier forum pour des scripts de forum etc.

Récupères un framework php pour regarder comment ils se sont organisés. Sans devoir le reproduire, ça peut te donner des idées des catégories qu'ils ont pu créer :)


Quant aux rendez-vous entre passionnés, il y a effectivement des apéros php sur la capitale, mais aucune idée s'il y en a sur Lyon.. faudrait demander aux lyonnais du forum (Zeeeeuuuussss !! ;))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 19672 Messages

02 avr. 2008, 07:58

Quant aux rendez-vous entre passionnés, il y a effectivement des apéros php sur la capitale, mais aucune idée s'il y en a sur Lyon.. faudrait demander aux lyonnais du forum (Zeeeeuuuussss !! ;))
Si si, ça arrive, j'ai déjà fait une soirée avec Naholyr et Zeus à l'occasion d'un passage à Lyon, il y a déjà pas mal de temps il est vrai.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

09 avr. 2008, 00:19

Salut! :) oki doki j'y vois plus clair maintenant :) merci beaucoup Ryle c'est vraiment cool et oui en effet je n'y pensais plus mais quand je me baladais dans les dossiers du DOS c'etait ainsi. Navré je ne pensais pas qu'il y aurait une liaison comme celle-ci avec le code :).

Par contre Cyrano, Ryle vous me faites vraiment envie là :P, Ryle tu es entrain de me dire que sur le forum y a des lyonnais (le Nom de ce Forum c'est Zeus, c'est ça?).

Salut Cyrano merci pour le message :), quand tu es passé a Lyon il y avait une soirée un peu de ce type c'était le 11/02, ou une autre soirée? Car il n'y en a pas des masses hélas, savez-vous si il y a d'autres regroupement PHP a pars Apéro PHP? où d'ailleurs je vais de ce pas chopper des INFOS


Merci a vous deux :D Merci Infiniment pour toutes explications :D

Mammouth du PHP | 19672 Messages

09 avr. 2008, 04:47

... Ryle tu es entrain de me dire que sur le forum y a des lyonnais (le Nom de ce Forum c'est Zeus, c'est ça?)....
Non, c'est pas ça ;)

Zeus est membre des forums de PHPFrance et c'est également un Lyonnais. On a des gens d'un peu partout qui viennent ici, de France, de Belgique, du Québec, d'Afrique, on a même un membre qui est au Japon et il y en a probablement d'ailleurs.

Les soirées, c'est un peu à l'initiative de qui veut. S'il te prend l'envie d'organiser un AperoPHP quelque part, libre à toi, le site est là pour annoncer les dates et les lieux et chacun ensuite est libre de participer ou pas. Chacun y assume ses propres frais, il n'y a pas de carte de membre ou d'abonnement. Ça peut être simplement pour un verre ou pour un dîner.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: