28220 sujets

CSS et mise en forme, CSS3

Bonjour tout le monde. Smiley smile

J'ai décidé de me mettre au CSS parceque on lit partout que ça offre beaucoup plus de possibilités que les frames.

Partons sur l'exemple d'un menu de navigation qui doit être le même sur toutes les pages d'un site. Le CSS me permet de le mettre en forme et de le positionner où je le veux. Mais le contenu (les liens et la légende) est toujours dans chaque page HTML.
Donc si je comprends bien, pour changer le contenu du menu il faut le faire individuellemnt pour chaque page.

Est-ce bien cela ?

Franz.
Administrateur
Franz a écrit :
Donc si je comprends bien, pour changer le contenu du menu il faut le faire individuellemnt pour chaque page.

Hello Franz et bienvenue parmi nous Smiley smile

En effet, les CSS ne sont pas fait pour s'occuper du contenu, mais uniquement de la mise en forme.
Le contenu (document HTML) peut être créé de façon statique (en copiant-collant sur chaque page), ou dynamique (en incluant ce menu - sous forme de fichier séparé - dans chaque page).

Cette deuxième possibilité nécessite un langage de programmation serveur comme le PHP, comme l'explique ce tutoriel.

Bonne chance Smiley cligne
Merci pour ta réponse.

Tu as donc confirmé ce que je pensais. Cela me parait tout de même bizarre Smiley confus . Par exemple sur http://www.ubuntulinux.org/ le contenu du menu est bien inclu dans le code HTML (donc de façon statique). Pourtant ça m'étonnerait que quelqun s'amuse à modifier chaque page manuellement à chaque fois qu'il y a un changement (comme des nouvelles).

Comment font-ils?

Franz.
Ce que tu cherches à "définir" c'est le principe des pages dynamiques.

Ce sont des pages HTML normales (identiques à celui des pages statiques, qui apellent des feuilles css aussi si nécessaire), mais dont le code html est généré côté serveur par PHP, ASP, ou coldfusion par exemple.

Je te conseilles de lire cet article, et tu comprendra mieux tout ça ensuite Smiley smile

http://css.alsacreations.com/Tutoriels-PHP/PHP
D'accord, merci, j'ai enfin compris Smiley biggrin

Mais est-ce que les langages de programmation serveur sont la seule solution pour insérer le contenu d'un menu dans une page HTML?
Après tout je ne cherche pas à faire quelque chose de bien difficile. Je voudrais seulement éviter de devoir éditer manuellement mes pages pour modifier le menu.

En tout cas j'en conclus que le CSS tout seul ne peut pas complètement remplacer les frames.

Franz.
Pour ta conclusion:

c'est vrai dans l'absolu ce que tu dis, mais c'est faux dans le sens où les css ne sont pas destinées à remplacer les frames par exemple.

Il y a de très nombreux aspects aux frames, celui que tu évoques ici (insertion automatique de contenu) n'a pas lieu de se faire côté client (comme c'est le cas avec les frames) mais se fait côté serveur (cas des langages type php).

Jette un oeil dans les tuto à ce sujet Smiley smile

Pour répondre de façon pratique à ta question :

si tu utilise dreamweaver (ou d'autres, mais je ne connaît pas bien) tu peux utilliser ce qu'il apelle des "templates" , dans ce cas, c'est dreamweaver qui se chargera de tout ça.

Mais si tu as un site que tu fais "à la main" et que ton hébergeur propose php, nous pouvons très simplement te guider pour que tu puisses utiliser php dans ce but.

Ce n'est vraiment pas compliqué et c'est très utile.
J'utilise un éditeur HTML libre WYSIWYG du nom de "Nvu". Mais je travailles aussi partiellement avec le code source.
Les solutions automatiques où je ne comprends pas ce que je fais ne me plaisent pas.

Pour l'hébergeur, je suis chez "Free" qui propose le PHP Smiley smile

Tu dis donc que le PHP est très utile et pas trop difficile à apprendre. Bon je veux bien essayer. Je vais lire quelque tutoriels et si j'ai encore des questions je les poste ici Smiley biggrin
Impeccable Smiley smile

Tu peux directement aller dans les tutoriel et lire l'article parlant des includes en php.
Bonjour Smiley smile

Voilà, je me suis un peu documenté. Je ne sais toujours pas grand chose sur le PHP mais de toute façon (si je vous ai bien compris) la seule fontion qui m'est utile est
include()
Alors avant de me lancer dans mon projet, je voulais savoir si ce que j'ai compris est juste:

Je place mon menu dans un fichier menu.html (un menu tout fait mis en forme grâce au CSS).

Puis j'écris les différentes pages du site (en HTML) et j'ajoute le code suivant:
<div>
<?php
  include('menu.htm');
?>
</div>
Et là, vu que je me suis servi d'une fonction PHP, l'extension des pages ne doit plus être *.html mais *.php

Après avoir transféré le tout sur les serveurs Free, mon navigateur affichera des pages HTML que le serveur aura construit grâce à PHP. Pour modifier le menu de ces pages il me suffira d'éditer le fichier menu.html

Est-ce que ceci vous parait correct ?

Franz.
Il y a eu tellement de sujets que le mien s'est tout de suite retrouvé en bas Smiley cligne
Je le remonte juste pour avoir une réponse. Merci d'avance.

Franz.
Personne ne peut me dire si je peux commencer comme ça ? (Voir mon troisième post en partant de la fin).

Je ne voudrais vraiment pas commencer mon projet et me rendre compte par la suite que je suis parti sur la mauvaise voie Smiley lol
Saluton,
Disons que tu n'es pas trop mal parti.
Juste par souci de précision include n'est pas une fonction, mais une instruction, la syntaxe avec parenthèse induit en erreur, de ce point de vue,
il vaut mieux écrire :
<?php
include 'menu.htm';
?>