IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

include - sous dossiers - url relatives

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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:
    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

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    991
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 991
    Par défaut
    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

  3. #3
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    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...

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. [URL Rewriting] Supprimer des sous dossiers
    Par thanathz dans le forum Apache
    Réponses: 1
    Dernier message: 20/05/2008, 12h53
  2. Réponses: 4
    Dernier message: 28/04/2008, 12h43
  3. Réponses: 2
    Dernier message: 16/04/2008, 15h27
  4. Récupérer les sous-dossiers d'une URL
    Par _56ka dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 23/12/2007, 02h56
  5. Réponses: 1
    Dernier message: 06/12/2007, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo