IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Améliorer la navigation


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut Améliorer la navigation
    Bonsoir,

    j'ai un souci de navigation qui n'est pas très agréable pour le moment. Pour s'en rendre compte, aller simplement sur http://vercorshandisport.org puis jouer sur les boutons prec et suiv du calendrier.
    Mon souci est le suivant ; la page est composée de plusieurs parties (header, menu, corps de la page et footer) :
    structure d'une page :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <body>
    <header>
    <?php include("../entete.php"); ?>
    </header>
    <nav>
    <?php include("../menu3.php"); ?>
    </nav>
     
    squelette
     
    <footer>
    <?php include("../footer.php"); ?>
    </footer>
     
     
    </body>
    Ensuite, mes liens sont de la forme : <a href="../index.php?rep=nom_répertoire&page=nom_page"> et la page index.php contient une redirection :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <SCRIPT LANGUAGE="JavaScript">
    <?php 
    if (empty($rep)&&empty($page)) $rep=$page="accueil";
    $adresse=$rep."/".$page.".php";?>
    document.location.href="<?php echo $adresse;?>";
    </SCRIPT>
    Mon souci est qu'à chaque fois qu'on ouvre index.php, on va donc sur la page nommée "nom_page" et à chaque fois, on réaffiche header et menu puis seulement le corps de la page. Or si on reprend mon calendrier évoqué au début de la discussion, je préférerais que les boutons prec et suiv mettent à jour la partie squelette (ou corps de la page) sans réafficher le header et le menu, car sinon, pour l'utilisateur, c'est très pénible ; après chaque navigation, il doit scroller pour retrouver les boutons prec et suiv.
    Comment peut-on faire cela ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    je préférerais que les boutons prec et suiv mettent à jour la partie squelette
    Chez moi c'est instantané donc je ne constate pas le problème : quand je clique sur suivant, j'ai l'impression que seul le calendrier a bougé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Merci de me répondre si tardivement.
    Je viens de constater la chose suivante : ça dépend de la taille du format d'affichage du navigateur ; si par exemple, tu appliques 200%, tu constateras le problème, et comme beaucoup d'utilisateurs de ce site sont malvoyants, réduire la taille d'affichage n'est pas une bonne solution...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent.

    1- Ton système est complètement moisi.
    C'est encore du grand n'importe quoi "made by laurentSc"...

    On ne fais pas la redirection en JavaScript !
    C'est totalement ridicule.

    • Soit tu fais une redirection en PHP (avec header('location:'.$adresse)),
    • Soit tu inclus le fichier, toujours en PHP (avec include ou require)
    • Soit (et ça me paraît le plus intelligent) tu mets directement l'URL correcte dans tes liens !

    Sinon... Tu n'as jamais entendu parler d'URL Rewriting ??


    2- tu fais un site destiné aux handicapés, mais :
    • tu as mis un bandeau avec 15km de textes (les partenaires)avant le menu
      (les logiciels d'aide à la lecture commence leur lecture en haut de page, à chaque fois)...
    • ton menu a 3 niveaux ("le club") ou 4 niveaux ("photos" / "vidéos") !
      Là, tu es sûr qu'ils n'iront jamais...

    Bonjour l'ergonomie !!


    3- concernant ton problème.

    Si tu ne veux pas de rafraichissement de page, il va falloir utiliser Ajax.
    Et là, tu as besoin de JavaScript.

    Sinon, il reste la solution d'ajouter une ancre aux liens, pour revenir au niveau du calendrier.
    C'est le plus simple.


    N.B. Sais-tu qu'on peut mettre des boutons sur son site, pour agrandir/rapetisser les textes ? (Regarde sur mon site perso)
    Si ça t'intéresse, je peux te donner le code.
    Dernière modification par Invité ; 02/06/2018 à 08h56.

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Mon site est peut-être complètement moisi, mais tu m'aides à en sortir ;

    Je n'ai pas répondu avant car manque de dispo.

    La redirection javascript, je l'avais utilisée en dernier recours après avoir (vainement) essayé les autres solutions. (Mon hébergeur ne prend pas en compte les url_rewriting...)

    Cela dit, c'est historique, et comme plus besoin de faire ça, j'ai remis directement les liens vers les URLs.

    Ergonomie : les 4 niveaux du menu concernent les photos et les vidéos, donc pas trop gênant pour les déficients visuels, mais les 3 niveaux, je vois pas comment les éviter.

    Passer par ajax, je maîtrise pas, donc pas la peine. Utiliser une ancre, OK, mais petit souci. Voici ce que j'ai fat sauf que les liens ne fonctionnent plus.

    Dans la page qui contient l'affichage du calendrier (accueil.php), j'ai rajouté une div :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="deb_cal">
    <h2>Calendrier de nos activités</h2>
    <?php
    	displayCalendar($month, $year);
    ?>
    </div>
    Sur les liens, j'ai rajouté l'ancre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<li><a href="'.$_SERVER['PHP_SELF'].'#deb_cal?m='.$monthValue.'&amp;y='.$yearValue.'"  title="vers '.$monthValue.' '.$yearValue.' ">préc</a></li>'."\n";
    mais la navigation n'a plus lieu. Qu'Est-ce qui ne va pas ?
    Comme PHP_SELF, on sait pas trop ce que ça vaut, voici le HTML généré : <li><a href="/html5test/accueil/accueil.php#deb_cal?m=5&amp;y=2018" title="vers 5 2018 ">préc</a></li>Les boutons pour agrandir l'affichage, ça m'intéresse, mais c'est quoi l'adresse de ton site perso ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent,

    1- L'ancre s'ecrit APRES les paramètres.
    Tu ne sais pas ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .../accueil.php?m=5&amp;y=2018#deb_cal
    2-
    ...mais c'est quoi l'adresse de ton site perso ?...
    Fais preuve de plus de CURIOSITE... (et c'est valable pour tout !)
    ...Regarde dans mon "profil".

    3- Pour ton menu, moi j'aurais simplifié.

    3a- Un menu principal simple : PAS de sous-menus
    (ou au maximum UN SEUL sous-menu, si tu ne peux pas faire autrement)
    Ce menu doit être tout en haut du code (accessible en 1er pour les aides à la lecture).

    3b- Dans les 2 (nouvelles) pages "Photos" et "Vidéos" :
    • Affichage par défaut des photos / vidéos "récentes"
    • + Un module de recherche "Archives" ( un <select> mois/année )
    • OU un menu secondaire listant ces archives (au lieu de le mettre dans le menu principal)

    3c- dans la page "le club" :
    • Inutile d'avoir autant de pages !
    • On regroupe les différents contenus (articles) dans 1 seule page,
    • avec un menu secondaire (avec des ancres vers chaque article)
    • si nécessaire, tu rajoutes des titres dans le menu principal : "Adhésion", "Contact",.....

    3d- Certains liens peuvent être mis dans le footer : "Partenaires", "Mentions légales",...
    Dernière modification par Invité ; 03/06/2018 à 18h27.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/07/2016, 17h23
  2. Améliorer l'ergonomie de votre document avec des onglets de navigation
    Par Patrick Guimberteau dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 09/10/2015, 15h12
  3. Amélioration de la navigation pour une listview
    Par kodo dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 17/07/2015, 06h40
  4. Amélioration barre de navigation
    Par casa51 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/12/2007, 18h05
  5. un programme dotnet qui améliore la navigation sous windows
    Par maa dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 01/11/2007, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo