Schplurtzeries
Le wiki de schplurtz
Dokuwiki

19. March 2017 [Licence] ztrulphcs

mwebadmin.php

mWebadmin est un gestionnaire de fichiers distants. Bien qu'il ne soit composé que d'un seul fichier, il permet tout de même d'accomplir les opérations de téléversement, téléchargement, déplacement, renommage, copie, édition, extraction d'archives zip, tar, tar.gz, tar.bz2 et le téléchargement de fichier ou dossiers complets sous forme d'archive tar.

Il existe beaucoup de logiciels de ce genre, mais vu les restrictions sur PHP en vigueur chez free, peu d'entre eux y fonctionnent correctement. Celui ci fonctionne bien.

Cette version est adaptée à free. et fonctionne normalement. Cette version fonctionne aussi chez d'autres hébergeurs.

Captures d'écrans

Licence

Ce script est distribué sous les termes de la licence publique générale GNU, dont une traduction non officielle est disponible sur la page de la FSF France.

Il est basé sur webadmin.php de Daniel Wacker, et contient des bibliothèques modifiées de gestion d'archive zip et tar, originellement faisant partie de la suite (disparue) maxgComp.

Téléchargement

installation

Créer un dossier rien que pour ce script et déposez y mwebadmin.php. par exemple, déposez le dans gestionnaire/mwebadmin.php.

C'est fini, le script est installé et fonctionne. Rendez vous sur la page correspondante, http://votresite.free.fr/gestionnaire/mwebadmin.

protection

L'ennui c'est que le script n'utilise pas de mot de passe. On va donc protéger le répertoire où il se trouve, par fichier .htaccess. Ce système est intégré à mwebadmin.php et sa mise en place ne prend que quelques clics.

  1. Rendez vous sur la page d'accueil de votre webadmin, http://votresite.free.fr/gestionnaire/webadmin.
  2. Choisissez l'option «Ajouter authentification basique» du répertoire ”. image
  3. Saisissez un nom d'utilisateur et un mot de passe, puis validez. Si votre site utilise des mots de passe chiffrés dans les fichiers .htpasswd, cochez la case «utiliser un mot de passe chiffré». Chez free, les mots de passe sont en clair dans les fichiers .htpasswd image
  4. C'est fait. L'effet est instantané image

Compléments

Vous pouvez également ajouter si vous le voulez, l'éditeur de texte editArea. Il n'y a aucun réglage à faire. Dès que editArea est installé, il est disponible.

  1. Téléchargez editArea sur votre ordinateur à partir de sa page sourceforge
  2. téléversez depuis votre ordinateur le fichier editarea_nnn.zip ue vous venez de télécharger (par exemple editarea_0_8_2.zip) dans le même dossier que webadmin.php image
  3. Sélectionnez l'action extraire ici. Vous avez maintenant un dossier editarea_nnn (par exemple editarea_0_8_2) image
  4. Entrez dans ce dossier, sélectionner alors l'action déplacer pour le dossier edit_area, cliquez sur le bouton > images
  5. Remontez le d'un niveau, en indiquant le même nom de dossier que celui contenant webadmin.php image
  6. retournez maintenant au dossier supérieur image
  7. Effacez les fichiers et dossiers inutiles : editarea_nn.zip et editarea_nn. image

Voilà, c'est fini. À partir de maintenant lorsque vous éditerez un fichier .html, .php, .sql, .css ou .js, l'éditeur editArea se déclenchera.

Historique

Comme le client web de gestion de contenu chez free est vraiment trop simpliste, j'ai cherché un script php simple1), mais pourvu de fonctionnalités sympathiques. J'ai trouvé webadmin. J'ai ensuite trouvé une bibliothèque simple mais très pratique de gestion d'archives tar et zip2) et je l'ai incluse dans le script. Tout ceci n'est pas très joli, du point de vue programmation, mais ça fonctionne.

J'ai aussi changé l'encodage des textes de iso8859-1 à UTF8.

Ce script de gestion de fichier peut maintenant, au total réaliser les opérations suivantes

  • créer des dossiers,
  • déplacer/renommer des dossiers et fichiers,
  • détruire des dossiers3)
  • téléverser des fichiers,
  • éditer le contenu texte des fichiers,
  • extraire sur le site un fichier .tar, .tgz, .tar.gz ou .zip,
  • télécharger vers votre ordinateur une archive tar d'un dossier chez votre hébergeur,
  • effectuer un listing récursif d'un dossier.

  • 2012-04-06
    • retrait d'une commande de debug qui faisait mourrir le script avec les mots bad way,
    • points de reprise activés par défaut lors de l'extraction des archives.
  • 2012-02-15
    • performance
      une seule image rassemblée en un seul sprite. Résultat : max 3 connexions par page.
  • 2011-12-30
    • corrections de bug :
      • obj null dans javascript
      • fonctionnement même sous php4 de free
    • performance
      • lies icones de fichier, dossiers, etc… sont définies dans le style css et non plus comme un élément de type img. une seule connexion par type de fichier affiché.
  • 2011-08-08
    Prise en charge des noms longs à la sauce GNU dans les archives tar (././@LongLink))
  • 2011-08-13
    Le bouton invitant à continuer l'extraction d'une archive tar ou zip disparait quand il n'est plus nécessaire, c'est à dire si l'extraction de l'archive s'est bien déroulée.
  • 2015-05-05
    • Suppression de warning qui interfèrent avec la création d'archives tar
    • liste récursive avec détails
    • fonction plus simple pour l'affichage des droits (octal vers repr rwx…)

contournement

Comme il y a aussi quelques difficultés/spécialités avec PHP chez free.fr, J'ai également modifié mwebadmin pour qu'il fonctionne aussi chez free, sans lui ôter son comportement standard lorsqu'il est installé ailleurs.

  • La fonction rmdir qui efface un dossier n'est pas disponible chez free. Pour palier ce problème, il a fallu remplacer tous les appels à la fonction rmdir dans webadmin par un appel à une autre fonction myrmdir qui renomme simplement le dossier, s'il est vide, dans le dossier /poubelle de votre site chez free.fr.
  • Le système de protection des dossiers par fichiers .htaccess est un peu spécial. J'ai adapté les procédures.
1) les grosses applications de ce genre ont du mal a fonctionner chez free; PHP y étant vraiment mutilé
2) lien mort, je sais
3) pas vraiment en fait. Aucun script PHP chez free ne peut détruire des dossiers, par contre, j'utilise un contournement