Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

 

 

 

Dans cet article, nous allons voir comment afficher ou ne pas afficher l'index des fichiers contenus dans un répertoire web.

Nous verrons comment personnaliser l'affichage d'un index, grâce à un fichier .htaccess

 

Le cas général

Si un répertoire ne contient pas de fichier index.htm ou index.php et que vous entrez l'URL d'un répertoire, vous obtenez un index, listant les fichiers et les sous-répertoires :

Si vous cliquez sur cette adresse d'exemple, vous verrez le contenu du répertoire.

 

 

En fonction de la configuration de votre serveur, vous obtenez peut-être une erreur 404 : nous allons voir dans quelques instants comment résoudre ce problème

 

 

Empêcher la création de l'index

Si vous ne souhaitez pas que le contenu d'un répertoire soit affiché, c'est très simple, il vous suffit de placer dans le répertoire un fichier index.htm ou index.php.

Vous pouvez tout à fait le laisser totalement vierge.

Sa seule présence permettra de bloquer l'affichage de l'index.

En cliquant sur cette adresse d'exmple, vous constaterez que vous obtenez une page vierge et que vous ne pouvez plus accéder à la liste des fichiers. Ils sont pourtant toujours présents.

 

 

Autoriser la création de l'index

Si vous souhaitez que l'index s'affiche, le fait que votre répertoire ne contienne pas de fichier index.htm ou index.php suffit en principe à permettre son affichage.

Cependant, selon certaines configuration du serveur, un répertoire sans index.htm ou index.php renvoie parfois une erreur 404.

Pour y remédier, ouvre le bloc-notes de windows et saissez la commande :

Options +Indexes

 

 

Faites "Fichier", "Enregistrer sous"

 

 

Dans le champ "Type", sélectionnez "Tous les fichiers"

 

 

Nommez le document .htaccess puis cliquez sur "Enregistrer"

 

 

Envoyez ce fichier .htaccess à l'intérieur du répertoire souhaité avec votre logiciel FTP

 

 

L'index sera désormais affiché :

 

 

Personnaliser l'index

Il est possible de personnaliser la présentation d'un index.

Tout se fait en modifiant le fichier .htaccess, à l'aide du bloc-notes de Windows ou de tout autre éditeur de texte.

Je vous recommande le très bon logiciel gratuit Notepad++, qui est plus agréable que le traditionnel Notepad !

Voici à quoi peut ressembler un index amélioré :

 

 

Voyons comment faire...

 

 

Définir un en-tête

Créez une page au format .html à votre goût. Vous pouvez utiliser des images, une feuille de style CSS, etc....

Uploadez-là sur votre serveur dans un répertoire spécifique ou à l'intérieur du répertoire que vous désirez indexer.

Je nomme la mienne entete.html

Modifier le .htaccess en ajoutant la commande suivante :

HeaderName "URL de votre page"

Le lien peut être absolu ou relatif.

 

 

Définir un pied de page

Le principe est le même que pour l'en-tête.

Créez une page au format .html et modifier le .htaccess en ajoutant la commande :

ReadmeName "URL de votre page"

 

 

Définir les icônes selon le type de fichier

Il est possible de définir une icône personnalisée pour chaque type de fichiers et de définir une icône qui sera affichée si l'extension d'un document n'est pas reconnu.

J'ai pris soin de créer mes icône, que j'ai choisi de placer dans un répertoire "index_personnalise" :

  • j'ai créé une icône pour les fichiers images : picture.jpg
  • une icône pour les fichiers texte : text.jpg
  • une icône pour les répertoires : folder.jpg
  • une icône pour les fichiers dont l'extension est inconnue : inconnu.jpg

 

Pour personnaliser l'icône de mes images, j'ajoute la commande suivante :

AddIcon (IMG,http://www.learnup.fr/index_personnalise/picture.jpg) .gif .jpg .png

L'icône "picture.jpg" sera utilisée pour tous les fichiers ayant une extension en .gif, .jpg ou .png.

Si je souhaite ajouter plus d'extensions, je les ajoute à la suite :

AddIcon (IMG,http://www.learnup.fr/index_personnalise/picture.jpg) .gif .jpg .png .jpeg .bmp

 

Pour mes fichiers de type texte, j'ajoute la commande :

AddIcon (TXT,http://www.learnup.fr/index_personnalise/text.jpg) .txt .htm .html . doc

L'icône "text.jpg" sera utilisée pour tous les fichiers ayant une extension en .txt .htm .html ou .doc

 

Pour mes répertoires et sous-répertoires, j'ajoute la commande :

AddIcon http://www.learnup.fr/index_personnalise/folder.jpg ^^DIRECTORY^^

 

Je souhaite que, si l'extension du fichier est différente de tous ceux pour lesquels j'ai prévu une iône, l'icône "inconnu.jpg" soit utilisée. J'ajoute la commande :

DefaultIcon http://www.learnup.fr/index_personnalise/inconnu.jpg

 

Mon fichier .htaccess ressemble à ceci :

 

 

A chaque fois que vous modifiez votre .htaccess, je vous recommande de l'uploader afin de le tester. Vous verrez ainsi immédiatement si vous avez commis une erreur de syntaxe !

L'affichage de mes icônes est correct :o) J'ai créé un fichier avec une extension inconnue, en .gre : notez que l'icône "inconnu.jpg" est utilisée automatiquement...

 

 

Transformer les icônes en lien

Si vous souhaitez que vos icônes soient cliquables, ajoutez la commande suivante :

IndexOptions FancyIndexing IconsAreLinks

 

 

Définir la largeur des colonnes "Name" et "Description"

Vous pouvez déterminer la taille des colonnes "Name" et "Description"

Saisissez la commande suivante dans votre .htaccess, en remplaçant les chiffres par la taille que vous souhaitez.

La taille des colonnes est exprimée en pixels

IndexOptions NameWidth=30 DescriptionWidth=57

 

 

Définir l'ordre d'affichage des fichiers

Si vous souhaitez classer les fichiers du plus récent au plus ancien, ajoutez la commande :

IndexOrderDefault Descending Date

 

 

Masquer des répertoires ou des fichiers

Si vous souhaitez qu'un fichier ou un répertoire n'apparaisse pas, utilisez la commande IndexIgnore.

Si vous avez plusieurs fichiers ou répertoires à masquer, je vous conseille de créer une ligne par objet.

Quelques exemples :

IndexIgnore entete.html (masquera la page "entete.html")
IndexIgnore secret (masquera le repertoire nommé "secret")
IndexIgnore logo.jpg (masquera l'image "logo.jpg)

Pour interdire par exemple l'affichage de tous les fichiers ayant une extension en .htm, indiquez la commande :

IndexIgnore *.htm

 

 

Afficher les répertoires en premier

Si vous souhaitez que vos dossiers apparaissent en premier dans l'index, ajoutez la commande

IndexOptions FancyIndexing FoldersFirst

 

 

Scannez le titre des pages HTML et les mettre en description

Si votre index est amené à lister des pages html, il est possible de faire apparaître le nom des pages dans la colonne description.

Pour celà, ajoutez la commande :

IndexOptions FancyIndexing ScanHTMLTitles

 

 

Définir une description pour un fichier donné

Il est possible de déterminer une description qui sera affichée si le fichier correspond au critère que nous avons défini.

Je souhaite par exemple que les descriptions suivantes apparaissent :

  • la description "Page générant l'en-tête" si le fichier se nomme "entete.html"
  • la description "Icône utilisée si l'extension est inconnue" si le fichier se nomme "inconnu.jpg"

Je saisi les commandes suivantes :

AddDescription "Page générant l'en-tête" entete.html
AddDescription "Icône utilisée si l'extension est inconnue" inconnu.jpg

Et obtiens ceci :

 

 

Supprimer des colonnes

Vous avez la possibilité de supprimer les colonnes que vous ne souhaitez pas utiliser :

Pour supprimer la colonne de description, indiquez la commande : IndexOptions FancyIndexing SuppressDescription

Pour supprimer la colonne contenant les dates de modification des fichiers : IndexOptions FancyIndexing SuppressLastModified

Pour supprimer la colonne contenant les tailles des fichiers : IndexOptions FancyIndexing SuppressSize

 

 

Interdire le tri par en-tête de colonne

Par défaut, les utilisateurs ont la possibilité de trier les fichiers en cliquant sur les en-têtes de colonnes

 

Pour désactiver cette fonctionnalité, utilisez la commande : IndexOptions FancyIndexing SuppressColumnSorting

 

 

 

greg

 

 

1000 caractères restants