avoir un menu commun à toutes les pages web

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

avoir un menu commun à toutes les pages web

Message par ithaque »

Bonjour

Je voudrai faire un menu bien évidemment commun à toutes les pages de mon site.
mais je ne voudrai pas, si j'ai une modif à faire, apporter cette modif à toutes mes pages web.... ce serait fastidieux, et pas des plus passionnant.

Y a t il une possibilité pour que j'ai un fichier unique pour le menu qui sera alors utilisé pour toutes les pages du site ?
De cette manière, 1 seule modif dans ce fichier aurait effet sur toutes les pages...

merci

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Oui, avec php c'est possible :wink:

Tu fais un simple include("menu.php") sur toutes les pages et le tour est joué ;-)
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

du php ?

moi je travaille avec NVu, donc je crois que c'est juste du HTML non ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Pour compléter Calimo, en php si il n'y a pas de traitement à faire dans le fichier 'menu.php', un readfile('menu.php') est plus indiqué car plus léger.

Sinon si ton serveur supporte les SSI (Server Side Includes), tu peux arriver au même résultat avec un :

Code : Tout sélectionner

<!--#include virtual="/chemin/menu.htm" -->
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

ithaque a écrit :du php ?

moi je travaille avec NVu, donc je crois que c'est juste du HTML non ?
Non, Nvu peut intégrer un minimum de php pourvu que tu ne touches pas à l'arbre du document

Code : Tout sélectionner

<!doctype>
<html>
<head>
</head>
<body>
<?php
blablabla php pour inclure ton menu
?>
</body>
</html>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

et comment je fais mon "menu.php" ?
car je l'ai déjà fait sur NVu donc en HTML.... :?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

imaginons 2 fichiers dans un dossier, 'fichier.php' et 'menu.html'.

fichier.php :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php readfile('menu.html'); ?>

du contenu...
</body>
</html>
menu.html :

Code : Tout sélectionner

<h1>un titre</h1>
<p>et un paragraphe</p>
Mais il faut bien sur que ton serveur ait php d'installé.

Pendant que j'y suis, la même chose avec les SSI, si il sont installé sur le serveur :
fichier.shtml :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<!--#include virtual="/chemin/menu.htm" -->
du contenu...
</body>
</html>
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

l'autre jour, en cherchant sur la web, j'ai trouvé ce petit tuto :
http://c00lman.free.fr/menuparinclud.php

je vois qu'il ressemble bcp à ce que tu dis martin, mais c'est "inversé"....
1/ le menu, dans le tuto, est le fichier php (menu.php)
2/ et j'ai le code source <?php readfile('menu.php'); ?> dans le fichier html qui est ma page.

Or selon toi martin, le mnu est en html et le code ci dessus dans le fichier php....
C'est pour celà que moi çà ne marche pas?

NVu pourtant comprend bien la ligne de code car il apparait la balise "php"...

alors ? :?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le fichier menu.php ne dois pas être un fichier HTML. Uniquement la partie de contenu que tu veux rajouter :wink:
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

oui c'est ce que je fais
j'ai le menu commun à toutes mes pages que j'ai créé en html et ensuite modifié l'extension html -> php
et apres dans les différentes pages du site, j'utilise le code <?php include("menu.php"); ?> pour rappeler le menu
c'est bon non ?

qu'en penses tu du tuto ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

ithaque a écrit :oui c'est ce que je fais
j'ai le menu commun à toutes mes pages que j'ai créé en html et ensuite modifié l'extension html -> php
Je viens de dire que le fichier php ne dois pas être un fichier html.
ithaque a écrit :et apres dans les différentes pages du site, j'utilise le code <?php include("menu.php"); ?> pour rappeler le menu
c'est bon non ?
À ton avis ? :lol:
ithaque a écrit :qu'en penses tu du tuto ?
http://yansanmo.no-ip.org/ysm-validator ... includ.php
http://www.yoyodesign.org/doc/w3c/css2/cover.html
http://www.la-grange.net/accessibilite/ ... tents.html
:wink:
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

ithaque a écrit :l'autre jour, en cherchant sur la web, j'ai trouvé ce petit tuto :
http://c00lman.free.fr/menuparinclud.php

je vois qu'il ressemble bcp à ce que tu dis martin, mais c'est "inversé"....
1/ le menu, dans le tuto, est le fichier php (menu.php)
2/ et j'ai le code source <?php readfile('menu.php'); ?> dans le fichier html qui est ma page.

Or selon toi martin, le mnu est en html et le code ci dessus dans le fichier php....
C'est pour celà que moi çà ne marche pas?
Fais simple : mets les deux fichiers en .php comme ça pas de souci. L'important c'est que dans ton fichier menu tu n'ais que le menu et rien d'autre, c.a.d. supprime tout ce qu'il y a autour (<doctype>, <html>, <body>, etc...).

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

Je viens de dire que le fichier php ne dois pas être un fichier html.
donc tu veux dire qu'il ne faut pas créer un menu.html puis de modifier en menu.php !
j'avais pas compris, je croyais que c'était faisable... :?
je vais voir les tutos que vous me proposez :wink:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Mais as tu au moins essayé les 2 fichiers que je t'ai proposé ?

Commence par essayer, puis adapte à ton cas.

Quelque eclaircissements :

- il est bien evident qu'il faille que ton serveur ait php !
- si tu veux essayer en local (sur ton ordinateur), il te faut donc installer un serveur et php. Le plus simple est d'utiliser wampserver, ou easyphp, ou xampp.

- le fichier 'fichier.php' doit absolument avoir l'extension .php, sinon il ne sera pas traiter par php.
- par contre le fichier 'menu.html' peut s'appeler menu.php, menu.toto, menu.cequetuveux, menu. On s'en fout puisque on fait un readfile() dessus, cette fonction ne fait que transmettre tel quel le contenu du fichier lu.
- menu.html (ou menu.php) ne doit evidement pas contenir un fichier html complet (puisqu'il va être inclus dans un autre), mais seulement la partie du code html qui va être inclus.
- si dans ce menu tu souhaites également faire des traitements php, alors readfile n'est plus indiqué, il faut se servir de include() ou require().
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Essaie voir si ceci ne peut pas t'aider, puisque tu utilises NVU:
http://www.geckozone.org/forum/viewtopic.php?t=33000
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité