Bonjour à tous !
Je ne suis pas vraiment nouveau dans la création de site web, mais à chaque fois que j'en recommence un, j'ai l'impression de tout reprendre à zéro ! Nouveaux standards, nouveaux langages.. bref
J'utilise quasi systématiquement le langage php, et le html/CSS pour la mise en page.
Jusqu'à présent, l'architecture de mes sites était sur le principe suivant :
- un dossier "include" qui contient les fichiers de config (connexion mysql par exemple) ou fonctions.php, fonctions.js, etc..
- un dossier "images" (+ sous dossier pour chaque page, par exemples "accueil" "contact")
- un dossier par rubrique (accueil, contact, etc..) contenant les pages de contenu des sous rubrique (par exemple contact/localisation.php; contact/formulaireEmail.php)
- des fichiers principaux "contact.php", "accueil.php", etc..
- un fichier principal index.php qui contient le code de la mise en page commune à tout le site, et une fonction d'inclusion des pages sélectionnées en fonction des liens :
index.php?p=contact va afficher index.php en incluant contact.php
index.php?p=contact&rub=localisation va afficher index.php en incluant contact.php, lui même incluant contact/localisation.php
Or, depuis peu que je m’intéresse au référencement, je comprend qu'il est préférable d'avoir des adresses explicites, du type www.monsite.com/contact/localisation.php.
Je remarque également que la plupart des gros sites (dont alsacréations) ont des adresses de ce type:
http://www.alsacreations.com/tuto/lire/1213-microformats-introduction.html
et
http://www.alsacreations.com/web
affichent pourtant bien le même "template", le même design. Et je pense bien que si l'auteur souhaite modifier le bouton "PROFIL" par "PROFILS", il ne va pas s'amuser à modifier toutes les pages du site.. le design est donc centralisé quelque part.
J'ai donc pensé à m'organiser autrement, à savoir :
- chaque page *.php aurait la structure suivante :
informations propres à la page (titres, meta, etc..)
include("include/header.php");
contenu propre à la page
include("include/footer.php");
- deux fichiers "header.php" et "footer.php" qui contiennent tout les informations du template "avant" et "après" le contenu.
Le problème qui se pose, concerne les liens vers les images, vers la feuille de style CSS, etc..
Si par exemple j'ouvre le lien www.monsite.com/contact/localisation/trouvezmoi.php
et que celui-ci fait appel aux header et footer, le lien indiqué dans header.php vers la feuille de style CSS sera faux !
Avant de ma lancer à corps perdu dans une bidouille abracadabrantesque, j'aimerai savoir s'il existe une arborescence/architecture type pour un site web dynamique ?
J'ai entendu parler de structure MVC, mais ça me semble un poil complexe, et peut être pas forcement adapté à un "petit" site ? (je n'ai pas encore approfondi cette piste).
D'avance, un grand merci d'avoir lu, déjà , et pour tous vos conseils !
jb
Modifié par niquedouille (15 Oct 2011 - 22:23)
Je ne suis pas vraiment nouveau dans la création de site web, mais à chaque fois que j'en recommence un, j'ai l'impression de tout reprendre à zéro ! Nouveaux standards, nouveaux langages.. bref
J'utilise quasi systématiquement le langage php, et le html/CSS pour la mise en page.
Jusqu'à présent, l'architecture de mes sites était sur le principe suivant :
- un dossier "include" qui contient les fichiers de config (connexion mysql par exemple) ou fonctions.php, fonctions.js, etc..
- un dossier "images" (+ sous dossier pour chaque page, par exemples "accueil" "contact")
- un dossier par rubrique (accueil, contact, etc..) contenant les pages de contenu des sous rubrique (par exemple contact/localisation.php; contact/formulaireEmail.php)
- des fichiers principaux "contact.php", "accueil.php", etc..
- un fichier principal index.php qui contient le code de la mise en page commune à tout le site, et une fonction d'inclusion des pages sélectionnées en fonction des liens :
index.php?p=contact va afficher index.php en incluant contact.php
index.php?p=contact&rub=localisation va afficher index.php en incluant contact.php, lui même incluant contact/localisation.php
Or, depuis peu que je m’intéresse au référencement, je comprend qu'il est préférable d'avoir des adresses explicites, du type www.monsite.com/contact/localisation.php.
Je remarque également que la plupart des gros sites (dont alsacréations) ont des adresses de ce type:
http://www.alsacreations.com/tuto/lire/1213-microformats-introduction.html
et
http://www.alsacreations.com/web
affichent pourtant bien le même "template", le même design. Et je pense bien que si l'auteur souhaite modifier le bouton "PROFIL" par "PROFILS", il ne va pas s'amuser à modifier toutes les pages du site.. le design est donc centralisé quelque part.
J'ai donc pensé à m'organiser autrement, à savoir :
- chaque page *.php aurait la structure suivante :
informations propres à la page (titres, meta, etc..)
include("include/header.php");
contenu propre à la page
include("include/footer.php");
- deux fichiers "header.php" et "footer.php" qui contiennent tout les informations du template "avant" et "après" le contenu.
Le problème qui se pose, concerne les liens vers les images, vers la feuille de style CSS, etc..
Si par exemple j'ouvre le lien www.monsite.com/contact/localisation/trouvezmoi.php
et que celui-ci fait appel aux header et footer, le lien indiqué dans header.php vers la feuille de style CSS sera faux !
Avant de ma lancer à corps perdu dans une bidouille abracadabrantesque, j'aimerai savoir s'il existe une arborescence/architecture type pour un site web dynamique ?
J'ai entendu parler de structure MVC, mais ça me semble un poil complexe, et peut être pas forcement adapté à un "petit" site ? (je n'ai pas encore approfondi cette piste).
D'avance, un grand merci d'avoir lu, déjà , et pour tous vos conseils !
jb
Modifié par niquedouille (15 Oct 2011 - 22:23)