Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Débuter
Débuter Forum d'entraide pour débuter dans la création de sites Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2012, 21h54   #1
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Par défaut Bonne structure d'un site Web

Bonjour à tous

Je suis en train de réaliser un site Web. Pour éviter d'avoir des chemins entre CSS, images et pages PHP, j'ai opté pour avoir une structure ou chaque ensemble de pages sur le même sujet sont dans un dossier. J'ai donc un ensemble de dossiers comprenant des pages PHP, et un dossier "images".

Chaque page générée fait appel à des CSS qui font appel aux images via un chemin sous la forme "../images/xxx.xxx".

Je pensais avoir trouvé un bon moyen d'avoir une gestion des chemins simplifiés, mais je m'aperçois de la limite du problème au moment où je dois déclarer un index.php à la racine du site. Avant même de le faire, je sais que les liens "../images/" ne fonctionneront plus.

Quelle solution personne adaptez-vous sur vos créations de sites ? Si ma solution est bonne, comment passer outre la gestion de l'index ?

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 08h05   #2
Membre expérimenté
 
Avatar de redoran
 
Homme
Developpeur- Amateur
Inscription : juin 2010
Messages : 981
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : Algérie

Informations professionnelles :
Activité : Developpeur- Amateur
Secteur : Santé

Informations forums :
Inscription : juin 2010
Messages : 981
Points : 572
Points : 572
Envoyer un message via Skype™ à redoran
Salam ; je crois que votre question est de l'ordre de mon post ( structuration d'un site au niveau de la racine du serveur) , voila je vous propose ce lien trés intéressant d'ailleurs c'est l'avenir : ftp://ftp-developpez.com/tahe/web/ph...he-php-mvc.pdf
personnellement je commence a réalisé une structure se rapprochant du model MVC vu que je suis débutant. bonne continuation
redoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 08h39   #3
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Bonjour et merci pour ta réponse.
Citation:
Envoyé par redoran Voir le message
Salam ; je crois que votre question est de l'ordre de mon post ( structuration d'un site au niveau de la racine du serveur)
C'est vrai, nous avons la même problématique (mais ton sujet passionne aussi peu que le mien)

Citation:
Envoyé par redoran Voir le message
je vous propose ce lien trés intéressant d'ailleurs c'est l'avenir : ftp://ftp-developpez.com/tahe/web/ph...he-php-mvc.pdf
J'ai lu ce document -très intéressant, d'ailleurs-, et je n'ai vu nulle part une réponse à ma question, qui est plus d'ordre d'organisation des fichiers en eux-mêmes. Par contre, mon site développe actuellement un modèle MVC, mais ça n'a rien à voir.

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 15h20   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
A la racine de ton site, tu devrais avoir
Citation:
index.php
├images/
|├xxx.xxx
|├yyy.yyy
├css/
|├css1.css
|├css2.css
└pages/
├page1.php
└page2.php
ainsi, tu n'as pas besoin d'utiliser des URL relatives mais des absolues à la place : /images/xxx.xxx ou /css/css1.css.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 16h59   #5
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Citation:
Envoyé par Bovino Voir le message
A la racine de ton site, tu devrais avoir

ainsi, tu n'as pas besoin d'utiliser des URL relatives mais des absolues à la place : /images/xxx.xxx ou /css/css1.css.
Cette solution fonctionne en mettant simplement "/images/a.png" ??
Ou faut-il quand même mettre l'adresse du serveur devant : "http://www.www.com/images/a.png" ?
Je suis sceptique...

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 17h14   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Ca revient au même
"/" correspond à la racine du site, donc ""http://www.www.com/"
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 19h59   #7
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Citation:
Envoyé par Bovino Voir le message
Ca revient au même
"/" correspond à la racine du site, donc ""http://www.www.com/"
J'ai testé, cette méthode ne fonctionne pas... Pour l'instant, je suis en mode développement avec un Wamp sur ma machine. Le dossier "www" (racine de redirection du serveur Apache) contient mon site. Or, tous les includes, les css et les images ne fonctionnent pas.
Un exemple d'erreur sur un include :
Warning: include_once(/common/common_user.php) [function.include-once]: failed to open stream: No such file or directory in ...\www\gallery\show_gallery.php on line 9

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 20h32   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Citation:
Envoyé par ForgetTheNorm
cette méthode ne fonctionne pas...
Si
Mais à condition de bien lire ce qui est dit !
Citation:
Envoyé par Bovino
"/" correspond à la racine du site
Citation:
No such file or directory in ...\www\gallery\show_gallery.php on line 9
Ton site n'est pas à la racine !
Donc tu dois adapter
Citation:
Envoyé par Bovino
ainsi, tu n'as pas besoin d'utiliser des URL relatives mais des absolues à la place : /images/xxx.xxx ou /css/css1.css.
en
Citation:
ainsi, tu n'as pas besoin d'utiliser des URL relatives mais des absolues à la place : /gallery/images/xxx.xxx ou /gallery/css/css1.css.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 22h33   #9
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Citation:
Envoyé par Bovino Voir le message
Si
Mais à condition de bien lire ce qui est dit !
Ton site n'est pas à la racine !
Donc tu dois adapter
J'ai donné un mauvais exemple. "Gallery" est, sur ton exemple de ton post qui montre une hiérarchie de système de fichiers, l'équivalent du dossier "Pages". Le dossier Gallery est donc à la racine, et est l'un des dossiers comprenant des pages php.

Mon site est donc à la racine (www), il contient un dossier "Gallery", et à l'intérieur de celui ci il y a une page "show_gallery". Cette page fait appel à un include qui se situe dans mon C:\...\www\common\common_users.php. Je fais donc un
Code :
include("/common/common_users.php")
vu que le dossier "common" est à la racine du site.

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 19h46   #10
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Bonjour

Je reviens vers vous car mon problème n'est toujours pas résolu, et je n'arrive pas à comprendre.

Je recommence donc tout depuis le début. Je possède un serveur Apache (installé via WAMP).
Le Root d'Apache est situé sur D:/xxx/monsite/. Quand je tape "/localhost/" dans la barre du navigateur, je tombe donc bien sur "D:/xxx/monsite/index.php".
Le dossier monsite est composé de plusieurs sous-dossiers : monsite/membres/, monsite/common/, monsite/images/, etc.

Lorsque je fais un fichier lambda test.html contenant la ligne de code
"<img src="/images/test.png"/>", quelque soit l'endroit de ce fichier (à la racine de monsite ou dans les sous-dossiers, j'obtiens bien l'image.

Cependant, lorsque je fais un include("/common/common.php"); dans un fichier php, ça ne fonctionne plus.

J'ai fait un test rapide ; avec l'utilisation d'un readdir sur "/" (pour lister le contenu du dossier "/"), j'obtiens le contenu de "D:/" et pas "D:/xxx/monsite/" !

Cependant, lorsque je fais un getcwd() (pour obtenir le working directory), je suis bien sur "D:/xxx/monsite/"...

Comment faire ?

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 20h02   #11
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 16 323
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 16 323
Points : 49 932
Points : 49 932
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05


C'est simple : "'/", sous les systèmes UNIX-like, c'est la racine ; ".", c'est le répertoire courant. Fais donc plutôt un "opendir('.');".
__________________
Le troisième défi Qt !

Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Qt : La FAQ : 200 QR
symfony : sfDoctrineGuard

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/02/2012, 21h00   #12
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Citation:
Envoyé par dourouc05 Voir le message


C'est simple : "'/", sous les systèmes UNIX-like, c'est la racine ; ".", c'est le répertoire courant. Fais donc plutôt un "opendir('.');".
Parfait !
J'ai testé avec un ./common/..., et ça fonctionne !

Merci beaucoup !
J'ai un petit soucis supplémentaire : j'ai mon serveur en développement sous Windows, et mon serveur de production sous Unix. Comment puis-je concrètement passer de l'un à l'autre sans changer de code ?

Avec un include(($unix)?"/","./") . "common/moninclude.php") ?

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 09h08   #13
Membre du Club
 
Avatar de ForgetTheNorm
 
Homme
Docteur en informatique
Inscription : novembre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Docteur en informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2006
Messages : 124
Points : 43
Points : 43
Bonjour

J'ai trouvé une solution en faisant un
Code :
include_once(((PHP_OS == "WIN32" || PHP_OS == "WINNT")?$_SERVER['DOCUMENT_ROOT']:"/") . "common/common.php");
Merci à tous

Pierre
ForgetTheNorm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h53.


 
 
 
 
Partenaires

Hébergement Web