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 :

Méthode pour structurer son site


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Méthode pour structurer son site
    Bonjour à tous,

    Étant semi-débutant en PHP, ça fait un bout de temps que j'erre de forum en forum, de tutos en tutos pour développer correctement mon site internet.

    Seulement voila, plus il grossit, plus j'ai des problème pour le structurer correctement et je n'ai pas eu la chance de tomber sur une explication claire m'indiquant la bonne marche à suivre. Voila donc mon problème :

    Je code un site PHP tout ce qu'il y a de plus classique. Chaque grande section du site à droit a sa propre page, et le style de chacune de ces pages est contenue dans une seule CSS.

    La structure de chaque page est la suivante (en simplifié) :

    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
    16
    17
    18
    19
    20
    21
    22
     
    <html>
      <body>
        <div id="en_tete">
          // Contient la bannière
        </div> 
     
        <div id="corps">
          <div id="bloc_menu">
            // Contient les liens vers les différentes pages
          </div>
          <div id="bloc_contenu">
            // Contient le contenu, différent pour chaque page
            <?php include("./maPage_code.php");  ?>  // Renvoie vers le code spécifique de la page en cours
          </div>
        </div>
     
        <div id="pied_de_page">
          // Contient le pied de page
        </div>
      </body>
    </html>
    Pour chaque page, j'ai ainsi un fichier "maPage.php" qui contient le code ci-dessus, et un autre fichier "maPage_code.php" qui contient le code spécifique de la page, intégré a celle-ci grâce à l'include.

    Ainsi j'ai des couples "page structure - page code" comme : "Index.php" et "Index_code.php" , "monCompte.php" et "monCompte_code.php", "admin.php et "admin_code.php", ...

    C'est une méthode perso, si je suis complètement à coté de la plaque n'hésitez pas à le signaler !

    Cette méthode marche correctement mais elle pose un gros soucis d'ergonomie quand je code car étant donné que chaque page dispose de sa propre page structure (identique a chaque fois), il suffit d'une modification sur ma page "index.php" (par exemple) pour que toute les autre page structure deviennent mauvaise ! La méthode est pour le moment, a chaque modification, de copier coller le code de la page modifiée dans toute les autre page-structure...

    C'est lourd,...

    La question est bref est donc comment correctement scinder le design/structure et le code lorqu'on a plusieurs page qui partage des élément identique (en_tete, pied_de_page, menu,...) ? Est-ce que ma méthode est complètement dépassée ? Dois-je refaire complètement l'agencement des page de mon site ou puis-je me contenter de ma méthode actuelle ?

    Merci de votre attention !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'existe pas "une bonne methode".
    Il existe plein de manière de procéder et chacun trouve le bonheur a sa porte.

    Tu n'as pas besoin de tout revoir.

    Ton problème est que tu repetes des éléments a travers tes pages.
    Il suffit donc d'utiliser un seul fichier avec un traitement conditionnel :

    exemple : index.php?page=mapage
    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
    16
    17
    18
    <?php
    if (isset($_GET['page'])) {
        switch ($_GET['page']) {
             case 'mapage' :
                   $include = 'mapage.php';
                   $titre = 'ceci est la page qui parle de ma page';
             break:
       }
    }
    echo '
    <html>
       <head>
          <title>' . $titre . '</titre>
      <body>
          <div id="bloc_contenu">';
    include($include); 
    echo '      </div>
    .....
    Tu peux aussi carrement utiliser un moteur de template comme Smarty : le principe sera le meme avec un fichiertemplate contenant ta structure HTML et des fichiers .php qui donnent les valeurs et le contenu au template.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour,
    Justement pour te montrer que Sabotage dis vrais , ma méthode est différente, et pourtant le principe reste strictement le même !

    Je m'organises un peut comme cela
    Toutes mes pages ont
    en noir une partie identique
    en rouge une partie "la page elle même"
    en vert une partie "presque identique"

    donc dans une page j'ais par exemple

    le doctype en vert car le même
    pour toutes les pages sauf que j'ais le title et deux métas a changer
    donc avant je prepares ces trois valeurs
    et puis en rouge la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?PHP
     
    session_start();
    $montitle="xxxxxxx";
    $meta1="zzzzzzz";
    $meta3="rrrrrrrrr";
    include("doctype.php");
    include("menu.php");
    include("lapage.php");
    include("baspage.php");
     
    ?>
    voila c' est simplifié mais exploitable

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Hello !

    Merci beaucoup pour vos réponses !
    J'ai restructuré mon site a ta manière Sabotage et, en plus de diviser la taille de mon site pas deux, le code s'avère être très propre !

    D'ailleurs, ce système n'exclus d'avoir quelques différence d'une page à l'autre. La fonction javascript d'une de mes page a simplement dû être déplacée dans le head de ma nouvelle page index par exemple, et pour d'autre petite modification il suffit de passer une variable de test dans le Switch.

    Par exemple ici pour afficher un lien ou non en fonction des pages et du niveau d'usr :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    $autorisation = true;
    if (isset($_GET['page'])) {
        switch ($_GET['page']) {
             case 'article' :
    				$include = 'article.php';
    				$titre = "L'actualité";
    				break;
    	case 'publication' :
    				$include = 'publication.php';
    				$titre = 'Publier un article';
    				if(!$log_lvlUser>0) $autorisation = false;
    				break;
       }
    } 
     
    if(!$autorisation){?>
    	<div class="msg_rouge">
    	       Vous devez être connecté pour acceder à cette page
    	</div>	<?php
    }
    else{
     
        include($include);	$_GET)	
    }	?>
    Merci !

    Edit :

    Note avant de clôturer le topic : Je viens de remarquer qu'avec les modification que j'ai effectuée y a maintenant Internet explorer qui me fait du boudin... Je vais voir comment corriger cela.

Discussions similaires

  1. Quels outils logiciels utiliser pour faire son site ?
    Par tripper.dim dans le forum Outils
    Réponses: 36
    Dernier message: 22/05/2008, 18h39
  2. Quoi choisir pour créer son site
    Par damien77 dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 18/06/2007, 10h44
  3. plugin IE pour interroger son site web
    Par Linuss dans le forum IE
    Réponses: 5
    Dernier message: 16/12/2005, 07h20
  4. Réponses: 4
    Dernier message: 13/12/2005, 18h14

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