Fil d'Ariane - quelles structure de données?

d0m
Mammouth du PHP | 1141 Messages

19 févr. 2008, 11:07

Bonjour,

je voudrais mettre un fil d'Ariane dans une application PHP.
J'ai pensé à utiliser un fichier XML pour hiérarchiser mes pages.

Y a t il plus efficace?

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

19 févr. 2008, 12:41

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Méthodologie, modélisation, sécurité".
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

19 févr. 2008, 16:44

J'ai pensé à utiliser un fichier XML pour hiérarchiser mes pages.
Je pense que personne ici n'a compris ce que tu voulais dire. Que veut dire "hiérarchiser mes pages" et pourquoi utiliser un fichier XML ?

d0m
Mammouth du PHP | 1141 Messages

19 févr. 2008, 17:12

Mon application intranet s'organise comme un arbre.

Code : Tout sélectionner

Menu principal Partie 1 sous partie 1.1 page1.php page2.php sous partie 1.2 page3.php Partie 2 ....
Je voudrais donc construire un fil d'Ariane qui, lorsque je suis sur la page page2.php,
m'indique que je me situe ici : Partie1 > sous partie 1.1 > page2.php

ViPHP
ViPHP | 928 Messages

19 févr. 2008, 17:33

Salut,
et qu'est ce qui t'empèche de le faire ?

d0m
Mammouth du PHP | 1141 Messages

19 févr. 2008, 17:38

Salut,
et qu'est ce qui t'empèche de le faire ?
Absolument rien. Ce n'est pas le sens de ma question.

ViPHP
ViPHP | 2287 Messages

19 févr. 2008, 18:28

XML est bien adapté à la structuration de données en arborescence.

Si ton arbre est à créer, c'est un bon choix. Si tu as un existant codé autrement (base de données...), et/ou si ton arbre atteint des proportions gigantesques, alors la réponse serait moins tranchée.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

19 févr. 2008, 18:47

Qu'en est-il de l'évolutivité d'un tel système ?
Charges-tu l'arbre XML au démarrage de l'application ? Ou bien à chaque page?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

19 févr. 2008, 19:12

Absolument rien. Ce n'est pas le sens de ma question.
Je crois qu'on a un gros problème de communication. Permets-moi de te dire que je trouve insultant de dire "ce n'est pas le sens de ma question" sans daigner élaborer. À quoi ça sert qu'on essaie de participer à ce sujet si tous tes messages font exactement 2 lignes et ne donnent pas la moindre information ? Autant ne pas poster, merci de ne pas nous faire perdre notre temps.

d0m
Mammouth du PHP | 1141 Messages

20 févr. 2008, 09:46

Merci pour vos réponses. Je ne pense pas avoir été insultant, un peu succinct je l'admets et si vous pensez perdre votre temps vous êtes bien sur libre de ne pas répondre.

Je vais donc reformuler ma question pour être plus clair :

Mon site est comparable à un arbre. On navigue en allant dans des rubriques puis sous rubriques etc...
Je voudrais donc mettre en place un fil d'Ariane permettant de savoir où on se trouve actuellement en naviguant.

Je pensais donc utiliser un fichier XML pour représenter mes pages. Lors du chargement de la page, on va voir dans le fichier où se trouve la page dans l'arbre et on en récupère le chemin de navigation complet. A savoir que la construction du fichier n'est pas automatique puisqu'il faut définir soit même où se trouve chaque page.

Ma question était donc de savoir (retour d'expérience,etc...) si il y avait plus efficace ou plus pratique?

@calimero
l'arbre n'est pas très grand il doit y avoir un 30aine de pages au total et il est à faire simplement à la main selon l'appréciation du développeur, question d'organisation en gros.

@mère Teresa : l'évolution se limitera à des rubriques en plus, donc des pages en plus. Avec un fichier XML cela reviendrait à ajouter des nœuds manuellement à certains endroits. Je pensais charger à chaque page mais c'est vrai que ça pourrait être fait au chargement de la session seulement (arrivée sur l'application) mais ensuite est ce que ça serait aussi simple de rechercher une page dans l'arbre?
Peut être en ayant un tableau contenant le nom de toutes les pages en clé et en valeur le nom de la page parente.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

20 févr. 2008, 10:27

Les expériences que j'en ai s'appuient sur des bases de données avec au moins une table qui s'occupe d'arborescence. L'accès aux fichiers est bien plus rapide que l'accès aux BDD, donc s'appuyer sur du XML n'est pas inintéressant.

Sinon, j'ai fait des chemins de fer (ou fils d'ariane) en stockant en session les dernières pages visitées, plutôt que les pages parentes.

Et je t'invite à lire un post intéressant : http://www.fredcavazza.net/2007/09/05/p ... avigation/
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

d0m
Mammouth du PHP | 1141 Messages

20 févr. 2008, 10:31

merci pour les infos :D