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 13/05/2008, 08h57   #1
Membre éclairé
 
Homme Nicolas
Technicien réseaux et télécoms
Inscription : février 2004
Messages : 341
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 32
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Technicien réseaux et télécoms

Informations forums :
Inscription : février 2004
Messages : 341
Points : 393
Points : 393
Par défaut include - sous dossiers - url relatives

Bonjour,

afin de faciliter la maintenance du site sur lequel je travaille, j'ai tout naturellement utilisé des include pour les parties communes de mes pages (en-tete, pied de page)

j'ai placé ces fichiers inclus dans des sous dossiers afin de rendre le site plus lisible pour le developpement.

+- design/
| +- css/
| | +- style.css
| +- html/
| | +- header.inc.php
| | +- footer.inc.php
| +- gfx/
| | +- images.png
| | ...
+- index.php

voici le squelette d'une page de mon site:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
include("design/html/header.inc.php");
?>

<div id="contenu">

</div>
<?php
include("design/html/footer.inc.php");
?>
jusque là, rien de particuliers, tout se passe bien.

mais voila: je voudrais organiser les différentes pages de mon site dans des sous-dossiers, toujours dans le but de faciliter le dev et la maintenance.

ce qui donnerait:


+- index.php
| +- page1/
| | +- index.php
| | +- page1.js
| | ...
| +- page2/
| | +- index.php
| | +- page2.js
| | ...
...

mais dans ce cas la, tous les chemins relatifs que j'ai defini en particuliers dans le fichier css, sont incorrects (il manque "../ ")

donc ma question (enfin !!): comment puis-je faire pour obtenir ce decoupage en sous-dossiers, sans devois me battre avec les chemins relatifs des css ou meme des images ?

la réponse qui vient en premier serait:
Citation:
Utilise des chemins absolus
mais dans ce cas, j'ai un autre problème: je développe sur un serveur local et donc, lors de la mise en ligne du site, il faudrait modifier tous les chemins absolus (ie remplacer http://192.168.0.100/mosite, par http://www.monsite.com par exemple) ce qui ne facilite pas non plus la maintenance et les tests.

autre solution que j'ai envisagée:
pour chaque page, l'index de la page est à la racine du site (avec un nom particuliers comme page1.php) et les sous-dossiers contiennent des éléments particuliers de cette page (js, fonctions php, etc)

+- index.php
+- page1.php
| +- page1/
| | +- functions.inc.php
| | +- page1.js
| | ...
+- page2.php
| +- page2/
| | +- fucntions.inc.php
| | +- page2.js
| | ...
...

(cette solution peut entrainer des troubles lors du developpement car, si les fichier functions.inc.php par exemple, contiennent des chemins relatifs vers d'autres elements du site, ces chemins ne doivent pas commencer par ../ meme en etant dans des sous-dossiers car les fichier functions.inc.php, sont appelé via des includes depuis des fichiers de niveau / )

Donc j'ai besoin de conseils et de vos retour d'expérience: comment faites vous pour organiser les pages de votre site et le rendre facile a maintenir.

Merci d'avoir eu le courage de lire jusqu'au bout
xufux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 09h10   #2
Membre expérimenté
 
Inscription : décembre 2006
Messages : 947
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 947
Points : 563
Points : 563
Envoyer un message via MSN à {F-I}
J'ai également besoin des conseils et vos retours d'expériences, cela me permettra de gagner d'énormément du temps lorsque je code des sites
__________________
Il est plus facile de dire que de faire.
Handy-Mobil.fr - Animationumerique.com
{F-I} est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 12h56   #3
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Bonjour

Voici ma bien maigre expérience (d'amateur) donc je ne sais pas si c'est très juste ce que j'ai fait :

Citation:
Envoyé par xufux Voir le message
mais dans ce cas la, tous les chemins relatifs que j'ai defini en particuliers dans le fichier css, sont incorrects (il manque "../ ")

donc ma question (enfin !!): comment puis-je faire pour obtenir ce decoupage en sous-dossiers, sans devois me battre avec les chemins relatifs des css ou meme des images ?
Dans ce cas j'ai mis les chemins relatifs en partant de la racine avec une fonction php qui me rajoute les différents ../ en fonction de l'endroit (de la profondeur) où se trouve la page...

Citation:
mais dans ce cas, j'ai un autre problème: je développe sur un serveur local et donc, lors de la mise en ligne du site, il faudrait modifier tous les chemins absolus (ie remplacer http://192.168.0.100/mosite, par http://www.monsite.com par exemple) ce qui ne facilite pas non plus la maintenance et les tests.
Là aussi j'utilise php avec une variable remplaçant l'adresse du site, cette variable je la défini en fonction de l'endroit où la page est affichée : local ou serveur.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$_gest_site_actuel = $_SERVER['HTTP_HOST'];

if ($_gest_site_actuel == '192.168.0.100') {

    $_gest_adr_pg_site = '192.168.0.100/mosite';

} elseif ($_gest_site_actuel == 'www.monsite.com') {

    $_gest_adr_pg_site = 'www.monsite.com';

}


http://<?php echo $_gest_adr_pg_site; ?>/index.php
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h36.


 
 
 
 
Partenaires

Hébergement Web