Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ariane et son Fil

21 réponses
Avatar
News
Bonjour,

Comment gérer un fil d'Ariane ? En particulier :

1) si une page peut-être appelée depuis plusieurs autres pages du site ?
Exemple : une fiche article, une fiche utilisateur ou en core une fiche
client...

2) si les utilisateurs du site font usage du bouton "Retour" (history.back()
en javascript) ? Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même vers
une page non encore visitée (via un lien de leurs favoris?)

Merci bien !

10 réponses

1 2 3
Avatar
Mihamina Rakotomandimby (R12y)
News wrote:

Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même
vers une page non encore visitée (via un lien de leurs favoris?)


Le fil d'ariane étant le parcours de l'utilisateur, si il atteri directement
sur telle ou telle page, alors le fil qui fait bien son boulot commencera
là.
Ceci dit, il _me_ semble que certains analiseurs de logs Apache qui existent
savent faire ce boulot, après analyse des logs (donc pas forcément en temps
réél).

Avatar
Olivier Miakinen

Comment gérer un fil d'Ariane ?


Pour ceux qui (comme moi avant de faire la recherche) ne savent pas ce
qu'est un « fil d'Ariane » en technologie Web, voici une explication :
<http://fr.wikipedia.org/wiki/Fil_d%27Ariane>

Il y a un exemple ici :
<http://www.dmoz.org/World/Fran%C3%A7ais/Informatique/Internet/>

Le fil d'Ariane comprend les mots suivants :
Top: World: Français: Informatique: Internet:

Ceux-ci pointent respectivement vers :
http://www.dmoz.org/
http://www.dmoz.org/World/
http://www.dmoz.org/World/Fran%c3%a7ais/
http://www.dmoz.org/World/Fran%c3%a7ais/Informatique/
http://www.dmoz.org/World/Fran%c3%a7ais/Informatique/Internet/

Dès lors, la réponse est toute simple : il suffit de retirer
successivement le nom de chaque sous-répertoire pour obtenir le fil
d'Ariane.

En particulier :

1) si une page peut-être appelée depuis plusieurs autres pages du site ?
Exemple : une fiche article, une fiche utilisateur ou en core une fiche
client...


On s'en fiche. Par exemple le lien précédent pointe vers la version
anglaise http://www.dmoz.org/Computers/Internet/ qui a son propre fil
d'Ariane :
http://www.dmoz.org/
http://www.dmoz.org/Computers/
http://www.dmoz.org/Computers/Internet/

2) si les utilisateurs du site font usage du bouton "Retour" (history.back()
en javascript) ? Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même vers
une page non encore visitée (via un lien de leurs favoris?)


Tout pareil.

Bon, je laisse la discussion sur fr.comp.lang.php au cas où tu ne
saurais pas comment découper $_SERVER["SCRIPT_URI"] en morceaux.

Avatar
Olivier Miakinen

Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même
vers une page non encore visitée (via un lien de leurs favoris?)


Le fil d'ariane étant le parcours de l'utilisateur, si il atteri directement
sur telle ou telle page, alors le fil qui fait bien son boulot commencera
là.


Si vraiment c'est *ça* le fil d'Ariane, alors je ne vois pas en quoi
cela concerne l'auteur du site. Chacun a son propre fil d'Ariane
dans l'historique de son navigateur, fil qui ne suit aucune logique
particulière.

Mais si le fil d'Ariane correspond à ce qu'en dit l'article de
Wikipédia, et qui est utilisé par dmoz, alors oui, je vois un intérêt
qui concerne aussi bien l'auteur du site que le visiteur : organiser
ses pages d'une façon structurée, de sorte que les visiteurs s'y
retrouvent plus facilement.

Ceci dit, il _me_ semble que certains analiseurs de logs Apache qui existent
savent faire ce boulot, après analyse des logs (donc pas forcément en temps
réél).


C'est encore autre chose. Si un visiteur a deux fenêtres ouvertes
simulatnément sur un site, il pourrait avoir le cheminement suivant :
Fenêtre 1 : A ------- B - C - D ------- E
Fenêtre 2 : A - B ----------- C - D

... auquel cas les logs Apache verraient :
A A B B C D C D E


Mais là on est de plus en plus hors sujet dans fclp.


Avatar
News
Il y a un exemple ici :
<http://www.dmoz.org/World/Fran%C3%A7ais/Informatique/Internet/>

Le fil d'Ariane comprend les mots suivants :
Top: World: Français: Informatique: Internet:

Ceux-ci pointent respectivement vers :
http://www.dmoz.org/
http://www.dmoz.org/World/
http://www.dmoz.org/World/Fran%c3%a7ais/
http://www.dmoz.org/World/Fran%c3%a7ais/Informatique/
http://www.dmoz.org/World/Fran%c3%a7ais/Informatique/Internet/

Dès lors, la réponse est toute simple : il suffit de retirer
successivement le nom de chaque sous-répertoire pour obtenir le fil
d'Ariane.



Toute simple, toute simple...
Avez-vous lu attentivement mes questions, ou me suis-je mal exprimé ?
Ou encore quelque chose m'échappe ?
Bref, s'agissant du site sur lequel je travaille, toutes les pages sont,
physiquement, dans un même dossier.
A la limite, on pourrait imaginer réorganiser tout cela dans des dossiers...
MAIS, une fiche article, par exemple, c'est toujours une fiche article...
Partout dans le site, c'est la même, qu'elle soit demandée depuis une
branche de l'arborescence dédiée à la saisie de commande, ou d'une autre
branche liée aux statistiques articles, ou n'importe quoi d'autre...
Serait-ce que vous me conseillez de *dupliquer* les pages ?
Autant de fiche article que d'endroit où elle peut être appelée ?
Simplement lourd, non ?

En particulier :

1) si une page peut-être appelée depuis plusieurs autres pages du site ?
Exemple : une fiche article, une fiche utilisateur ou en core une fiche
client...


On s'en fiche. Par exemple le lien précédent pointe vers la version
anglaise http://www.dmoz.org/Computers/Internet/ qui a son propre fil
d'Ariane :
http://www.dmoz.org/
http://www.dmoz.org/Computers/
http://www.dmoz.org/Computers/Internet/



Ah, une remarque : cela suppose des noms de dossier "parlant" ?
Egalement, quid d'un site multi-lingues ?

Bon, je laisse la discussion sur fr.comp.lang.php au cas où tu ne
saurais pas comment découper $_SERVER["SCRIPT_URI"] en morceaux.


J'ai donc echappé à la censure... Brrr...


Avatar
News
"Mihamina Rakotomandimby (R12y)" a écrit dans le
message de news: f1use7$2hi6$
News wrote:

Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même
vers une page non encore visitée (via un lien de leurs favoris?)


Le fil d'ariane étant le parcours de l'utilisateur, si il atteri
directement
sur telle ou telle page, alors le fil qui fait bien son boulot commencera
là.


A mon humble avis, contrairement à ce que la la mythologie laisse supposer,
dans le cas d'un site, le fil d'Ariane n'est pas tant l'exact parcours d'un
utilisateur qu'un moyen de navigation sympa, rapide, et aussi une aide, un
repère... Savoir "où on est"... Bref, l'idée, c'est plutôt de se situer...
Une sorte de "progression logique"... Ce n'est donc pas l'exact parcours de
l'utilisateur...

Cela dit, j'avoue que je veux bien un exemple de page "qui fait bien son
boulot" ?
Ou une piste fiable ? ;-P

D'ailleurs, j'ai posé quelques questions rien que pour cela ;-)


Avatar
Yttrium
Le 10/05/2007 14:36, News nous disait:

Cela dit, j'avoue que je veux bien un exemple de page "qui fait bien son
boulot" ?
Ou une piste fiable ? ;-P



Bonjour,

Comme demandé, voici un exemple de site qui gère un fil d'ariane par le
biais d'un fichier XML.

Le lien "plan du site" situé en bas de page exploite ce même fichier
XML, qui me permet de spécifier pour chacune des pages , la rubrique à
laquelle est rattachée.

http://www.santevet.com

Plus de détails techniques sur la mise en oeuvre à la demande.

Salutations.

Avatar
Olivier Miakinen

Dès lors, la réponse est toute simple : il suffit de retirer
successivement le nom de chaque sous-répertoire pour obtenir le fil
d'Ariane.


Toute simple, toute simple...
Avez-vous lu attentivement mes questions,


Je crois même y avoir répondu, fort de mes connaissances toutes
nouvelles de ce que pouvait signifier « fil d'Ariane » et du peu
d'informations supplémentaires que vous avez amené.

ou me suis-je mal exprimé ?


On peut éventuellement vous reprocher un excès de concision, mais en
dehors de ça vos phrases me semblaient claires.

Bref, s'agissant du site sur lequel je travaille, toutes les pages sont,
physiquement, dans un même dossier.


Voilà une information que je n'avais pas. Il vous faudra donc indiquer
l'organisation logique de vos pages sans vous baser sur leurs adresses.
À moins bien sûr que vous utilisiez le module de réécriture Apache pour
refléter cette organisation logique dans les URL, même si tous les
fichiers sont regroupés au même endroit.

A la limite, on pourrait imaginer réorganiser tout cela dans des dossiers...


Inutile de le faire physiquement.

MAIS, une fiche article, par exemple, c'est toujours une fiche article...
Partout dans le site, c'est la même, qu'elle soit demandée depuis une
branche de l'arborescence dédiée à la saisie de commande, ou d'une autre
branche liée aux statistiques articles, ou n'importe quoi d'autre...


Oui.

Serait-ce que vous me conseillez de *dupliquer* les pages ?
Autant de fiche article que d'endroit où elle peut être appelée ?


Certainement pas ! Regardez l'exemple que je vous ai donné. En cliquant
sur le lien donnant la page équivalente dans une autre langue, vous
n'ajoutez pas la page en anglais à la fin du fil d'Ariane des pages en
français !

On s'en fiche. Par exemple le lien précédent pointe vers la version
anglaise http://www.dmoz.org/Computers/Internet/ qui a son propre fil
d'Ariane :
http://www.dmoz.org/
http://www.dmoz.org/Computers/
http://www.dmoz.org/Computers/Internet/


Ah, une remarque : cela suppose des noms de dossier "parlant" ?


C'est une possibilité, mais pas la seule. À vous de savoir faire la
correspondance entre le « titre » d'une page et son URL.

Egalement, quid d'un site multi-lingues ?


Encore une fois, l'exemple de dmoz.org est parfait, et j'ai même donné
l'exemple du passage entre le français et l'anglais. Vous me reprochiez
de ne pas vous avoir lu, mais je peux vous retourner le compliment.

Bon, je laisse la discussion sur fr.comp.lang.php au cas où tu ne
saurais pas comment découper $_SERVER["SCRIPT_URI"] en morceaux.


J'ai donc echappé à la censure... Brrr...


C'est d'autant plus heureux que je doute que l'adresse
soit la vôtre. Notez que ce nom de domaine appartient à une société qui
vend probablement plus de logiciels de spam que de logiciels antispam.

Notez qu'il est de bon ton de terminer son adresse par « .invalid » dans
ce cas, pour plein de bonnes raisons maintes fois exposées. Donc, prenez
plutôt ou , merci.

Voir : <http://www.faqs.org/faqs/fr/usenet/abus/adresses-antispam/>.


Avatar
Denis Beauregard
Le 10 May 2007 10:27:48 GMT, News écrivait dans
fr.comp.lang.php:

Bonjour,

Comment gérer un fil d'Ariane ? En particulier :

1) si une page peut-être appelée depuis plusieurs autres pages du site ?
Exemple : une fiche article, une fiche utilisateur ou en core une fiche
client...

2) si les utilisateurs du site font usage du bouton "Retour" (history.back()
en javascript) ? Ou encore si ces utilisateurs "sautent" directement à
n'importe quelle page du site déjà visitée (via l'historique?) Ou même vers
une page non encore visitée (via un lien de leurs favoris?)


S'il s'agit de retrouver le chemin suivi de façon efficace, je pense
que la seule façon est avec un cookie. Au début de chaque page, on
ajoute à une pile (conservée sous forme de cookie) la page courante,
soit son identification ou un mot clé.

Le cookie pourrait être par exemple:
Top:World:Français:Informatique:Internet:
puis on fait explode pour séparer en mots et afficher.

Beaucoup de sites interdisent l'entrée du visiteur qui n'a pas
ses cookies actifs ou le redirigent vers une page de départ
s'il arrive à l'intérieur. À l'auteur de décider si c'est essentiel.

De plus, si c'est un robot qui explore toutes les pages, il y a un
problème !

Et si le but est de remplacer l'historique, il me semble plus simple
d'utiliser cet historique.


Denis
P.S. Il y a une association sur Internet qui s'appelle le Fil
d'Ariane et cela n'a pas de rapport avec le chemin suivi sur un site.

Avatar
CrazyCat
Je présume que tu as quelque part une représentation de ton arborescence.
Pour ma part, sur de nombreux sites, je travaille récursivement pour
remonter de la page actuelle au tout premier parent.
Pour cela, je fais une requète pour stocker les informations utiles dans
un array de la forme:
$menu[$id] = array(
'parent_id' => $parent_id,
'titre' => $titre,
)

Et ma fonction de création du fil d'ariane fait une recherche récursive
dans $menu en partant du plus bas pour remonter au plus haut, les
résultats sont stockés dans un second tableau sur lequel je fais un
krsort().



--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
Avatar
Olivier Miakinen

S'il s'agit de retrouver le chemin suivi de façon efficace, je pense
que la seule façon est avec un cookie. Au début de chaque page, on
ajoute à une pile (conservée sous forme de cookie) la page courante,
soit son identification ou un mot clé.


Est-ce que tu penses que ça pourrait fonctionner avec plusieurs fenêtres
ou onglets ouverts sur le même site Personnellement j'en doute.

Le cookie pourrait être par exemple:
Top:World:Français:Informatique:Internet:
puis on fait explode pour séparer en mots et afficher.


Et donc, même avec une seule fenêtre, quelqu'un qui passerait de la page
française à l'anglaise avant de remonter vers la racine pourrait arriver
par exemple à :
Top:World:Français:Informatique:Internet:Internet:Computers:Top:World:(etc.)

Beaucoup de sites interdisent l'entrée du visiteur qui n'a pas
ses cookies actifs ou le redirigent vers une page de départ
s'il arrive à l'intérieur. À l'auteur de décider si c'est essentiel.


*Beaucoup* de sites ? Quelle horreur. :-(

Je voyais ça avec les vieux sites utilisant des cadres (angl: frames)
mais heureusement c'est de plus en plus rare.

Et si le but est de remplacer l'historique, il me semble plus simple
d'utiliser cet historique.


[OUI]

1 2 3