Je vais vous expliquer comment le modifier de façon à donner quelque chose de plus "joli", comme ceci par exemple :
Pour obtenir ce résultat, nous allons devoir modifier (ou créer) le fichier .htaccess qui se trouve à la racine de votre espace Web. La mise en page se fera en HTML. Et je vous le dis tout de suite, votre code ne sera pas valide, parce que le code HTML que génère Apache pour afficher le squelette de l'arborescence est invalide (il y a des balises dans un élément PRE).
A la racine de votre hébergement (dans le dossier de base), créez un fichier .htaccess. Si vous en avez déjà un, nous allons le modifier.
Header et footer
Commencez par écrire ces 2 lignes :
HeaderName /ftp/head.htm
ReadmeName /ftp/foot.htm
head.htm contiendra le code de la page à placer avant l'arborescence, et foot.htm, ce qui vient après.
Je ne comprends pas bien à quoi servent ces deux fichiers... tu peux expliquer ?
Quand vous naviguez dans votre FTP, Apache génère la liste des fichiers du répertoire que vous visitez. Cette liste va alors être ajoutée au code de head.htm. A tout cela, le code de foot.htm sera ajouté, ce qui donnera au final une page complète. Voici ce que ça peut donner :
<!-- code de head.htm -->
<PRE>Code du listing généré par Apache</PRE>
<!-- code de foot.htm -->
Oui, je sais, c'est très long... Le code de l'arborescence sera inséré par Apache entre ces 2 fichiers.
Quelques directives
Maintenant, ajoutez ce code :
IndexIgnore .htaccess Thumbs.db db
IndexOptions SuppressHTMLPreamble FancyIndexing
IndexOrderDefault Ascending Description
IndexIgnore : Cette directive précise quels fichiers ne seront pas affichés dans l'arborescence. Ici, j'ai choisi de cacher mes .htaccess, Thumbs.db ainsi que les fichiers .db.
IndexOptions : C'est la directive qui permet d'ajouter des options. Moi j'ai ajouté deux options : SuppressHTMLPreamble et FancyIndexing.
SuppressHTMLPreamble : c'est l'option qui va dire à Apache de ne pas générer lui-même le code du header et du footer (puisque c'est nous qui le faisons)
FancyIndexing : l'affichage des répertoires est en mode intelligent. C'est en fait le mode complet, celui généralement par défaut.
IndexOrderDefault Ascending Description : Cela signifie que le répertoire est classé par description. Le contraire d'ascending est descending. Vous pouvez aussi classer le répertoire par taille (size) ou par nom (name).
IndexStyleSheet (à parti d'Apache 2.2.2) : Grâce à cette directive, vous pouvez spécifier une feuille de style .css à charger.
Autres options d'IndexOptions
Je n'ai utilisé que deux options, les plus utiles. Mais il en existe d'autres, les voici :
L'option SuppressLastModified sert à enlever la colonne Last Modified.
L'option SuppressDescription sert à enlever la colonne Description.
L'option SuppressSize sert à enlever la colonne Size.
L'option SuppressColumnSorting sert à enlever les liens au dessus des colonnes pour changer l'ordre et le type de classement.
L'option IconsAreLinks sert à faire devenir l'icône un lien.
L'option IconWidth sert à définir la largeur des icônes en pixel (par défaut de 32). Exemple:IconWidth=32.
L'option IconHeight sert à définir la hauteur des icônes (elle doit être la même que la largeur). Exemple:IconHeight=32.
L'option FoldersFirst (v.2.0.23 au moins. Mais il semblerait que ça fonctionne sous Apache 1.3) sert à afficher les répertoires en premier (par défaut dans l'explorateur Windows.
L'option NameWidth sert à définir la largeur de la colonne Name. En mettant une étoile (*), la colonne prend la largeur du plus grand nom. Exemple:NameWidth=* ou NameWidth=50.
L'option DescriptionWidth (v.2.0.23 au moins) sert à définir la largeur de la colonne Description. Idem que pour NameWidth. Exemple:DescriptionWidth=* ou DescriptionWidth=50.
L'option IgnoreClient sert à ignorer le client: il ne peux plus choisir comment classer le répertoire en cliquant sur le nom des colonnes.
L'option SuppressIcon (v.2.0.23 au moins) permet de supprimer les icônes.
L'option SuppressRules (v.2.0.23 au moins) permet de supprimer les balises <hr /> du document (Apache en met deux: une sous les noms de colonnes et l'autre sous le contenu du répertoire).
L'option SuppressColumnSorting est remplacée par l'option IgnoreClient dans la version 2.0.23. Elles ont le même effet.
L'option HTMLTable (v.2.0.23 au moins, option expérimentale) permet d'inscrire le répertoire dans un tableau HTML. Cela peut-être très pratique.
L'option ScanHTMLTitles permet de remplacer la description par le nom du fichier/dossier.
L'option XHTML (v.2.0.49 au moins) permet de forcer l'utilisation de XHTML
L'option IgnoreCase permet d'ignorer la casse : Par défaut, les fichiers sont triés de A à Z puis de a à z, le fichier Zozor.sdz viendra avant ahah.txt. Avec cette option activée, les majuscules sont ignorées, ahah.txt vient avant Zozor.sdz.
L'option ShowForbidden permet d'afficher les fichiers normalement cachés.
L'option TrackModified (v.2.0.23 au moins) sert à afficher la date de dernière modification.
Ajout d'une icône
Pour ajouter une icône à un type de fichier, il suffit d'utiliser cette directive :
AddIcon (IMG,/ftp/pdf.png) .pdf .PDF
Cette directive définit une icône (/ftp/pdf.png) qui sera attribuée aux fichiers portant l'extension .pdf ainsi qu'à ceux portant l'extension .PDF.
IMG est le texte alternatif affiché si l'image n'est pas chargée.
Ajout d'une description
Dans le listage du contenu d'un répertoire, il y a une colonne Description, qui décrit chaque type de fichier. Voici comment modifier ce texte.
Ainsi, tous les fichiers portant l'extension .doc (ou .docx) auront comme description Document Word, au même titre que les fichiers affublés de l'extension, .DOC.
La première directive est faite pour les dossiers avec le lien Parent Directory (dont le chemin est ..). La deuxième sert tout simplement pour les dossiers normaux ;)