8795 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je vais essayer de m'exprimer le plus clairement possible... :

Je souhaiterais développer un site web, et y inclure un menu fait en CSS.
Ce menu devrait être identique sur toutes les pages. Tout le monde pense déjà au "include" de PHP. qui est fort pratique. (ou alors, répéter le menu, sur toutes les pages, mais c'est vraiment ridicule - personnellement...).

Mais voilà, si j'utilise le include, mes documents devraient tous avoir l'extension .php . Soit, on s'en fout, mais je me pose une autre question, plus importante :

J'ai deux solutions :

1) mettre mes pages en php et y inclure mon petit bout de code du menu en html et dans le header ma référence vers le fichier css. Chaque lien du menu pointe vers une autre page qui contient le meme petit include du fichier menu.

2) Ben, la seconde solution, que j'ai déjà utilisée pour un autre site, mais que je n'aime pas du tout, car je pense que ça fait de gros problèmes de référencement : Ma page principale (index.php) contient le menu, et chaque lien du menu pointe vers le index.php, mais avec un ?$page=AAA
(Je n'inclus plus le menu, mais le contenu dans la page d'index....)

3 ?) existerait-t-il une autre solution au include ?.....

Qu'en pensez-vous, quelle solution serait la meilleure???

==> Après lecture dans les tutos, je me suis rendu compte, que les deux options sont présentées sur alsacreations : http://css.alsacreations.com/search.php?q=include&s=OK

Merci beaucoup pour votre aide, en espérant que tout le monde ait compris....

oneil...
Modifié par oneil (29 Aug 2005 - 09:19)
Tes extensions peuvent être n'importe quoi mais avec php ça a l'avantage de réduire les soucis...

On parle souvent de .inc (pour include) mais en regardant dans le répertoire, on peut ouvrir un .inc, ce qui n'est pas el cas d'un point php qui sera interprèté (si j'ai bien tout compris)...

Imagine maintenant que ton .inc contiennent en clair nom utilisateur et mots de passe pour ouvrir ta base de données...

Il faut jouer sur le httaccess pour limiter ce risque... Ou uiliser une extension php...

Pour le reste, j'ai du mal à comprendre...
J'utilise la version 1, avec bonheur (si, si, il est là à côté de moi) ce qui me permet entre autres de possèder plusieurs menus en fonction du niveau d'arborescence dans le site (pour mes sites arborés, toujours plus plaisant pour se protéger du soleil...)

Quand au référencement, le robot va demander à générer toutes les pages possibles qu'il lira en HTML (et pas en PHP) donc pas de niveau d'accessibilité aux robots...

Pour te donner un exemple, j'ai généré mes pages PHP en HTML avec Memoweb, depuis ma base locale,l et je teste la validation HTML en local avec mon éditeur de textes...

Memoweb m'a généré chaque page différente (les membres des différentes saisons par exemple) mais aussi plusieurs fois la même page (appelé par des liens différents dans le site, je comprends pas trop là mais j'ai une vieille version ça vient peut-être de là) et toutes les pages des mise à jour (ça je m'en serais bien passé, j'en ai des centaines, une par type de maj aurait suffit mais les robots n'y ont pas accès eux, car ce n'est pas en ligne)





C'est vrai ça, on ne pense pas assez à l'accessibilité des robots Smiley biggol
La solution la meilleure, de mon point de vue, est d'inclure la fonction de génération de menu dans chaque page, et cette fonction peut être conditionnelle, ce qui présente pas mal d'avantages.

En effet si ton site contient différents niveaux de rubriques tu ne souhaiteras pas déployer l'ensemble des menus sur la page d'index, mais seulement les rubriques principales.

Ensuite lorsque tu te trouves dans une rubrique tu devras déployer uniquement le sous menu valable pour cette rubrique.

Cela peut donc s'obtenir par un script conditionnel basé sur "REQUEST_URI" qui affiche une variable qui est en fait l'adresse de la page demandée : tu peux donc afficher facilement sur chaque page le menu exact qui lui correspond et éviter la multiplication des liens superflus.

Cela peut s'interfacer aussi bien avec css qu'avec javascript (menus déroulants).