Construction header/corps/footer (? )

WRInaute discret
Hello :wink:
Je voudrais refaire le design de mon site (voir mon www). Le prob c'est que plus je me documente, moins je comprends... Mes pages sont en .htm
Actuellement, le code global du design de mon site est compris dans chacune de mes pages.
Ce que j'aimerais, c'est le "découper" pour faciliter la MAJ notamment :
- un header qui comprendrait le haut de ma page jusqu'au texte défilant + mon menu de navigation
- un corps pour le texte
- un footer qui commencerait à partir de ma ligne jaune comprenant un lien vers mon forum
Problème : je suis une bille en programmation (je débute)

Est-il possible de faire ce que je souhaite ? et si oui, comment :oops: ? Est ce que faire une include php pour mon header et mon footer sur chaque page "passera" sur des feuilles htm ?

Tous vos renseignements me seront utiles 8)

MErci :D
 
WRInaute occasionnel
Une fonction en php te permettra de faire ça très facilement.
c'est la fonction include.

Voilà comment ça fonctionne. Admettons que ta page soit index.htm.
Dedans, tu veux séparer en header, contenu, footer.

Alors tu coupes le code que tu veux mettre en header, et tu le colles dans un nouveau fichier header.php.

Et dans ta page index.htm, à la place du code enlevé, tu mets cette ligne (en admettant que index.htm et header.php soient tous deux à la racine du site) :
Code:
<?php include("header.php") ?>

Cette fonction va inclure le fichier header.php, à l'endroit où tu voudras.

Tu fais de même avec footer, et c'est bon.
En cherchant "pseudo frames" dans google tu devrais trouver plus d'informations sur ce sujet :wink:

Est ce que faire une include php pour mon header et mon footer sur chaque page "passera" sur des feuilles htm ?
La réponse est oui.
 
WRInaute discret
loufpad a dit:
Hello :wink:
Je voudrais refaire le design de mon site (voir mon www). Le prob c'est que plus je me documente, moins je comprends... Mes pages sont en .htm
Actuellement, le code global du design de mon site est compris dans chacune de mes pages.
Ce que j'aimerais, c'est le "découper" pour faciliter la MAJ notamment :
- un header qui comprendrait le haut de ma page jusqu'au texte défilant + mon menu de navigation
- un corps pour le texte
- un footer qui commencerait à partir de ma ligne jaune comprenant un lien vers mon forum
Problème : je suis une bille en programmation (je débute)

Est-il possible de faire ce que je souhaite ? et si oui, comment :oops: ? Est ce que faire une include php pour mon header et mon footer sur chaque page "passera" sur des feuilles htm ?

Tous vos renseignements me seront utiles 8)

MErci :D

les balises php ==> <? php ?> ce qui est le cas des includes sont faites pour marcher dans des pages à extension php et non html . voila voila !!
 
WRInaute discret
Merci notoon :wink: pour cette réponse rapide (et rassurante :lol: ).
J'ai quand mêrme une question :oops: . Est-ce-que la hauteur de mon header et de mon footer doit être définie ?
En gros, je me demande si la hauteur de ces fichiers doit être spécifiée ou si l'include permet de "coller" automatiquement le corps au header et le footer au corps ?
:wink:
Edit : 8O ... suite à ta réponse anaya, la fonction php ne passe pas dans une feuille htm ??? Notoon me dit le contraire...
 
WRInaute occasionnel
non pas besoin. Un include insère juste le code présent dans ta page à inclure (header.php par exemple).

Tu peux donc prendre n'importe quelle portion de code et l'inclure depuis un fichier sans problème.

suite à ta réponse anaya, la fonction php ne passe pas dans une feuille htm

C'est fait pour les pages php, mais nnormalement ça marche avec des pages html.
 
WRInaute accro
loufpad a dit:
Edit : 8O ... suite à ta réponse anaya, la fonction php ne passe pas dans une feuille htm ??? Notoon me dit le contraire...

En fait je crois que ça dépend de l'hébergeur. Mais normalement, l'interpréteur PHP n'interprète pas les extensions .htm
 
WRInaute discret
Oui j'y ai pensé...
Mais je vais perdre tout mon référencement :oops:
Quant à l'url rewriting, je n'y ai rien compris... :oops:
 
WRInaute occasionnel
hé hé :)

outre le forum consacré à l'url rewriting, je te conseille d'aller voir là :
-http://www.webmaster-hub.com/publication/article5.html

c'est très bien expliqué
 
WRInaute passionné
Oui, d'ailleurs il n'y aura que l'urlrewritting comme solution si tu ne peux pas toucher à la config du serveur pour qu'il interprète le code php dans les pages .htm
 
WRInaute impliqué
wasabi a dit:
En fait je crois que ça dépend de l'hébergeur.

Oui je crois que c'est exact. Le mieux est donc de renommer tes pages en .php :D

Il faut que ton hébergeur accepte ça dans le .htaccess
RewriteEngine on
RewriteRule ^compact/(.*)\.htm$ /compact/$1.php
Le mien n'en veut pas :(
Il y a aussi une autre instruction similaire pour le .htacess mais je ne la retrouve pas. Mon hébergeur n'en veut pas non plus, et cela se comprend car cela impose au serveur de parser toutes les pages html.
Une solution que j'avais envisagée était de rewriter les pages htm en php:
Une ligne dans le .htaccess et ça marche, même pas les liens à changer, mais les pages restent acessibles en html et php d'où rique de duplicate content.
Ce que je fais , pour un site, mais c'est quand même lourd:
Je génère mes pages en local avec easyphp ( il accepte de parser les pages html avec une modif simple) ensuite j'aspire le résultat avec HTTrack et je charge le tout avec mon ftp habituel.
 
WRInaute impliqué
HawkEye_TpfH a dit:
Dans le cas ou tu ne veux pas jouer avec le php, tu peux toujours faire tes inclusions via une <iframe> ;)

Tu peux developper, cela m'interesse et c'est en plein dans le sujet du post
merci :)
 
WRInaute discret
Merci à tous :wink:
Bon, pour l'urlrewriting, j'ai trouvé ça :

Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*).htm$ http://www.monsite.co*/$1.php [QSA,L,R=301]

Ca vous semble correct ? Je suis chez Infomaniak qui gère à priori l'urlrewriting.
Mais je me pose une question : une fois fait, les pages htm sont définitivement remplacées par des pages php ? Ou y a-t-il co-existence de pages htm et php au contenu identique ? Auquel cas GG va m'en vouloir, non ?? :lol:

Hawkeye : une iframe... oui, j'ai déjà lu cette instruction... mais ça fonctionne comment ? :oops: (oui, je sais ce que vous pensez, mais bon... :oops: )
 
WRInaute accro
Sinon, il y a les sytèmes de modèle avec dreamweaver. Ca fait très longtemps que je ne les ais pas utilisé, mais à l'époque c'était assez efficace.
 
WRInaute discret
Je fonctionne avec les modèles de DW mais comme mes pages ne sont pas de longueur égale, ce procédé montre ses limites lors des MAJ.
C'est pour ça que j'aimerais passer par un header et un footer :wink:
 
WRInaute accro
loufpad a dit:
Je fonctionne avec les modèles de DW mais comme mes pages ne sont pas de longueur égale, ce procédé montre ses limites lors des MAJ.
C'est pour ça que j'aimerais passer par un header et un footer :wink:

Je comprend pas là... Avec les modèles sous dreamweaver, tu peux parfaitement faire des headers et des footers. C'est ce que je faisais quand je faisais des sites en HTML.

Dès que je faisait une MAJ du header ou du footer, ça me mettait à jour toutes mes pages HTML. La longueur du contenu entre le header et le footer n'a rien à voir la dedans...
 
WRInaute passionné
Effectivement je confirme... rien à voir.

Les modèles serait une notion assez limitée le cas z'échéant!
 
WRInaute discret
Ce qui confirme bien que je suis une bille même sous DW parceque je ne savais pas qu'on pouvait faire des headers et footers... :oops: :lol:

Mais bon, pour ça mes pages doivent être en php non ?
 
Nouveau WRInaute
loufpad a dit:
Ce qui confirme bien que je suis une bille même sous DW parceque je ne savais pas qu'on pouvait faire des headers et footers... :oops: :lol:

Mais bon, pour ça mes pages doivent être en php non ?
non les modèles (ou "template") de DW fonctionnent aussi avec des pages HTML
quand tu fais une modification dans ton fichier modèle, DW reconstruit toutes tes pages d'un clic et tu n'as plus qu'à les mettre sur le serveur ensuite
 
WRInaute passionné
Ou avez vous vu qu'il y a besoin de faire du rewriting ???

Il suffit de forcer le serveur a interpréter les pages html, et pour ça une ligne dans le .htaccess et c'est joué :

Code:
AddType application/x-httpd-php .html
 
WRInaute passionné
1/ Tu garde tuos tes fichiers avec leurs nomds te extensions
2/ tu vire le début et la fin de chaque fichier
- que tu met dans un fichier header.php et footer.php (comme expliqué au début)
- que tu remplace par <?php include ("header.php"); ?> et idem footer
3/ tu crée un fichier .htaccess et tu met le code filé plus haut dedans.

Le tour est joué
 
WRInaute occasionnel
oui dans ton cas, je ne te conseille pas d'utiliser les templates, car alors il faudra réécrire tout ton code.

Les templates sont fait pour séparer le code de la présentation, ce n'est pas ce que tu cherches à faire là.

Si ton hébergeur accepte les .htaccess avec le rewrite engine, alors c'est ce qu'il y a de plus simple à faire.
 
WRInaute discret
Merci :wink:
Pour être sûr d'avoir bien compris, je mets ce code là dans mon htacces ?
Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*).htm$ http://www.monsite.co*/$1.php [QSA,L,R=301]

Quel va être le but de cette commande exactement ?
- de "transformer" intégralement mes pages en php (mes pages htm disparraissent ?)
- ou de les laisser en htm mais en les interprétant en php ?

Merci :D
 
WRInaute accro
jeroen a dit:
Code:
AddType application/x-httpd-php .html
Non, juste ce que Jeroen a marqué, ou sinon autre solution, c'est d'avoir des fichier.html.php et de les appeler sous forme fichier.html, si l'hébergeur accepte le
Code:
Options +MultiViews
 
WRInaute accro
mr_go a dit:
Les iframe c'est le mal :p

Certes...

Mais en attendant, si tu touches pas ta bille en php, c'est une solution qui fonctionne, et qui conserve l'indexabitlité.

En gros, pour inclure ton header:

Code:
<iframe src="http://www.example.com/header.html">contenu_alternatif</iframe>

je te conseille une petite recherche sur "syntaxe iframe" par exemple, pour les attributs taille, bordure, etc...

@+
 
WRInaute discret
Tout d'abord, sincèrement un grand merci à tous sans distinction pour m'avoir apporté votre aide :D

Je n'ai pas eu le temps de tester ce que vous m'avez dit, mais je vais faier ça demain (dimanche)
Donc :
1) je ne touche pas à l'extension de mes pages (htm)
2) je me crée un header et un footer (en php donc)
3) je crée mes 2 includes dans toutes mes pages
4) dans mon htaccess, je mets la ligne suivante : AddType application/x-httpd-php .html, ce qui, à ce que j'ai compris va laisser mes pages en htm mais va permettre à mon serveur de les interpréter comme du php (ce qui devrait me permettre alors d'inclure dans mes pages htm des scripts php comme robostats par exemple ??? :oops: )
5) si tout marche bien... je refonds totalement le code de mes pages notamment avec des bonnes css bien carrées 8) .
Voir que chaque problème trouve sa solution (grâce à vous) me donne l'envie d'améliorer sans cess mon site :wink:

Encore merci... et si vous pouvez juste répondre à ma petite question concernant le bon fonctionnement ou non des scripts php sur mes pages htm, ce serait sympa :wink:

Bien sûr, si vous avez d'autres conseils... 8)
 
WRInaute discret
mr_go a écrit:
Les iframe c'est le mal :p


Certes...

Mais en attendant, si tu touches pas ta bille en php, c'est une solution qui fonctionne, et qui conserve l'indexabitlité.

En gros, pour inclure ton header:

Code:

<iframe src="http://www.example.com/header.html">contenu_alternatif</iframe>


je te conseille une petite recherche sur "syntaxe iframe" par exemple, pour les attributs taille, bordure, etc...

Beurk c'est une horreur pour le référencement ça. On donne pas ce genre de conseils sur Wri, non mais faut vivre avec son temps ^^


loufpad> non, tu mets tout avec des extensions PHP (si t'as pas un serveur à toi t'as pas le choix en gros).
Tu fais des includes autant que tu veux dans tes pages et tu gardes à l'esprit qu'avec l'url rewriting tu renommes les pages comme ça t'arranges ensuite.

Donc une fois que ça roule tu url rewrite tes extensions php pour les renommer en .htm avec 1 ligne dans le .htaccess. Pense à faire les liens dans tes pages en utilsant les urls rewrités (avec des extensions .htm) bien sur.
Hyper simple quoi. :wink:

Sinon les débutants en php aime bien ce site la, tu y trouveras ton bonheur j'en suis sur : http://www.siteduzero.com/index.php :wink:
 
WRInaute discret
Ah ? j'avais cru comprendre de ne pas toucher à mes extensions htm... :?
En fait, je ne vois pas trop la raison
1) de convertir mes htm en php
2) reconvertir en htm ensuite...

Hyper simple... :lol:
:wink: merci
 
WRInaute passionné
bob154 a dit:
loufpad> non, tu mets tout avec des extensions PHP (si t'as pas un serveur à toi t'as pas le choix en gros).

bob154 > tu raconte vraiment n'IMPORTE QUOI
Quand on sait pas on évite de raconter des c... :evil:
Pas besoin d'avoir un serveur à soi pour utiliser le .htaccess

Loufpad > t'as tout compris. Avec cette directive dans ton .htaccess tu pourra mettre autant de php que tu veux dans tes pages html.

Cordialement,
 
WRInaute discret
Merci Jeroen 8)
Grâce à tous ces conseils, je commence à appréhender un peu mieux toute cette technique :wink:
Je vais donc m'y mettre maintenant que tout est plus clair.
Je vous tiendrai bien sûr au courant de l'avancée des travaux.
Encore merci et à bientôt :wink:

EDIT : concernant mon menu de navigation (gauche), le mieux est-il d'en incorporer le code complet dans chaque page ou plutôt de créer un fichier menu.php que j'incorpore ensuite dans chaque page avec une include (comme les header et footer) ?
MErci :wink:
 
WRInaute discret
Bon, ça ne fonctionne pas :cry:
J'ai créé mon header en php
Dans ma page de test en HTM, je mets

<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php include ("header.php");
?>
</body>
</html>

Dans mon htaccess, en 1ère ligne, j'ai mis : AddType application/x-httpd-php .html

Quand je charge ma page, celle ci reste blanche, le header n'apparait pas.
PAr contre, si j'enregistre ma page de test en PHP, là ça fonctionne sans souci :cry:

EDIT : je viens de vérifier que mon hébergeur acceptait ce genre de fonction : OUI
Par contre, mes pages sont en .HTM.
J'ai renommé ma page de teste en .HTML et là ça marche :?
Ca veut dire que je suis mort avec mes pages htm ??

EDIT 2 : ça devrait marcher pourtant avec des pages .HTM. Voici la réponse de mon hébergeur :

Les pages html (extension .htm) peuvent-elles être considérées comme du php par le parser ?

Oui cela fonctionne sur nos serveurs.

EDIT 3 :lol: : dans mon htaccess, j'ai aussi ces commandes déjà renseignées par mon hébergeur :
######################### Howto map /~user to /user ############################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ http://%{SERVER_NAME}/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ http://%{SERVER_NAME}/~$1/$2
################################################################################
Cela a peut être un impact ???
:oops:
 
WRInaute accro
Du moins en 1° j'aurais déjà vérifié que le AddType fonctionne sur le serveur avec des fichiers html et ensuite s'attaquer aux include
 
WRInaute passionné
Oh les gars, faut REFLECHIR un peu...

Code:
AddType application/x-httpd-php .html
ça veut dire quoi ?

simplement d'interpréter les .html en php, donc

Code:
AddType application/x-httpd-php .htm
devrait normalement interpréter tes pages .htm

aie aie aie...
 
WRInaute discret
Ben merdouille alors !!! :lol:
J'avais modifié la commande en mettant .htm tout à l'heure et ça ne marchait pas :oops:
Mais maintenant ça marche :?:
Enfin bon, tant mieux :p

Mais j'y avais quand même pensé Jeroen (malgré mon niveau de 36 au dessous de 0 :lol: )
Merci à toi :wink:

loufpad a dit:
concernant mon menu de navigation (gauche), le mieux est-il d'en incorporer le code complet dans chaque page ou plutôt de créer un fichier menu.php que j'incorpore ensuite dans chaque page avec une include (comme les header et footer) ?
MErci :wink:
 
WRInaute passionné
C'est comme tu veux :wink:
Perso j'ai certaines pages sans menu, donc j'ai préféré séparer header et menu.

A toi de voir...
 
WRInaute discret
OK, pas trop d'importance donc :wink:

En tout cas, un énorme merci pour ton aide !!! :p
Plutôt que de recommencer un post si j'ai encore des questions, je les mettrai dans celui-ci, comme ça on pourra le rebaptiser "tuto pour noob" :lol:
De toute façon ,je ne dois pas être le seul à me poser ces questions :wink:
 
WRInaute passionné
loufpad a dit:
Plutôt que de recommencer un post si j'ai encore des questions, je les mettrai dans celui-ci, comme ça on pourra le rebaptiser "tuto pour noob" :lol:
De toute façon ,je ne dois pas être le seul à me poser ces questions :wink:

Non, il vaut mieux ouvrir un autre post avec un titre qui "colle au pb" ;o)
Tu peux par contre me mailer en privé pour me prévenir de ton post :wink:
 
Nouveau WRInaute
Une autre solution pour gérer les mises à jours facilement sans mettre les mains dans le code php est d'utiliser les templates (modèles) en utilisant Dreamweaver version (2 gratuite), on crée une page modele avec des zones modifiables, il n'ya plus qu'a créer les nouvelles pages à partir du modèle. Bien sûr quand on modifie le modèle toutes les pages crées à partir de ce modele sont automatiquement mises à jour.
Cordialement :)
 
WRInaute passionné
Dans le cas de page html il me semble que l on peut appeller des includes php en mettant 2 lignes dans le htaccess du genre
Code:
AddType application/x-httpd-php .htm 
AddType application/x-httpd-php .html
Je me plante ??
 
Discussions similaires
Haut