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 :

[PHP-JS] Comment organiser ses pages pour un gros site?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Points : 73
    Points
    73
    Par défaut [PHP-JS] Comment organiser ses pages pour un gros site?
    Bonjour,

    J'aimerais faire une refonte d'un "gros" site que j'ai créé (75 pages toutes dynamiques). Une bonne partie des éléments de site se répètent d'une page à l'autre :
    - le header
    - le footer
    - le menu gauche (quoi que celui-ci varie un peu d'une page à l'autre, mais il y en a toujours un)
    - le menu droit
    - le menu haut

    A ce que je connais, il y a 2 possibilités pour les pages:
    - soit j'ai un fichier index.php qui inclue tous les éléments cités ci-dessus + un gros switch me permettant d'inclure un fichier contenant le contenu central désiré (donc en gros 1 fichier index.php, et 75 fichiers qui seront appelés par index.php, si besoin est)
    On aura donc des liens de ce genre : index.php?op=album&sop=consultation pour appeler la page "consultation d'un album". Mon soucis est que pour un site de 75 page, en gros mon switch gère au total 75 cas différents (logique). De plus, mes keywords sont communs à toutes les pages (ou sinon il faudrait refaire un switch avec 75 cas, qui définirait les keywords pour chaque cas).

    - soit pour 75 pages, je crée 75 fichiers, avec pour chaque fichier les include des éléments communs à chaque page, et le contenu unique de la page. Là au moins, plus de gros switch, des keyword bien spécifiques, mais par contre si un jour je veux rajouter un élément (par exemple une barre de recherche) qui se répète à toutes les pages, j'ai plus qu'à rajouter l'include sur mes 75 pages... Idem si je veux modifier le DOCTYPE, par exemple...

    Mes questions :
    1/ Existe-t'il d'autres moyen de gérer ces éléments répétitifs?
    2/ Quel est le meilleur moyen pour gérer ce genre de site, en termes de maintenance, de propreté du code, de référencement, d'optimisation?

    Merci d'avance...

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    salut perso j'utilise un système d'include infinis, le code vaut mieu que des grand discours:

    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
    <?php
    if(!empty($_GET['page']))
    {
       if(file_exists('includes/' . $_GET['page'] . '.php') AND !preg_match("/(\.|config|inc)/iU", $_GET['page']))
       {
          // On inclue la page, et si le fichier existe le .inc qui va avec
       }
       else
       {
          // On inclue la page par défaut
       }
    }
    else
    {
       // Inclusion de la page par défaut
    }
    ?>
    Ensuite dans la page index je met ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    define('IN_INDEX', TRUE);
    ?>
    puis dans les pages a inclure cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
       if(!defined('IN_INDEX'))
       {
          exit('<p style="color:red;font-weight:bold;text-align:center;">Vous ne pouvez pas ouvrir ce fichier.</p>');
       }
    ?>
    Avec ce système la c'est ultra simple tu a une seul page ou le design est fait .

    Pour inclure la page tu met le nom dans tes liens comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=nom_page">Lien</a>
    Ensuite le code du dessus va voir si la page existe et que ce n'est pas une page avec les extension config ou inc.

    Donc pour résumer ceci va te simplifier la vie

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    hello,

    tu devrais peut-etre te pencher sur les systemes de template.
    ce qui va sans doute vouloir dire énormément de modifications de ton code déja existant, voir une reprise quasiment à zero, mais le jeu en vaut peut-etre la chandelle
    Pourfendeur de singletons en croisade

  4. #4
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Points : 73
    Points
    73
    Par défaut
    @mannia:

    Sur le principe, c'est vrai que ça peut être intéressant, et plus simple à utiliser :p . Bon, il faudrait que j'adapte ta méthode, car je n'ai pas de répertoire "includes", mais des tas de répertoire par genres.
    Par exemple, j'ai un répertoire "musique", avec un fichier "index.php", "catalogue.php", "article.php" etc + un autre répertoire "admin" contenant les fichiers pour administrer cette rebrique (par exemple "index.php", "ajout.php", "modif.php" etc. Ensuite c'est pareil pour les autres répertoires comme "films" etc....

    Mais bon, c'est jouable dans le sens où j'utilise 2 variables "op" et "sop". Souvent la 1e variable me sert à savoir le répertoire, et le 2e est + ou - le nom du fichier (l'action à effectuer exactement).

  5. #5
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Petibidon
    hello,

    tu devrais peut-etre te pencher sur les systemes de template.
    ce qui va sans doute vouloir dire énormément de modifications de ton code déja existant, voir une reprise quasiment à zero, mais le jeu en vaut peut-etre la chandelle
    Non, je ne pense pas : en effet, à quoi sert un template? Normalement, c'est à différencier le code php du code html, afin de rendre le code plus clair. Cependant, si tu prends un moteur de template, ça t'allourdit ton site, et ce moteur étant souvent écrit en php, tu utilise finalement le php pour séparer le php de l'html, ce qui n'a aucun intérêt.

    J'ai aussi regardé xslt, mais là encore, pour utiliser le php c'est la mort. Commencer à passer les variables au format xml, pour ensuite pouvoir les rendre exploitable par xslt, c'est pas top.

    Ce que je vais essayer de faire, par contre, c'est de passer l'ensemble du site en php5, pour créer des objets avec des fonctions, et insérer ces objets dans des fichiers php à part que j'incluerais. Comme ça, mon code de ma page sera principalement du html, avec des appels de fonctions php (et des include en début de page). C'est très propre, facile à maintenir, et sans avoir à utiliser les templates (qui nécessite d'apprendre à l'utiliser, d'apprendre les fonctions à utiliser, de remodifier la logique du code en profondeur etc).
    L'avantage de cette méthode est que ça m'oblige à créer des classes qui pourront me re-servir, et de plus ça différencie bien le php et l'html. Je n'aurais plus 50 lignes de code php avec des echo un peu partout dedans. Juste une fonction, dont le retour sera le texte à afficher, par exemple, ou qui ne renverra rien et qui s'occupera seul de faire un echo (mais un seul) avec la réponse.

    En tous cas merci de vos réponses

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

Discussions similaires

  1. comment rafraichir une page pour voir l'image
    Par jonathan.ohayon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/05/2006, 22h57
  2. [PHP-JS] Comment rafraîchir ma page ????
    Par sansouna24 dans le forum Langage
    Réponses: 12
    Dernier message: 20/05/2006, 17h16
  3. [Conception] - Organisation des pages pour une requete.
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/10/2005, 15h33
  4. [IMPORTANT!] Comment organiser ses recherches
    Par Emmanuel Lecoester dans le forum Firebird
    Réponses: 0
    Dernier message: 29/07/2005, 13h47
  5. [Debutant(e)][eclipse] Comment organiser ses projets ?
    Par Javanaute dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 09/04/2004, 10h07

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