fr   gb


Arbor

Limitations

Arbor a des limites... dont certaines sont vite atteintes !

up1. Tous les modes

up1.1. Nombre d'arborescences par page

Un principe : Une seule arborescence de MÊME mode par page ! C'est-à-dire un seul OBJET arborescence basé sur un fichier de menu et/ou un seul OBJET arborescence basé sur un répertoire (explorateur de fichier).

Les informations d'état de l'arborescence étant transmises soit dans l'url (mode "fichier de menu") soit dans un unique cookie (mode "explorateur"), il y a "interférence" entre elles, c.à.d. que si vous placez deux objets arborescences différents mais de même mode sur une même page les infos d'état de l'arborescence cliquée seront transmises également à l'arborescence non cliquée avec des résultats aléatoires... L'affichage d'une unique arborescence peut être dupliqué à volonté sur une même page mais on doit éviter d'associer plusieurs arborescences de même mode et de structure différente sur une même page.

ATTENTION, pas de confusion :

* Un seul objet arborescence par mode, oui, mais les modalités d'affichage de cet objet peuvent être multiples sur une même page (menus, fils d'Ariane, plan de site, liens...), les uns pilotant les autres de façon réciproque parfaitement harmonieuse.

* Il n'y a aucune interférence entre une arborescence de mode "fichier de menu" et une arborescence de mode "explorateur de fichiers", qui cohabitent fort bien sur une même page.

Dérogations au principe :

* Cette interférence peut aussi être utilisée dans certains cas spéciaux.

L'un de ces cas est celui d'une arborescence de mode "fichier de menu" aux libellés abrégés pilotant une arborescence de même mode et de même structure mais aux libellés étendus, par exemple un plan commandant l'affichage sélectif des paragraphes d'un document complexe lui-même réactif et interagissant avec son propre plan. En effet, la longueur du libellé de chaque ligne n'est en rien limitée, rien ne s'oppose à ce que ce soit un long paragraphe !

* Affichage du plan d'un site à menus modulaires.

Dans ce cas on peut instancier à la suite l'un de l'autre un objet avec chaque fichier de menu concerné, comme le fait le présent site.

$monMenu = new Arbor('fichierMenu1.php');

$monMenu->write('plan');

$monMenu = new Arbor('fichierMenu2.php');

$monMenu->write('plan');

$monMenu = new Arbor('fichierMenu3.php');

$monMenu->write('plan');

up2. Mode "Fichier de menu"

up2.1. Taille des arborescences

La longueur d'une url étant limitée, le nombres de lignes de l'arborescence est donc lui-même limité.

Ce nombre maximal de lignes ne peut être précisé puisque la longueur maximale admissible d'une url est variable suivant les navigateurs (et leurs versions) et les serveurs.

En fait, cette limitation lié à l'url est assez théorique et des menus de plusieurs centaines de lignes sont réalisables (mais déconseillés pour des raisons de lourdeur...).

Si vous craignez de dépasser cette limite, utilisez le paramètre de compactage d'url qui repoussera cette limite bien au-delà du raisonnable en ce qui concerne le nombre de lignes d'arborescence possibles (là encore le nombre maxi ne peut être précisé).

up2.2. Contrôle des liens

En mode "Journal d'exécution", Arbor contrôle automatiquement la validité des liens de menus, affiche une liste des liens morts dans le journal et affiche ces liens morts de manière différente afin de les repérer aisément à l'écran.

Voir : Le journal d'exécution

Néanmoins, si vous chargez vos pages PHP par inclusion dans un unique document-conteneur (comme le fait le présent site), le contenu réel étant indiqué par un paramètre d'url, le contrôle des liens sera inopérant car Arbor ne peut contrôler que le lien vers le document conteneur (la page proprement dite, avant le "?" de l'url), qui peut être valide alors que le paramètre d'url pointe sur une page inexistante.

up2.3. Plan de site et chaînage de menus

L'affichage du plan de site ne prend en compte que l'objet arborescence en cours. Si le menu appelle des sous-menus indépendants (plusieurs fichiers de menu), le contenu de ceux-ci n'est pas pris en compte. De même si l'objet arborescence est basé sur un sous-menu indépendant, son menu-parent n'est pas pris en compte... Il faut donc instancier un objet pour chaque fichier de menu et appeler successivement l'affichage du plan de chacun d'eux (comme le fait le présent site).

up3. Mode "Explorateur de fichier"

up3.1. Modification du contenu d'un répertoire en cours de session

Si l'arborescence ou le contenu du répertoire listé ou de ses sous-répertoire sont modifiées entre deux clics, l'arbre est bien mis à jour MAIS il se réaffiche avec toutes ses branches repliées, hormis la branche contenant le clic.

up3.2. Désactivation des cookies

Si les cookies sont refusés par le navigateur du visiteur, l'arborescence des fichiers s'affichera avec ses branches toujours fermées, les sous-répertoires ne pourront donc être visualisés.

Nb : la désactivation des cookies ne perturbe pas le mode "fichier de menu" car celui-ci transfère son masque de développement par l'url et non dans un cookie.

 

Le journal d'exécution <> Sécurité

 

 

Arbor Home

 

Home Accueil

Contact Chercher

Contact Contact

Site Plan Plan du site

Page top Haut de page

Valid XHTML 1.0 Strict