Salut à tous.

J'ai décidé de ne pas utiliser java pour créer des menus dinamique pour la simple raison que java n'est pas libre et je veux faire du 100% GPL.

Bref, j'ai décidé d'utiliser php et j'ai changé mon index.html en index.php. J'ai netoyé tout le contenu des balises <div> et j'y ai mis la fonction include. Ce que je trouve génial pour la maintenance.

J'ai utilisé le tuto d'alsacréation pour générer les pages de la <div> centrale et c'est carrément génial!

Pas de problème de ce côté-là, donc mais j'ai voulu me bidouiller un menu avec dfes sous-menus avec la même methode.

Petits essais avec quelque include et je me retrouve avec ceci:

Dans mon index.php, la balise qui renvoie vers les catégories du menu sommaire.php
<div id="sommaire">

			<ul>
		
				<?php
					include ('sommaire.php');
				?>

			</ul>
			
		</div>

..........................................plein d'autre trucs.............................

<div id="texte">

			<?php if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; switch($page)

				{

					[#red]case 'apropos': include ('contenu/site/apropos.html');break;[/#]
					case 'site':include ('contenu/site/site.html');break;
					case 'plan':include ('contenu/site/plan.html');break;
					case 'hebergeur':include ('contenu/site/hebergeur.html');break;
					case '':include ('');break;

				} ?>

		</div>



dans le fichier sommaire.php:

<div>
	<li><a href="index.php?page=site">Le site</a></li>
		<?php if (!isset($_GET['page'])) $page= 'none'; else $page= $_GET['page']; switch($page)
			{
				case 'site': include ('site.php');
				[#red]case 'apropos': include ('site.php');[/#]
			}
		?>
</div>


Les liens de ce menu renvoient à la fois une liste dans le sommaire et une page dans la balise <div id="texte"></div>

et le contenu de site.php:
<ul>

	[#red]<li><a href="index.php?page=apropos">A propos</a></li>[/#]
	
	<li><a href="index.php?page=plan">Plan du site</a></li>
	
	<li><a href="index.php?page=hebergeur">Mon h&eacute;bergeur</a></li>

</ul>


Le problème, c'est qu'avec cette methode, quand on clique sur le llien "le site", le contenu s'affiche deux fois étant donné que le l'include revoie deux fois l'info mais si je suprime la deuxième case du fichier sommaire.php, la liste diparait quand on clique sur "à propoos"

Heu, bon, je suis pas sûr d'employer la bonne methode mais si quelqu'un comprend le problème tel que je l'ai expliqué (j'ai allégé lles fenetre de code pour pas que ce soit trop surchargé), merci de me donner des pistes.
Modifié par zafx (02 Jan 2006 - 07:24)
bonne année!

Merci pour ta réponse mais aucun des sujets ne correspond à mon problème mais ça m'a aidé sur un autre truc qui me tracassait pas trop pour l'instant (ça serait venu après sans doute): les balises title.

@+ Smiley smile
Modifié par zafx (01 Jan 2006 - 21:29)
Y'a surement une bidouille, une astuce. Quand je la trouverai, je vais encore sauter au plafond comme un rat de laboratoire drogué aux amphétamines...
En attendant, je me tappe la tête contre les murs Smiley biggrin
J'ai trouvé!
La solution est d'utiliser include_once

<div>

	<li><a href="index.php?page=site">Le site</a></li>

		<?php if (!isset($_GET['page'])) $page= 'none'; else $page= $_GET['page']; switch($page)

			{

				[#red]case 'site': include_once ('site.php');

				case 'apropos': include_once ('site.php');[/#]

			}

		?>

</div>


Sinon, que pensez-vous de mon code?
Modifié par zafx (02 Jan 2006 - 07:24)
Bonjour,

Il y a peu à dire du point de vue code, sinon que ce site rencontrera les problèmes habituels avec ce type d'URL (indexation médiocre par les moteurs de recherche, utilisabilité réduite de l'URL pour les visiteurs,etc).

En revanche, cette déclaration est... curieuse Smiley cligne :
a écrit :
J'ai décidé de ne pas utiliser java pour créer des menus dinamique pour la simple raison que java n'est pas libre et je veux faire du 100% GPL.
<auto-modération>
Citer Stallman, c'est une sorte de point Goldwin libre, non ? Smiley lol
</>

Oublions ça.
Modifié par Laurent Denis (02 Jan 2006 - 18:55)
Ha, ouai? ça fait plusieurs fois que je vois cette expression et j'ai fini par me demander ce que ça voulais dire. Marrant, ça. J'ai lancé une rechcherche google avant de demander mais j'ai eu qu'un tas de post sur plein de forums différents ou on ne faisasit que citer l'espression sans l'expliquer.

Enfin bref, j'ai compris la blague de Laurent.

Pour en revenir à include, j'ai pas encore attaqué le reférencement mais maintenant que mon site fonctionne à peu près, je vais m'y attaquer. Quels sont les problèmes que pose include pour l'indexation?
Euh aucun, c'est l'iframe qui pose probleme.

Le php (ce qui permet à l'include d'exister) est un langage executé coté serveur, ca veut dire que jamais quelqu'un ne pourra voir le code pur php, et donc par conséquent il n'en ressort que du html pur et dur lol.

Le probleme qu'a soulever Laurent Denis n'est pas tellement lier à l'include elle meme, mais plutot la maniere de faire.

Un robot (tel google) à du mal a indexer les pages d'un site ou les liens sont comme tel

http://www.tonsite.com/index.php?art=1


Avec ce genre d'url, il n'y a que les variable qui changent, et le nom de la page n'indique pas du tout ce qu'elle comporte (comme ce qu'elle ne peux pas comporter aussi mais ca c'est une autre histoire, on ne vas pas débattre la dessus encore une fois).

Il vaut mieux que tu ais un site avec des liens du style :

http://www.tonsite.com/index.php
 http://www.tonsite.com/sujet-sur-les-patates.php
 

etc...


Ta pages sera mieux référencer par les moteurs de recherche comme ceci.

Les exemples que je t'ai montré ne sont pas encore a ce stade très différent. Car les robot on vraiment du mal a indexer des pages lorsque celle ci contient plusieurs variables dans le liens (à partir de 2 ca commence à devenir la cata Smiley ohwell ).

Donc pour résumer, il vaut mieux inclure sur chaque feuille le menu et le footer, que l'inverse qui est d'inclure au centre du menu et du footer la page désirée.

J'espere que j'aurai été assez claire, sinon cherche "referencement include" sur le forum, tu devrais avoir pas mal de réponse Smiley cligne
Modifié par Super_baloo8 (02 Jan 2006 - 22:23)
Oui, c'est assez clair, merci pour ta reponse. Si je comprend bien, je vais encore avoir du boulot de netoyage à faire... Smiley sweatdrop
Oui, en tout cas, je passe plus de temps à netoyer mon code qu'à le créer. Smiley sweatdrop C'est dûr, l'apprentissage... Smiley cligne