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

Conception Web Discussion :

gestion d'un menu centralisé sur plusieurs pages web


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut gestion d'un menu centralisé sur plusieurs pages web
    Bonjour,

    Je voudrais savoir s'il y a des solutions simples pour centraliser les liens d'un menu qui seraient centralisés dans un fichier et qui s'appliqueraient à certaines pages. En d'autres mots, est-ce que ce serait possible de tout le menu d'un site web dans un fichier texte et pour une page donnée du site, un script va chercher automatiquement les éléments du menu concerné.

    La gestion des menus devrait pouvoir se faire dans un seul fichier et possiblement sans tag html. Pour une page donnée, un script alimente automatiquement le menu.

    Voici un lien
    ou une copie écran

    Nom : copie ecran1.png
Affichages : 136
Taille : 23,6 Ko

    Le menu du haut (Accueil à Menu F1) représente le sommaire d'une page

    Le menu du bas (Menu B1 à menu B1e) représente le menu SUR UNE AUTRE PAGE (la page du lien B1 du sommaire en l'occurence). Les éléments "Menu B1a" à "Menu B1e" seraient quelque part dans un fichier texte.

    Est-ce que un script javascript pourrait renseigner les éléments "Menu B1a" à "Menu B1e" automatiquement pour chaque page concerné?

    Quelle serait la manière la plus simple d'implémenter cette fonctionnalité? Je comprends qu'un CMS propose cette fonctionnalité mais je reste sur l'idée d'utiliser le moins de ressources possible

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Dev full Stack
    Inscrit en
    Septembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev full Stack

    Informations forums :
    Inscription : Septembre 2022
    Messages : 5
    Par défaut Pourquoi du txt ..?
    pourqoi pas du JSON ou xml ..?

  3. #3
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut
    Citation Envoyé par Pacific_Prime Voir le message
    pourqoi pas du JSON ou xml ..?

    c'est ce je pense ce qui conviendrait mais il faut le javascript qui va faire le lien

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 690
    Par défaut
    du moment où vous utilisez un langage de programmation, vous pouvez factorisez le code qui va gérer le menu. cela se fait souvent côté serveur mais mais vous pouvez aussi le faire en javascript côté client.

    Citation Envoyé par barpasc Voir le message
    utiliser le moins de ressources possible
    de quelles ressources parlez vous ? ce qui va être économisé côté serveur va demander plus de ressources dans le navigateur. donc si vous voulez nos conseils, il faudrait nous donner plus de détails sur les utilisateurs qui afficheront le site, les utilisateurs qui mettront à jour le site, les pages, le menu, etc.

  5. #5
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut
    Citation Envoyé par mathieu Voir le message
    du moment où vous utilisez un langage de programmation, vous pouvez factorisez le code qui va gérer le menu. cela se fait souvent côté serveur mais mais vous pouvez aussi le faire en javascript côté client.

    de quelles ressources parlez vous ? ce qui va être économisé côté serveur va demander plus de ressources dans le navigateur. donc si vous voulez nos conseils, il faudrait nous donner plus de détails sur les utilisateurs qui afficheront le site, les utilisateurs qui mettront à jour le site, les pages, le menu, etc.
    -o-

    En fait, je veux essayer de rester sur des pages web simples sans trop de scripts derrière, quelques librairies quand c'est nécessaire, pas d'utilisateur autre que moi même pour l'instant, c'est pour mettre des ressources que je peux retrouver facilement et puis partager des techniques que je ne trouve pas facilement sur des sites francophones.

    Le truc ce sont les menus, faire simple sans réinventer la roue me demande des efforts parce que je ne suis pas développeur web, je dirai je suis débutant confirmé mais pas plus. Une réponse à ce que je cherche serait peut être d'utiliser la librairie phpspreasheet, créer un onglet pour chaque partie du site et l'onglet concerné contient les éléments du menu avec les balises correspondantes. Par exemple onglet 1 avec le menu des pages qui concernent un sujet, onglet 2 un autre sujet

    Dans un tableur c'est simple parce qu'il suffit juste de concaténer des colonnes pour avoir un menu avec les balises comme 'case A1 <li> case B1 "menu truc machin chose", C1 '</li> et en D1 =A1&B1&C1 donc c'est mille fois plus simple que de devoir mettre à jour un fichier json ou xml, il y a juste a écrire dans la colonne B le texte des menus sans les balises donc pas de risque d'oubli d'une balise qui peut planter le menu sur une page que je reagarde pas souvent.

    L'inconvénient est d'avoir toutes les pages avec du php donc ça sollicitera le serveur... autant utiliser un cms pour obtenir le même résultat. L'inconvénient du cms est que c'est moins facile à customiser ou alors il faut passer plusieurs mois à comprendre le fonctionnement. Trouver un truc équivalent en javascript serait top

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Dev full Stack
    Inscrit en
    Septembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev full Stack

    Informations forums :
    Inscription : Septembre 2022
    Messages : 5
    Par défaut
    enfaite c'est aussi compliqué que faire quelque chose en multi couche avec du json et du code logique pour afficher si not null pare exemple ) bon courage )

  7. #7
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 690
    Par défaut
    Citation Envoyé par barpasc Voir le message
    je ne suis pas développeur web, je dirai je suis débutant confirmé
    un développeur débutant est un développeur quand même à chaque fois que vous apprendrez quelque chose, ça sera une technique de plus dans votre trousse à outils de vos prochains développements.

    Citation Envoyé par barpasc Voir le message
    Dans un tableur c'est simple
    le souci du tableur est qu'il est fait pour dialoguer avec lui même donc c'est moins fiable pour discuter avec un autre programme. vous pouvez utiliser une bibliothèque pour faire la traduction mais le jour où il y a une modification du format, vous devrez attendre que la bibliothèque soit mise à jour et donc vous serez dépendant de cela.
    si vous vous sentez plus à l'aise avec les tableur, vous pouvez utiliser le format csv avec la limitation qu'un fichier csv correspond à une seule feuille de tableur.

    regardez l'exemple que j'ai mis un pièce jointe, une page correspond à un fichier dans le répertoire page. donc si vous voulez générer cela à partir d'une feuille de tableur, vous devrez mettre dans le tableur le contenu de la page et le menu secondaire. vous êtes sur que cela sera plus clair pour vous en utilisant un fichier tableur ?

    si on prend par exemple la page suivante, vous voulez mettre dans le menu secondaire des liens vers les parties principales "Les tableaux croisés dynamiques","Le module PowerQuery" et "Développement VBA" ?
    http://info2gestion.net/p35_txl_000_0000a_accueil.html
    Fichiers attachés Fichiers attachés

  8. #8
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut
    Merci pour les fichiers

    le menu principal devrait contenir des liens comme sous menu, ou est-ce que je peux écrire les liens que je veux afficher en-dessous par exemple du menu accueil?

    Dans index.html, il y a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    let pages = [];
    pages.push(new PageAccueil());
    si je comprends bien, let pages est un tableau alimenté par des valeurs dans la classe PageAccueil? Mais la class PageAccueil retourne return "Accueil". Est-ce que c'est possible que ça retourne plusieurs éléments?

    en fait, je ne me suis pas bien exprimé dans mon explication, je reprends avec un peu plus d'information et 1 copie écran d'une archive

    Nom : Untitled.png
Affichages : 95
Taille : 43,6 Ko

    Je cherche à faire en sorte que pour tous les éléments (pages html) du sous menu "feuille de calcul", par exemple un script dans chacunes de ces pages renseigne le menu de cette page. Pourquoi je cherche cette fonctionnalité?

    Parce que la gestion de chacunes des pages du sous menu, nécessite de mettre à jour chacunes des pages si le menu d'une de ces pages est modifié. En d'autres mots, si j'ajoute un lien dans ce menu, pour rester cohérent avec les autres pages, il faut mettre à jour les menu des autres pages ce qui demande du temps, avec des erreurs et des oublis possible...

    En plus, il y a un petit effet menu déroulant que je trouve sympa. J'ai fait une démo sur le menu "feuille de calcul" et "autres composants" à partir d'une archive sur ce lien (le lien montre ce qu'il se passe si j'oublie de mettre à jour le menu d'une page)

  9. #9
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 690
    Par défaut
    Citation Envoyé par barpasc Voir le message
    le menu principal devrait contenir des liens comme sous menu, ou est-ce que je peux écrire les liens que je veux afficher en-dessous par exemple du menu accueil?
    le javascript peut modifier tout le contenu html et même modifier des styles css donc il n'y a pas de souci pour cela.


    Citation Envoyé par barpasc Voir le message
    si je comprends bien, let pages est un tableau alimenté par des valeurs dans la classe PageAccueil? Mais la class PageAccueil retourne return "Accueil". Est-ce que c'est possible que ça retourne plusieurs éléments?
    il s'agit d'une classe PageAccueil donc vous pouvez personnaliser cette classe pour ajouter des méthodes qui vont retourner une liste de liens pour le menu, ou même faire référence à la page parente si c'est nécessaire pour la construction du menu.


    en ce qui concerne vos pages, je viens de me rendre compte que vous avez déjà beaucoup de fichiers différents donc cela veut dire qu'il faudra que vous modifiez tous les fichiers pour ajouter l'exécution du code javascript.
    cela veut aussi dire que le code devra savoir sur quel fichier il est exécuté, est ce que vos noms de fichiers sont tous uniques pour permettre cela ? dans le cas contraire vous allez devoir modifier chaque fichier un par un pour ajouter cette information.

    je demande cela parce que dans mon exemple "site plusieurs pages.zip" il y a un seul fichier ouvert dans le navigateur et le code javascript s'occupe de modifier tout l'affichage.

Discussions similaires

  1. Partage de l'API sur plusieurs pages WEB
    Par philou63_51 dans le forum IGN API Géoportail
    Réponses: 18
    Dernier message: 17/05/2012, 16h13
  2. Réponses: 3
    Dernier message: 28/02/2011, 09h29
  3. [DOM] menu sur plusieurs pages
    Par elodie07 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 14/12/2007, 15h51
  4. [HTML] Répetition d'un menu sur plusieurs pages
    Par rdams dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 02/02/2007, 16h46
  5. [Session] Problème de gestion sur plusieurs pages
    Par GLDavid dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 11/10/2006, 16h02

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