Nous sommes le Sam 26 Juil, 2025 01:25
Supprimer les cookies

site avec Ajax ou non ?

Sur le logiciel libre en général ou un logiciel libre en particulier

Jeu 28 Sep, 2006 18:18

Voilà pour mon site je voudrais créer un menu en haut et quand on clique sur un des idem le contenu aparaisse dans la zone blanche dans l'image ci jointe.
Je crois avoir compris avec cette exemple http://fr.wikibooks.org/wiki/Programmat ... x/Sommaire[/url]
mais est-ce que c'est risquer d'utiliser cette méthode ? st ce que ça utilise du javascripty , je veu dire est ce que quelqu'un qui ne l'a pas activé ne pourra pas voir mon site ?
J'ai entendu parler d'un xul ou quelqu'un chose dans le genre, mais est ce que celà ne fonctionne que sous Firefox ? Car si beaucoup de monde utilise encore Intern Exlpoere ça va posser des problemes....
Image
Rasher

Messages : 54

Jeu 28 Sep, 2006 19:06

Et pourquoi pas un menu avec juste l'utilisation du CSS ? Voir ici pour un chouette exemple (pas testé).
Veni, Vidi, Libri - Diffuseurs de Licences Libres
http://venividilibri.org
Maps

Avatar de l’utilisateur
Messages : 1691
Géo : Québec

Jeu 28 Sep, 2006 19:59

Bonjour,

Rasher a écrit:Voilà pour mon site je voudrais créer un menu en haut et quand on clique sur un des idem le contenu aparaisse dans la zone blanche dans l'image ci jointe.
Je crois avoir compris avec cette exemple http://fr.wikibooks.org/wiki/Programmat ... x/Sommaire[/url]
mais est-ce que c'est risquer d'utiliser cette méthode ? st ce que ça utilise du javascripty , je veu dire est ce que quelqu'un qui ne l'a pas activé ne pourra pas voir mon site ?
J'ai entendu parler d'un xul ou quelqu'un chose dans le genre, mais est ce que celà ne fonctionne que sous Firefox ? Car si beaucoup de monde utilise encore Intern Exlpoere ça va posser des problemes....

ce n'est pas de l'AJAX car tu n'utilise pas le XML -> AJAX = Asynchronous JavaScript And XML , ce que tu veux faire c'est de Javascript tout simplement.

Faire un menu avec du javascript peut-être soit très mal fait (ton exemple) soit fais de façon correct et accessible. Dans ton exemple, il sera impossible pour une personne n'acceptant pas ou n'ayant pas les moyens d'utiliser le Javascript de naviguer sur ton site. Il est pourtant très simple de rendre ce menu accessible, il suffit pour cela laisser les liens dans leur balises <a> et d'indiquer de ne pas utiliser le lien si le Javascript

par exemple au lieu de faire:
Code: Tout sélectionner
<a href="#" onClick="ShowPage(1);">lien</a>


tu devrais plutôt faire:
Code: Tout sélectionner
<a href="page1.php" onClick="ShowPage(1); return false;">lien</a>


Dans ce cas, si le Javascript est actif alors la fonction ShowPage sera utilisé et le lien de l'attribut href ignoré. Si le Javascript n'est pas actif, alors c'est le lien qui est utilisé.

Bien entendu mon exemple est très simple ici. Dans le cas de ton menu, il faudra programmer ta page principale de tel sorte quelle puisse accepter de prendre des arguments afin de pouvoir insérer via le php la bonne page au bon endroit.

Concernant le XUL, il ne faut bien entendu le pas l'utiliser car on reviendrait 5 ans en arrière sur le web avec des sites optimisés pour un navigateur. Le XUL est (du moins à l'air du peu que j'ai pu l'utiliser) une technologie formidable mais qui n'est pas faite du moins pour le moment pour être utilisé pour le web.

@Map: ce n'est pas un menu déroulant qu'il cherche à priori, justement le moyen d'insérer des morceaux de page dans sa page existante.

Cordialement,
Léviathan
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Jeu 28 Sep, 2006 20:15

accpeter des argument php ? oulà je suis perdu là dsl
donc si le javascript n'est pas acctivé ça marche quand même c'est ça ? ou il faut faire autre chose ?
Rasher

Messages : 54

Ven 29 Sep, 2006 08:59

Va voir dans les tutoriels d'Alsacreations. Je suis sûr que tu trouveras quelque chose qui te convient ou qui est proche de ce que tu souhaites faire.
moron

Messages : 366

Ven 29 Sep, 2006 10:46

Bonjour,

ce que je veux dire, c'est que pour avoir un site accessible, tu devras faire en sorte que si le Javascript n'est pas activé alors tes pages puissent s'afficher quand même.

Si je reprend ton exemple, il faudra modifier ta page index.php en quelque chose un peu comme ça:
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>Sommaire en PHP !</title>
  </head>

  <body onLoad="ShowPage(1)">

    <div id="sommaire">
        <h3>Sommaire</h3>
        <a href="index.php?page=1" onClick="ShowPage(1); return false;">Page 1</a><br/>
        <a href="index.php?page=2" onClick="ShowPage(2); return false;">Page 2</a><br/>
        <a href="index.php?page=3" onClick="ShowPage(3); return false;">Page 3</a><br/>
        <a href="index.php?page=4" onClick="ShowPage(4); return false;">Page 4</a><br/>
    </div>

    <div id="page">
    <?php
       if (isset($_GET["page"]) && !empty($_GET["page"])) {
          include ("page".$_GET["page"].".html");
       }
    ?>
    </div>

  </body>
</html>


J'ai supprimé le style ainsi que le Javascript pour plus de visibilité.
Donc, avec ce code:
- l'utilisateur a Javascript d'activé: la page est donc index.php sans argument, la condition du bloc <div id="page"> n'est pas remplie donc, on n'affiche rien par défaut. Lorsque l'utilisateur va cliquer sur un lien, le javascript sera pris en compte, affiche la page voulue et avec le "return false" ne tient pas compte du lien de l'attribut href
- l'utilisateur n'a pas Javascript. Lorsqu'il clic sur un lien c'est l'attribut href qui est pris en compte vu qu'il n'interprète pas le Javascript. La page se recharge en prenant en paramètre page=1 par exemple, ce qui veux dire que l'on va entrer dans la condition du bloc <div id="page"> et afficher la bonne page.

Le Javascript est donc ici uniquement une commodité, ce qui est le rôle du Javascript. Et ton site est accessible à tous.

Cordialement,
Léviathan
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Ven 29 Sep, 2006 17:51

mais je ne vois pac comment je fais pour afficher les nouvelles page dans une case du style qui s'apelle "#container" ?
Rasher

Messages : 54

Sam 30 Sep, 2006 18:37

Désolé si je suis vraiment nul...
S'il vous plait....
edit : c'est bon c'est résolu ^^ Merci bcp ^^
Dernière édition par Rasher le Ven 06 Oct, 2006 22:05, édité 1 fois au total.
Rasher

Messages : 54

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit