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

Langage PHP Discussion :

gestion de 2 sites de développement sous wamp


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut gestion de 2 sites de développement sous wamp
    Bonsoir,

    j'ai 2 sites de développement sous wamp : un site qui contient tous mes essais et un site de démo que je ne mets à jour avec le contenu du site des essais que quand j'ai obtenu un essai satisfaisant (ainsi, il contient toujours une solution "montrable"). Il a donc une URL différente du site d'essai. Or j'utilise le truc que m'avait montré jreaux62, à savoir que mes fichiers incluent un fichier de config : include $_SERVER['DOCUMENT_ROOT'].'eis2/eis/config/config.php';. Quand je mets à jour le site de démo, il faut donc modifier cette ligne : include $_SERVER['DOCUMENT_ROOT'].'eis/eis/config/config.php';où config.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    error_reporting(E_ALL ^ (E_NOTICE|E_WARNING|E_DEPRECATED));
    // -----------------------------------------------------------
    // CONFIGURATION : 
    // -----------------------------------------------------------
    define('PATH','eis/eis');
     
    if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'xxxx/'.PATH);  // en TEST LOCAL, A REMPLACER PAR...
    //if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'www.mon-site-en-ligne.com'); // en PRODUCTION
    if( !defined('SITE_URL_HTTP'))	define('SITE_URL_HTTP',	'http://'.SITE_URL_WWW);
     
     
    ?>
    La constante PATH est définie autrement dans le site des essais : if(!defined('PATH')) define('PATH','eis2/eis');. Mais l'inclusion du fichier de config est requise dans 8 de mes fichiers ; c'est donc rébarbatif et source d'erreur. N'y aurait-il pas un moyen plus simple de gérer ces 2 sites ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent,

    perso, je n'utilise jamais $_SERVER['DOCUMENT_ROOT'].
    Par contre, j'indique systématiquement les chemins absolus, grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //if( !defined('SITE_URL_WWW')) 	define('SITE_URL_WWW',	'www.mon-site-en-ligne.fr'); // en production
    if( !defined('SITE_URL_WWW')) 	define('SITE_URL_WWW',	'localhost:8080/dossier-local');  // TEST LOCAL
    if( !defined('SITE_URL_HTTP')) 	define('SITE_URL_HTTP',	'http://'.SITE_URL_WWW.'/');
    Pour mes différents sites en local, je modifie simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( !defined('SITE_URL_WWW')) 	define('SITE_URL_WWW',	'localhost:8080/dossier-local-2');  // TEST LOCAL 2

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    OK Jérôme,

    mais les différents sites en local doivent être accessibles en même temps ; donc pour 2 sites, cela fait 2 fichiers de config, et donc s'il est inclus 8 fois (comme dans mon cas), cela fait 8 lignes d'inclusion à modifier, ce qui est un peu lourd et si on oublie d'en modifier une, ça ne marche plus...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Invité
    Invité(e)
    Par défaut
    1/ Oui, il faut un dossier de config pour chaque site.
    Dans la logique : séparer totalement les 2 sites.

    2/ Une CONSTANTE se défini UNE SEULE fois.
    A toi de la mettre dans un fichier "config" (!), qui sera inclu dans tes pages, une seule fois.
    Le but d'un fichier de "config" est justement de définir UNE FOIS les paramètres.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    1/ Oui, il faut un dossier de config pour chaque site.
    Dans la logique : séparer totalement les 2 sites.
    Je suis bien dans cette logique.
    Citation Envoyé par jreaux62 Voir le message
    2/ Une CONSTANTE se défini UNE SEULE fois.
    A toi de la mettre dans un fichier "config" (!), qui sera inclu dans tes pages, une seule fois.
    Le but d'un fichier de "config" est justement de définir UNE FOIS les paramètres.
    Ca paraît effectivement le plus simple, mais je n'y arrive pas . Je présume que la constante doit être définie dans chaque fichier pour qu'elle soit connue partout donc qu'il faut inclure à chaque le fichier unique de config, sauf que le chemin de ce fichier diffère d'un site à l'autre, d'où problème...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu ne sais pas ce qu'est :
    • un fichier de config
    • une CONSTANTE

    Comment veux-tu t'en sortir...

    EN LOCAL : dans le dossier "www" de wamp, tu crées un dossier spécifique pour chaque site :
    • www/site1
    • www/site2

    Chaque dossier est INDEPENDANT :
    • TOUS les fichiers/dossiers concernant le site 1 doivent être dans le dossier "www/site1" (y compris le fichier de config spécifique au site 1)
    • TOUS les fichiers/dossiers concernant le site 2 doivent être dans le dossier "www/site2" (y compris le fichier de config spécifique au site 2)

    C'est clair ?

    Et si tu n'y arrives pas, c'est certainement que ton système est mal conçu.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour Jérôme,

    ce matin, j'avais bien vu que tu m'avais répondu (notification), mais pas moyen de me connecter à DVP (quel que soit le navigateur). Cet après-midi, toujours pareil, mais j'ai pensé à essayer avec mon second PC et bingo !

    Tes explications sont claires et c'est comme ça que je fais. Je t'explique comment je fais et tu m'expliqueras comment faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    site1 :
    config
        config.php
    autre rép :
        ....
    index.php
    ....
    site2 :
    config
        config.php
    autre rép :
        ....
    index.php
    ....
    config.php du site1 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // -----------------------------------------------------------
    // CONFIGURATION : 
    // -----------------------------------------------------------
    if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'localhost/site1');  // en TEST LOCAL, A REMPLACER PAR...
    //if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'www.mon-site-en-ligne.com'); // en PRODUCTION
    if( !defined('SITE_URL_HTTP'))	define('SITE_URL_HTTP',	'http://'.SITE_URL_WWW);
    ?>
    inclusion dans les fichiers, comme index.php, dans le site1:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    include ('localhost\site1\config\config.php');

    config.php du site2 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // -----------------------------------------------------------
    // CONFIGURATION : 
    // -----------------------------------------------------------
    if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'localhost/site2');  // en TEST LOCAL, A REMPLACER PAR...
    //if(!defined('SITE_URL_WWW'))	define('SITE_URL_WWW',	'www.mon-site-en-ligne.com'); // en PRODUCTION
    if( !defined('SITE_URL_HTTP'))	define('SITE_URL_HTTP',	'http://'.SITE_URL_WWW);
    ?>
    inclusion dans les fichiers, comme index.php, dans le site2:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    include ('localhost\site2\config\config.php');

    donc vu ma méthode, si je dois inclure N fois le fichier de config, ça fait N lignes à modifier ; comment éviter cela ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Invité
    Invité(e)
    Par défaut
    Pourquoi "N lignes à modifier" ??

    Dans tes fichiers, tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ( __DIR__ . '/config/config.php');
    Et puis... c'est tout !

    Si tu dois modifier le nom du dossier du site, c'est dans le code de config.php, une seule fois par site.
    Dernière modification par Invité ; 30/11/2015 à 14h15.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Voilà qui me simplifie bien la vie

    Je rencontre par contre encore une difficulté liée au même problème : j'ai un fichier CSS contenant des lignes du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     .une_classe {
      background-image: url('http://localhost/site_travail/images/---.gif');
    }
    Comment gérer le fait que cette ligne doit devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     .une_classe {
      background-image: url('http://localhost/site_demo/images/---.gif');
    }
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #10
    Invité
    Invité(e)
    Par défaut
    Mets le chemin relatif entre le fichier CSS et le dossier des images.

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    A quel endroit dans le code ? Y a nul part où on spécifie en même temps le fichier CSS et le dossier des images...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ca t'arrive de réfléchir 2 secondes avant de poster ?

    DANS le fichier CSS, définir le chemin relatif entre :
    • le fichier CSS
    • et le dossier des images

    Leur position relative ne change pas.

    Ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    site 1 (ou site 2, avec la même arborescence des dossiers)
    - "css"
          style.css
    - "images"
          image.gif
    style.css :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .une_classe {
      background-image: url('../images/image.gif'); /* CECI EST LE CHEMIN RELATIF */
    }
    Dernière modification par Invité ; 30/11/2015 à 14h22.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Optimisation du développement sous Wamp
    Par ouioui2000 dans le forum Symfony
    Réponses: 0
    Dernier message: 27/12/2012, 22h12
  2. Réponses: 2
    Dernier message: 28/06/2012, 11h04
  3. header() fonctionne sous WAMP mais pas sur un site web
    Par skyzomik dans le forum Langage
    Réponses: 29
    Dernier message: 27/04/2012, 08h53
  4. [SP-2010] Gestion d'un site et de sous-sites.
    Par dragoli dans le forum SharePoint
    Réponses: 2
    Dernier message: 15/11/2011, 11h39
  5. [Joomla!] probleme sur un site développé sous joomla
    Par ahamed dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/02/2009, 20h41

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