Explore.php : un explorateur d'arborescence simplifié en PHP pour faciliter la gestion des sites web.

Copyright (C) 2002 Paul Delannoy http://tontonpol.dyndns.org
freepol@free.fr

Téléchargement (fichier .tar, 30 Ko)
en cliquant ICI
Here for an english(*) version
(*) I translated myself, so I apologize NOW ;-)

Objet :     Ce programme est écrit pour qu'il ne soit pas nécessaire de créer des pages de menu pour donner accès en http aux éléments HTML d'une arborescence de site web ; il est prévu pour être placé dans le répertoire racine de la branche d'arborescence à gérer. Il générera une page d'accueil, appelée par une référence telle que :
<a href="branche/explore.php">Acc&egrave;s &acute; branche</a>
depuis cette page d'accueil tout fichier HTML ou PDF et tout sous-répertoire (sauf ceux que vous voudrez cacher, cf. infra) deviendra accessible par un clic sur un lien ad'hoc généré par le programme. Comme il s'agit d'un menu dynamique, il reflètera instantanèment et sans intervention tout changement de la structure de cette partie du site. Pour chaque sous répertoire, et de manière récursive, un tel menu sera généré.

Bien sûr si vous voulez l'utiliser dès la racine, vous pouvez dire à votre serveur Apache que c'est explore.php le fichier d'accueil par défaut, cela suffira. L'autre solution, qui consiste à l'appeler index.php par exemple, est également possible si votre serveur renseigne correctement la variable $_SERV["PHP_SELF"] sensée contenir le nom du fichier qui s'exécute (cf. lignes 28, 29, 34 et 57 du script).

Exemple à : http://formation.paysdelaloire.iufm.fr

ou encore celui-ci obtenu en tests locaux

Nécessaire :         un serveur Web http qui supporte PHP4 (peut être seulement PHP3 mais je n'ai pas pu tester). PHP doit donner (vérifier avec phpinfo() par exemple) la bonne valeur aux variables suivantes :

$_ENV["PWD"] a pour valeur le caractère séparateur des répertoires dans un chemin (généralement /)
$_SERV["PHP_SELF"] a pour valeur le nom complet du fichier php en cours d'exécution (son URL relative)

Utilisation :       Il suffit d'organiser le rangement de fichiers HTML et PDF en sous répertoires et sous-sous-répertoires, dans la branche d'arborescence où l'on a placé le programme. Celui-ci fera tout le travail d'affichage de menus à partir d'un seul appel sans paramètres...

ATTENTION : j'ai rencontré au moins un service (Tiscali) pour lequel la 'descente' dans les sous répertoires ne fonctionne pas. Pour ce cas j'ai fait une version 'light' qui DOIT se nommer index.php et qui va se recopier toute seule dans tout sous-répertoire que vous créerez. Cliquez ici pour la télécharger.

Le programme utilise des fichiers _info.txt pour titrer les répertoires qu'il explore, et le contenu des balises <TITLE> des pages HTML pour titrer les liens sur les pages rencontrées.

Chaque menu généré comporte ainsi :

-Un lien de retour au niveau supérieur (sauf si l'on est tout en haut : voir infra une astuce pour contourner ça)

-Un titre général en <H3> : Contenu du répertoire : (ici le contenu du fichier _info.txt) ; si _info.txt n'a pas été créé, on affiche (pas d'information disponible).

-La liste (en ordre alpha) des éléments 'visibles' du répertoire et un message si celle-ci est vide

Cas particuliers, astuces.       

Si un répertoire ne doit pas figurer dans la liste (cas d'un répertoire d'images par exemple) il suffit de faire débuter son nom par le caractère '_' (underline, soulignement).

Pour générer un lien non automatique (par exemple la remontée au dessus de 'branche' dans l'exemple ci dessus) on fera figurer le <a href=... idoine dans le fichier _info.txt ; par exemple ceci,placé dans le fichier _info.txt du répertoire 'branche' rajoutera au titre "Contenu du répertoire :..." prévu un lien de retour sur la ligne suivante :

Documents de formation mathématiquespour PE<br><a href="../index.htm">retour menu général</a><br>

De même pour mettre des accents ou autres dans l'information de titrage d'un répertoire, vous utiliserez la norme HTML (&eacute;, etc...) plutôt qu'une frappe directe au clavier de la lettre accentuée.

Bugs corrigés : la version 0.0 supposait que chaque fichier HTML posséde une balise TITLE ; dans la version 0.1, on utilise dans ce cas à la place du titre manquant le nom du fichier suivi de la phrase 'n'a pas de titre' entre parenthèses.

(Hop zat elpe) En espérant que ce travail soit utile, Paul Delannoy
Mise en ligne janvier 2003