Pages :
Bonjour,

Je fait beaucoup d'include sur mon site pour les éléments qui se répètent sur plusieurs pages, seulement je me demandais si les meta peuvent se mettre en include, et si oui est ce recommendé et surtout valide?
Modifié par truecasper (15 Oct 2005 - 21:07)
Bonjour,

Aucun problème.

Je mets les méta communs (qui ne varient pas) en include, et les "title" et "description" sont alimentés par une base de données.

C'est aussi valide que directement dans la page et cela n'affecte pas le référencement.
Bonjour truecasper.

La coutume veux que l'on place [Résolu] dans le titre pour faciliter la recherche. C'est bien que tu ais penser à renseigner ton titre par [réglé (c'est possible)], mais un simple [Résolu] serait apprécié Smiley cligne
La validation n'intervient que sur la page HTML formée...

Peut importe de combien de morceaux elle est constituée, du moment que la page HTML généré est correcte...

Je vais même plus loin en incluant le <body> dans le même fichier que mes <meta> communes, voire des div de colonnage...

Ce n'est pas trop conseillé dans le tutoriel (de peur d'nclure plusieurs balises <body> sans doute) mais dans la vraie vie ça se passe très bien du moment que tu ne te trompe pas dans l'ordre des includes... Smiley cligne

Et que tu n'oublies pas de fermer un div ouverte dans un include Smiley biggol
J'ai eu l'erreur avec ma balise </head> répétée 2 fois Smiley confused

mais tout inclure comme ça, ça ne ralenti pas l'affichage à force?
Bonjour,

Pour ralentir l'affichage il faudrait un ralentissement côté serveur (qui reconstitue la page avant de l'envoyer).

Or ces opération sont très rapides et n'exigent pas de grandes ressources, ensuite un ralentissement pourra venir de très nombreuses requêtes dans la BDD, mais entre 3 ou 7 requêtes et 300 ou 700 requêtes simultanées il y a une différence !

Certains scripts (assez rares) peuvent nécessiter le retrait de la BDD de nombreuses données, dans ce cas il faut travailler de près l'optimisation des requêtes car on peut constater des ralentissements, cela m'est arrivé.

Mais aucun problème a priori du seul fait des "include".
Vraiment aucun problème avec les includes sur cette page j'ai fait 12 includes pour séparer toutes les parties (meta, menu du haut, menu du bas, colonne de droite et texte diviser en 8 parties car il étais trop gros à charger en FTP). Résultat c'est aussi rapide qu'une page html standard Smiley cligne

Pour test cette page est avec les includes

Et cette page la est sans include (html)

Edit : en fait il y un léger temps de plus, environ 1 seconde de plus avec les includes Smiley sweatdrop
Modifié par Super_baloo8 (18 Oct 2005 - 20:15)
truecasper a écrit :
Je fait beaucoup d'include sur mon site pour les éléments qui se répètent sur plusieurs pages
Tu en fais combien ? pas 12 quand même ? Smiley murf

Un include header (pour la partie supérieur), footer (pour le bas de page, ou autre) ca devrait suffire non ? et dans le header tu y inclus les metas tags.

Avant je faisais beaucoup d'includes... mais ce n'est pas facile/pratique à gérer... c'est plus simple de rassembler plusieurs éléments dans un même fichier.
Modifié par Sammuel (18 Oct 2005 - 21:14)
Inclure les meta et le header dans un meme fichier et difficile, tout simplement car les meta sont entre Html et /head les liens (menu) sont après le /head, et le titre de la page est entre les deux, sachant que chaque page à sont titre, bas le haut d'une page ne peut être faite qu'avec deux includes Smiley ravi
Modifié par Super_baloo8 (18 Oct 2005 - 22:00)
Super_baloo8 a écrit :
chaque page à sont titre Smiley ravi
Ca dépend, si tu souhaites mettre les mêmes metas sur toutes les pages Smiley ravi .

Sinon, si tu as des metas différentes, il faudra faire un autre include en effet.
Modérateur
Super_baloo8 a écrit :
Inclure les meta et le header dans un meme fichier est difficile


À moins de se convertir à Coldfusion et de faire appel à ceci, dans un include ou n'importe où dans la page cfm :


<cfsavecontent variable="Metas">
<meta name="keywords" content="Les mots clés du document" />
<meta name="description" content="La description du document" />
</cfsavecontent>
<cfhtmlhead text="#Metas#">


Ca va placer le code que l'on veut entre les balises HEAD du document. Smiley lol

Smiley dehors

Troll outside, ca doit bien exister une telle fonction en PHP ? Sinon quelqu'un devrait l'inventer.
Si je pense avoir la solution simple pour permettre de changer le titre de chaque page.

On fait un include, avec tout le haut du site.

Dans la code du titre du site

<title>Titre de la page</title>


A la place de ceci on met cela

<title>$nomdelapage</title>

Et on met la variable $nomdelapage quelque part sur le site ^^

METHODE :

Faire son include :

et dans son include remplacer

<title>$nomdelapage</title>
<body id="$bodyid">


Dans la page ou il y a l'include marquer en haut de la page

<?
$nomdelapage = "Vrai Nom de La Page";
$bodyid = " nom du body id"
?>


Voila Smiley biggol
Modifié par Super_baloo8 (18 Oct 2005 - 22:53)
Modérateur
Si tu change le contenu de la variable dans le deuxième include, ca ne fonctionnera pas. Les includes sont interprétés de façon linéaire, de haut en bas.

À moins que j'ai mal compris ton explication, ou encore que PHP agit différemment Smiley langue
Modifié par Merkel (18 Oct 2005 - 23:00)
C'est bien pour ca, on mets les variables en haut de la page à interprété, et ensuite l'include contenant les variable à changer.
Modérateur
Super_baloo8 a écrit :
C'est bien pour ca, on mets les variables en haut de la page à interprété, et ensuite l'include contenant les variable à changer.


Vaut mieux un exemple en pseudo-code :

Include en haut de page :

Afficher $VariableX;


Include en bas de page :

Set $VariableX = "Bonjour"


Le serveur traitera d'abord le premier include, sans tenir compte du deuxième. Ce qui veut dire qu'il affichera le contenu de la variable à l'état actuel où le premier include a été interprété. Lorsque le serveur arrivera au deuxième include, il va seulement modifier le contenu de la variable, mais en aucun cette action ira changer le contenu affiché dans le premier include. Tu comprends ce que je veux dire ?

Je pense plutôt que j'ai mal compris ce que tu voulais dire. Si c'est le cas, désolé. Smiley smile Voulais-tu dire l'inverse ?
Modifié par Merkel (18 Oct 2005 - 23:11)
Euh je pense que je n'arrive pas à m'expliquer, la solution que je t'explique fonctionne car je l'utilise ^^

En fait on vas dire au serveur (quand il va lire la page) cette variable vaut tant et celle la vaut tant.

Ensuite lorsqu'il aura à traité l'include (code php) il connaitra les valeurs des varibables et donc les remplacera.

Le code de lecture étant de Haut en bas, il faut d'abor mettre les variable en haut, puis l'includes après.
Voila le code d'une page :

<?
$nomdelapage = "Formulaire d'inscription";
$bodyid = "formulaire";
?>
<?php 
include("head.php");
?>
</div>
<div id="content">
<div class="fildariane" id="breadCrumb"> Formulaire d'inscription /</div>
<h2 id="pageName">Formulaire d'inscription</h2>
<div class="feature">
<h3>Vous voulez &ecirc;tre inscris sur notre site ?</h3>
<p> Alors remplissez ce formulaire en entier, et faites &quot;envoyer&quot;, merci. </p>


Et voila le code de l'include :

<?php 
print("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" 
\"http://www.w3.org/TR/html4/loose.dtd\">
<html>
<head>
<META HTTP-EQUIV=\"Content-Language\" content=\"fr\">
<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\">
<META NAME=\"Keywords\" LANG=\"fr\" CONTENT=\"tutorial catia, bts,cpi,catia,amicale\">
<META NAME=\"Author\" LANG=\"fr\" CONTENT=\"Sylvain Guiblain\">
<META NAME=\"Description\" LANG=\"fr\" CONTENT=\"Site de l'amicale des BTS CPI carcassonnais\">
<META NAME=\"Identifier-URL\" CONTENT=\"http://cpi.villa-sud.com\">
<META NAME=\"Reply-to\" CONTENT=\"sylvain.guiblain@gmail.com\">
<META NAME=\"Owner\" content=\"sylvain.guiblain@gmail.com\">
<META NAME=\"Revisit-after\" CONTENT=\"5\">
<META NAME=\"Expires\" content=\"never\">
<META NAME=\"Copyright\" content=\"Spb8\">
<META NAME=\"Generator\" CONTENT=\"Note Pad\">
<META NAME=\"Robots\" content=\"index,follow\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"normal.css\" title=\"normal\">
<link rel=\"alternate stylesheet\" type=\"text/css\" href=\"fonce.css\" title=\"fonce\">
<link rel=\"alternate stylesheet\" type=\"text/css\" href=\"sanscss.css\" title=\"sanscss\">
<script language=\"JavaScript\" src=\"styleswitcher.js\" type=\"text/javascript\">
</script>
<title>$nomdelapage</title>
</head>
<body id=\"$bodyid\"
<div id=\"masthead\"> 
  <h1 id=\"siteName\">L'amicale des BTS CPI Carcassonnais </h1> 
  <div id=\"globalNav\"> 
<a href=\"index.php\" id=\"accueilnav\" accesskey=\"1\">Accueil</a>div>");
?>

Modifié par Super_baloo8 (18 Oct 2005 - 23:21)
Pages :