A - Présentation

Ksplorer est un simple gestionnaire de fichier écrit en php5. Il a doit être installé directement sur un serveur Web Linux ( sa compatibilité avec Windows n'est pas garantie à ce jour ). Ce fichier unique vous permettra de copier / deplacer / supprimer vos fichiers sur un serveur, mais aussi d'autres manipulations tel que la création et l'extraction d'archive .zip ( via l'utilisation de la class PclZip ), la manipulation de lien entre différents fichiers (liens "symboliques" ( uniquement sur des serveurs linux ), ainsi que la possibilité d'editer directement certains fichiers.

B - Installation

Telechargez simplement le fichier "ksplorer.txt" et transferez le sur votre serveur, renommez le simplement "ksplorer.php" ( ou ksplorer.php5 si votre serveur propose php4 et php5 ) Attention, l'utilisation de ce script devrait systématiquement s'accompagner d'une protection .htaccess prévenant des tiers de naviguer parmis vos fichiers.

C - Descriptif des fonctionnalités de base.

L'interface principale de ksplorer vous permettra de naviguer au sein de votre systeme de fichier.

L'espace de droite présente les différents répertoires accessible depuis le dossier courant ( initialement, c'est le dossier où se trouve ksplorer)

Vous avez aussi la possibilité de naviguer directement dans l'arborescence parente jusqu'au dossier racine '/' de votre systeme de fichier, et de pouvoir ainsi acceder plus rapidement à certains emplacements.

A coté du nom d'un dossier vous trouverez quelques icones dont nous expliqueront l'utilité plus loin.

La liste de l'espace central liste les fichiers présents dans le repertoire courant.
Y sont présenté, pour chaque fichier : nom, taille ( en octet ) ainsi que la date de dernière modification. Les liens symboliques y seront aussi présents, avec un rappel des différentes informations du fichier pointé.

Pour chaque fichier, on remarquera la présence des icones suivantes :

[Telechargement] Cette icone vous permet de récuperer le fichier designé depuis le serveur. Le fichier est téléchargé tel quel, sans modification/inteprétation.

[Suppression] Cette icone supprimera, apres confirmation définitivement un fichier de votre serveur.

[Copie] Cette icone copiera le fichier spécifié vers un nouvel emplacement, vous pouvez specifier un chemin, relatif ou absolu.

[Renomer] Cette icone vous permet de renomer un fichier. Vous pouvez aussi deplacer un fichier en en présisant le chemin ( absolu ou relatif )

Suite à ces actions toujours présente, on trouvera suivant le type du fichier diverses icones :

Pour les fichiers "texte" (php/php5/js/html/txt & co)
[Editer] Cette icone vous ouvrira le fichier demander en mode "Edition", trouvez plus loin la documentation de cette fonctionnalitée.

Pour les fichiers "image" (gif/jpg/png)
[Appercu] Cette icone vous affichera à droite du nom du fichier une miniature sommaire de l'image designée ( si elle dépasse une certaine taille )

Pour les fichiers "archive" (zip)
[Extraction] Cette icone déclenchera l'extraction affichera à droite du nom du fichier une miniature sommaire de l'image designée ( si elle dépasse une certaine taille )

En dessous la liste des fichiers, outre quelques récapitulatifs, on trouvera des boutton d'action. Ces boutons ont les mêmes comportement que ceux deja cités, à la différence qu'ils travaillent sur des séries de fichier. Vous pouvez donc selectionner ( via les cases à cocher ) plusieurs fichiers, et decider de les copier vers un nouveau repertoire, de les renommer, de les supprimer, où de les regrouper dans une archive ZIP.

Ce champ vous permet l'envoi de fichier depuis votre ordinateur dans le repertoire courant.Vous êtes limité dans la taille des fichiers envoyé par PHP, veuillez consulter la documentation correspondante.

Ce champ vous proposera d'effectuer une recherche du texte spécifié dans tous les fichiers "texte" du répertoire courant et de ses sous-repertoires. La recherche se base sur une recherche sensible à la casse sur le modele d'expression réguliere compatible PERL.

Ces champs permettent la création de nouveau repertoire ou de fichier. Vous pouvez aussi creer un lien symbolique via le dernier bouton. Cette fonctionnalité ne nous sera d'aucune utilité si vous n'en connaissez pas le principe, mais tentez le coup, c'est marrant et pratique.

D - Descriptif du mode "Edition"

Ksplorer vous propose un mode très sommaire afin de gerer l'édition de fichier distants.
Chaque fenetre d"édition vous proposera les trois icones suivantes qui servent respectivement à :
- Declencher l'enregistrement du fichier courant.
- Rien
- Restaurer la dernier version du fichier courant.


Ksplorer propose une gestion simpliste des différentes modifications d'un fichier. Via le menu déroulant présent à gauche du nom du fichier, vous avez la possibilité de recharger le fichier courant tel qu'il aura été à une date antérieure. (même dossier, même nom)

E - Trucs et astuces

- si vous administrez vous même votre serveur et que vous avez installé APC avec le support de rfc1867, vous verrez une barre de progression lors du chargement de fichier.
- Les sauvegardes d'un fichier ne sont pas supprimée à la suppression de celui-ci, en cas de grosse boulette, recréez simplement un fichier vide ayant le même nom que le defunt, vous pourrez alors recuperer toutes les sauvegardes de celui ci
- L'icone "-1" en haut des checkboxs n'a pas pour effet de "tout cocher/ tout decocher".
- En mode "Edition", tappez avec promptement CTRL deux fois, plutot que de vous saouler à aller cliquer tout en haut.
- En mode "Edition", vous pouvez TABuler, c'est cool ca.
- En mode "Edition", la modification d'un fichier XML valide ( avec une DTD locale déclarée ) gere l'indentation automatique
- Quand vous listez des fichiers, une pression sur la touche "Suppr" de votre clavier aura le même effet qu'un click sur le bouton de suppression de fichier par lot.
- Sous linux, renommer un fichier "test.txt" en "../test.txt" revient à le deplacer dans son repertoire parent.
- La création d'archive résoud les liens symboliques, et vous permet de creer des archives "réélles" de vos fichiers si placés dans des dossiers "symboliques"
- A coté de "131 - " dans le pavé de signature se trouve un timestamp Unix ( si vous en avez marre de le chercher )

F - Limitations et bugs connus.

- La recherche dans une arborescence trop complexe a de forte chance de planter, faites votre recherche dans le repertoire le plus bas possible.
- Les noms de fichiers non valide XML ( contenant un des caractere suivant " &,< ou > font tout planter ( super flemme )
- La traduction des évenements n'est pas assurée ( ksplorer doit pouvoir potentiellement servir de l'utf-8 et de l'iso, alors assoule )
- La traduction des libéllés de l'interface n'est pas assurée ( assoule de graouter la feuille XSL )
- Le téléchargement de gros fichiers déconne ( le fichier est chargé dans la RAM avant d'être envoyé, vous êtes limité ( heureusement) par PHP)
- Les icones d'action n'ont ni ALT, ni title, lisez cette doc, cliquez, demerdez vous.
- Le retaillage de miniature est tellement sommaire, qu'il peut paraitre etrange sur certains fichier verticaux et fin
- Le retaillage de miniature n'aime pas la transparence.
- parfois, des trucs deconnent sous IE ( super )
- Les fenetre d'édition de fichier n'aiment pas la récupération de session sous FFox ( osef )
- Vous ne pouvez pas supprimer de repertoire contenant des fichiers, et je pense ne jamais gerer la suppression récursive, c'est trop chiant.
- La coloration syntaxique des fichiers édités est souvent demandée : outre la complexité de cette option, je suis daltonien, et je m'en zef, et de toute facon, cet editeur n'a pas pour vocation de remplacer les fonctionalitées de Notepad2. Regardez plutôt du coté de "It's all text" pour firefox si vous êtes intéréssé par ce genre de comportement.
- La présence de lien symbolique rompu brise le calcul de la taille globale d'un dossier "NaN" ( super flemme )