Bonjour,

J'ai un site en html et CSS.
Toutes les pages de mon site sont réalisées avec une mise en page unique CSS et j'ai comme menu en partie haute une ligne de tableau (horizontale) avec tous les liens nécessaires à l'accès aux différentes rubriques.
Le problème est que lorsque je veux changer quelque chose de ce menu il faut que je modifie toutes les pages de mon site une à une. Et plus il grossit, et plus cela devient long et fastidieux Smiley decu .
Est il possible par exemple de faire une page (ou un fichier) avec ce menu et de faire qu’il s’affiche dans toutes les autres pages du site par un appel à cette page (ou fichier).

Cela me permettrait de faire la modif à un seul endroit et que cela s’applique partout.

En vous remerciant par avance de votre aide.
Modifié par phildiver (09 Sep 2009 - 23:28)
Oui j'ai bien pensé à la fonction include en php mais j'ai cru comprendre qu'il fallait appeler chaque pages en .php pour que include fonctionne, non?
Le php je ne connais pas trop ! et si possible j'aimerai éviter...

n'y a-t-il pas un moyen simple
-en CSS ?
-ou en .js ?

Merci d'avance.
phildiver a écrit :
j'ai cru comprendre qu'il fallait appeler chaque pages en .php pour que include fonctionne, non?

C'est le cas. Mais PHP est un langage qui, par défaut, va retourner tout le contenu non encadré par les marqueurs <?php et ?> comme un contenu texte. Tout serveur web qui comprend PHP (la plupart) va par ailleurs envoyer ta page .php en la déclarant comme une page HTML.

Concrètement, si tu prends une page HTML et que tu changes l'extension en .php, tout marche comme avant. Et, dans cette page renommée, tu peux placer une fonction PHP à l'aide des marqueurs évoqués au paragraphe précédent.

Je t'invite à lire ce tutoriel: Inclure un fichier dans un autre grâce à PHP.

phildiver a écrit :
n'y a-t-il pas un moyen simple5/quote]
PHP.

[quote=phildiver]-en CSS ?

Non. Les CSS s'occupent de la mise en forme, pas de modifier le contenu.

phildiver a écrit :
-ou en .js ?

Il y a un moyen, mais il n'est pas simple, et il pose un certain nombre de problèmes (1: l'utilisateur sans JavaScript n'aura pas le contenu inséré en JS; 2: les moteurs de recherche non plus).
Modifié par Florent V. (10 Sep 2009 - 08:26)
Bonjour Florent,

Un grand merci pour ta réponse très claire.

je vais donc suivre tes conseils et faire mes débuts en php malgré mes premières réticences Smiley cligne ...

Une dernière question si tu veux bien : CSS et PHP sont-ils complétement compatibles ?
En fait je veux simplement savoir si quand je change mes extensions de .htm en .php si je ne risque pas de perdre des mises en page ?

Merci encore

Philippe
Modifié par phildiver (10 Sep 2009 - 18:09)
phildiver a écrit :
Une dernière question si tu veux bien : CSS et PHP sont-ils complétement compatibles ?

Ils n'interagissent en aucune manière. Donc euh oui, je suppose qu'ils sont «compatibles».

Il faut bien comprendre que PHP est un langage qui permet de générer du texte (ou d'autres formats, mais à 99% le contenu produit sera du texte). Par exemple, je peux utiliser PHP pour générer une feuille de styles CSS:
<?php
  // Couleurs de la charte graphique
  $couleur1 = "#095480";
  $couleur2 = "#FF8850";
  ...
  $couleur5 = "#FFE8B4";
?>

body {
  color: <?php echo($couleur1); ?>;
  background: <?php echo($couleur5); ?>;
}

Mettons que le code ci-dessus est celui d'un fichier nommé styles.php. Le navigateur demande ce fichier au serveur. Le serveur sait qu'il s'agit d'un fichier PHP grâce à l'extension .php. Il va utiliser PHP (un logiciel, pour faire simple) pour analyser le code et appliquer les fonctions utilisées. On obtient le résultat suivant:
body {
  color: #095480;
  background: #FFE8B4;
}

Je simplifie un peu le mécanisme, mais dans les grandes lignes c'est ça. Ce qu'il faut comprendre, c'est que seul le serveur web voient le code PHP. Le navigateur de l'utilisateur ne voit pas ce code, il ne voit que le résultat.

En général, on utilise PHP pour générer des fichiers HTML. Par défaut, le résultat d'un fichier .php sera considéré comme une page HTML (dans notre exemple ci-dessus, comme nous générons une feuille de styles CSS, il aurait fallu utiliser une fonction de PHP pour déclarer que notre résultat est du CSS et pas du HTML... mais passons).

Donc le navigateur reçoit du HTML et du CSS, jamais du PHP.

Une note pour finir: quand tu travailles avec ton fichier .php sur ton disque dur, tu ne peux pas juste l'ouvrir directement dans ton navigateur. Si tu fais ça, le code PHP ne sera pas analysé, et dans ce cas ça pose effectivement problème. Il faut travailler avec un logiciel que l'on appelle un serveur web (oui, comme la machine...). Quand tu mets tes fichiers en ligne sur ton hébergement, et que tu consultes tes pages, tes fichiers passent déjà par ce logiciel (le serveur web), qui utilisera PHP si besoin.

Suivre quelques tutoriels pour débutants sur PHP peut être un bon moyen de se familiariser avec ce langage et la manière dont ça fonctionne. Smiley smile
Modifié par Florent V. (10 Sep 2009 - 21:31)
phildiver a écrit :


je vais donc suivre tes conseils et faire mes débuts en php malgré mes premières réticences Smiley cligne ...


Juste pour te rassurer, tu n'as pas à avoir de réticence Smiley cligne
Utiliser le PHP pour faire des includes est très simple, tu n'auras que quelques lignes à mettre.

Une fois que tu auras compris le principe et que tu auras installé cela tu pourras gérer plus facilement ton site Smiley smile
Modifié par Fabious (10 Sep 2009 - 21:45)
Encore un grand merci pour ta réponse très claire.

je viens de faire un essai et effectivement ça fonctionne bien !
par contre je ne peux voir le résultat que lorsque j'upload mes pages sur le serveur distant car comme tu me l'as dit en local sans "émulateur" php point de salut.

Du coup j'ai trouvé EasyPHP et je vais essayer de voir comment ça marche avant de tout changer sur mon site. Parceque je te dis pas le boulot il faut que je change les extentions de .html en .php et par conséquent tous les liens internes de mes pages, et le tout, sans en oublier Smiley bawling

En gros il faut donc que je duplique mon site en PHP, et que je vérifie que tout fonctionne avant d'uploader ! Je crois que je vais prendre le temps de faire tout cela tranquillement pour ne pas faire de bétise Smiley cligne

En tous les cas grand merci à toi pour tes précieux conseils

Philippe
Bonjour Fabious et merci pour tes encouragements.

C'est décidé, je suis convaincu, je me met au php Smiley murf

y'a du boulot Smiley rolleyes

Les nuits vont encore être courtes

Merci à tous.