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 |
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ès ´ 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 (é, 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