Comment faire un menu qui se reproduit sur toutes les pages?

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Do-IT a écrit :
Kaze a écrit :La seule difficulté du PHP, ce n'est pas la syntaxe... c'est surtout le fait que ça fonctionne coté serveur : ça nécessite un serveur web type Apache pour faire la prévisualisation de sa page. Peut-être faudrait-il intégrer un mini-serveur PHP dans Nvu ou HandCoder (ainsi que Do-IT l'avait suggéré il y a quelque temps) ?
Oui encore une idée à Maurice.
Php en interne a nvu ou en externe, comme tidy. C'est juste un interpreteur de commande. C'est pas un serveur !
C'est apache le serveur, mais j'en voie pas l'utilité en local. :twisted:
Utiliser PHP sans serveur Web, ça devient vite problématique.

Effectivement, ça permettrait de prévisualiser la page courante dans le navigateur (à condition que le include utilise une adresse relative) : on clique sur "Navigateur", HandCoder envoie la page à l'interpréteur PHP, celui-ci renvoie un fichier temporaire, que l'on envoie au navigateur. Ca serait plus simple avec les pipes (|) mais je ne crois pas que Windaube dispose d'un équivalent...

Par contre, après avoir visualisé la première page, tous les liens vers les autres pages en PHP ne fonctionneraient pas dans le navigateur. Ca deviendrait vite pénible pour tester son site !

Alternative #1 : HandCoder pourrait remplacer, dans Nvu, tous les <?php include('menu.php') ?> par le contenu de 'menu.php', et faire en sorte que ce contenu ne soit pas éditable.
  • Avantage : on voit ce qu'on fait directement dans Nvu, et on n'a pas besoin d'embarquer d'interpréteur PHP.
  • Inconvénient : toujours les mêmes problèmes de prévisualisation tant qu'on n'a pas de serveur web.
Alternative #2 : NsmConText pourrait inclure des fonctionnalités pour paramétrer automatiquement le serveur web local. Il n'y aurait qu'à installer EasyPHP pour Windaube (sous Linux, Apache et PHP sont quasi systématiquement installés), le gestionnaire de site s'occuperait du paramétrage.
  • Avantage : on dispose d'un vrai serveur web, et on peut installer les extensions PHP les plus tordues.
  • Inconvénient : il faut faire tourner Apache en tâche de fond.
Alternative #3 : faire une extension Firefox, pour envoyer la page courante à un interpréteur PHP avant de l'afficher.
  • Avantage : la prévisualisation fonctionnerait normalement, sans rien de spécial à faire coté Nvu.
  • Inconvénient : plus compliqué pour tester son site sous IE ou Safari... et beaucoup de questions de sécurité.
Pas si simple ! :roll:
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Alternative #4 : Faciliter le travail à distance .

Si moi j'ai pas d'apache en local je voie pas pourquoi on imposerai ca à un debutant !
Afficher les include, comme pour l'affichage #BeginDate, c'est peut-etre LA solution. Ca evite de devoir interpreter php en local.
Pour apache il vaut mieux facilité l'affichage sur le serveur distant (=> Synchro :( ou Enregistrement simultané :D ) ?
Par contre, après avoir visualisé la première page, tous les liens vers les autres pages en PHP ne fonctionneraient pas dans le navigateur. Ca deviendrait vite pénible pour tester son site !
C'est de la previsualisation d'une seule page ! Pour visualiser le site il vaut mieux le faire sur le serveur final ? (La configuration apache n'est pas la meme chez chaque hebergeur, exemple: safe mode on/off; en local c'est encore pire)

On peut pas inclure Apache a nvu en dll ? Non je deconne :twisted: Apache en local je crois que ca pose plus de probleme que ca n'en resoud (pour le debutant) ?! Moi evidement je sais installé ca mais je travaille uniquement a distance !

Et a ceux qui vont me dire que sur internet c'est public => un htaccess à la racine et c'est réglé !
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Pour recoller au sujet, toutes ces alternatives supposent évidemment que l'hébergeur dispose du PHP ; sinon, il n'y a que la solution des "vrais" modèles qui serait valable.
Do-IT a écrit :Alternative #4 : Faciliter le travail à distance .
Si moi j'ai pas d'apache en local je voie pas pourquoi on imposerai ca à un debutant !
Afficher les include, comme pour l'affichage #BeginDate, c'est peut-etre LA solution. Ca evite de devoir interpreter php en local.
Pour apache il vaut mieux facilité l'affichage sur le serveur distant (=> Synchro :( ou Enregistrement simultané :D ) ?
On va attendre les versions 0.4.x de NsmConText alors ;)
Je regarderai peut-être bien cette histoire de prévisualisation des include dans la fenêtre d'édition de Nvu pour HandCoder. Ca pourrait être très didactique.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
galad
Lézard à collerette
Messages : 346
Inscription : 19 déc. 2005, 12:23

Message par galad »

calimo a écrit : Je rappel qu'une exigence de niveau 1 (importance maximale) des directives d'accessibilité du W3C est que les pages soient accessibles même si les scripts sont désactivés :wink:
calimo a écrit :Mais un accès non garanti à tous…
Une petite intro sur les enjeux de l'accessibilité : http://www.la-grange.net/accessibilite/ ... tents.html (elle date et techniquement parlant ce n'est pas terrible, mais ça permet de se faire une idée de la problématique)
Je continue sur l'accessibilité au web pour les personnes handicapées. Voici 92 critères à prendre en compte :
http://www.accessiweb.org/fr/Label_Acce ... _lineaire/

De quoi s'arracher les cheveux pour qui veut bien faire !

Ce qui serait bien (mais est-ce possible ?) serait d'avoir des messages d'erreur quand une page a des défauts par rapport à ces critères comme le valideur W3C.
Galad, avec kpz 0.8b1 ...
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
Si je ne m'abuse, c'est disponible dans NVU.
Pour ma part, j'ai installé l'extension "Web Developer" sur mon FF. Plein, plein, plein d'outils IN-DIS-PEN-SA-BLES. Dont toutes sortes de validations.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
galad
Lézard à collerette
Messages : 346
Inscription : 19 déc. 2005, 12:23

Message par galad »

Oui, le W3C c'est déjà bien ... mais je lis qu'il ne faut pas faire plusieurs liens identiques (comme les miens "en savoir plus >>" ), faire attention aux contrastes des couleurs, mettre des "alt" et "title" cohérents, mettre des titres explicites aux colonnes des tableaux, faire un plan du site, etc ...
Galad, avec kpz 0.8b1 ...
Pipo Crusoe
Arias
Messages : 11
Inscription : 09 mars 2006, 12:09

Message par Pipo Crusoe »

Bonjour, je me demandais si dans la création d'un menu qui se répète toutes le pages, il faut inclure les descriptions de style CSS dans "menu.inc.php" ou bien s'il faut les laisser dans les différentes pages du site. J'ai créé un menu dynamique qui utilise une feuille CSS (merci alsacreations) et maintenant je voudrais que ce menu se répète sur toutes mes pages, mais je ne sais pas très bien comment je dois m'y prendre. Merci pour votre aide.
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

les feuilles css doivent être sur les pages du site: elles sont déclarées dans l'entête précédant le "body".
l'"include" du menu est dans le corps de la page html: c'est du contenu, pas de la mise en forme!
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

galad a écrit : De quoi s'arracher les cheveux pour qui veut bien faire !
Encore quelques arrachages en vue: http://www.ocawa.com/
Pfffttt... Rien que 54 remarques sur ma première page.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
ithaque
Salamandre
Messages : 36
Inscription : 27 janv. 2005, 16:15

Message par ithaque »

bon moi j'essaye de suivre le tuto de Ymai
j'en suis au début :

Préparer la page qui va contenir le menu et rien que le menu.
- Fichier > Nouveau
- Enregistrer la page vierge sous le nom "menu.inc.php"
- Fermer cette page sans y avoir rien apporté.

- Dans le gestionnaire de sites, faire un clic droit sur le nom du fichier "menu.inc.php" et l'ouvrir sous Notepad ou Context (par exemple) : merci NsmContext
- Dans l'éditeur choisi, coller le fragment de code correspondant au menu.
- changer tous les .html en .php
Le menu devient donc
Code:
<ul>
<li><a href="page1.php">item1</a></li>
<li><a href="page2.php">item2</a></li>
<li><a href="page3.php">item3</a></li>
<li><a href="page4.php">item4</a></li>
</ul>

- enregistrer et fermer l'éditeur externe.

dans le fichier qui contiendra rien que le menu, j'ai créé un nouveau doc sous NVu et enregistré/fermé sans rien faire.
ensuite, pour coller le code via l'éditeur externe, on le colle où ?
car j'ai çà moi :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>menu</title>
</head>
<body>
<br>
</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
je suis un novice sur NVu, alors n'hésitez pas à détailler vos explications....
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

il suffit que tu colles ton code à la place de <br> qui se trouve entre <body> et </body> (i.e. dans le corps de ta page :body-> corps :wink: )
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
cpounette

merci super ton tuto

Message par cpounette »

Merci, ton tuto me facilite la vie!

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

chinon37 a écrit :il suffit que tu colles ton code à la place de <br> qui se trouve entre <body> et </body> (i.e. dans le corps de ta page :body-> corps :wink: )
Ouuuuupsssss....
Il est vrai qu'en relisant, je ne trouve plus tout cela d'une limpidité aveuglante.
Il me semble que la page qui doit contenir le menu, tout le menu et rien que le menu... ne doit rien contenir d'autre que le menu.
Donc, tout le code qui n'a rien à voir avec le menu doit être supprimé.
Il nous restera donc un fichier nommé "menu.inc.php" qui contient uniquement le code suivant:

Code : Tout sélectionner

<ul>
<li><a href="page1.php">item1</a></li>
<li><a href="page2.php">item2</a></li>
<li><a href="page3.php">item3</a></li>
<li><a href="page4.php">item4</a></li>
</ul> 
Tout le reste doit être impitoyablement effacé.

Il va falloir clarifier tout cela.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

en ce moment, je raconte pas mal de c********. Et c'était le cas le 03/04 aussi.
J'avais répondu en dehors du titre du sujet :oops: :oops: Mea culpa, errare humanum est , badabum, badabum....

donc, 2 mois plus tard:
tu as nommé ton menu menu.xxx dans l'éditeur externe dans le même dossier que ta page php
donc, à la place de ton <br>, tu entres simplement:

Code : Tout sélectionner

<?php include("menu.xxx");?>
avec nvu, tu peux mettre ton curseur là où tu souhaites mettre ton menu, puis:
insertion -> code php ->

Code : Tout sélectionner

include("menu.xxx")
tout simplement
une icone jaune php apparaîtra à la place de ton menu.
Attention, en local, tu ne verras apparaître ce menu que si tu installe une base de données. Easyphp fait très bien l'affaire.
Sinon, tu mets tes fichiers en ligne après avoir activer le php chez ton hébergeur.

< :oops: > Désolé Ymai de t'avoir fait bondir: tu as droit à une dégustation gratuite de???</ :oops: >
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

chinon37 a écrit :< :oops: > Désolé Ymai de t'avoir fait bondir: tu as droit à une dégustation gratuite de???</ :oops: >
Moi, j'aime bien quand tu racontes des c*******
Un cht'it Bourgueil, à peine frais?
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é