exposer le système de fichiers local dans le navigateur à l'aide d'une solution toute faite

Bonjour, mes propres recherches sur Google et GitHub n’ayant pas donné de résultat satisfaisant pour le moment, je viens ici pour solliciter vos connaissances et recommandations.

Je cherche une solution pour exposer le système de fichiers local dans le navigateur avec la possibilité de les manipuler à distance. Souhaits particuliers :

  • une solution toute faite et fonctionnellement complète (serveur + front-end + fonctionnalités CRUD), donc principalement sous forme d’un paquet / package ou d’une image Docker ;

  • néanmoins plus récente que, par exemple, un projet comme flask-file-server (au point mort depuis au moins 4 ans et toujours sous python 2.7), le seul du genre que j’ai su trouver jusqu’ici ;

  • et enfin, plus conviviale que le rendu front-end minimaliste de la technique de base qu’est

    python -m http.server
    

    et qui sera mon choix par défaut si je ne trouve pas mieux que ça.

Update: D’autres projets trouvés

En effet, python -m http.server est un bon début, mais en lecture seule, hors tu dis vouloir du CRUD.

J’avais fait ça en 0 lignes de code il y a quelques temps avec nginx avec le module dav.

Ça me permettait de créer un ficher d’un simple PUT du fichier à l’endroit voulu avec le nom voulu, naturellement j’ai envie de dire, sans “enrobage superflus”.

Àla curl -XPUT 0:8000/dst -d @src.

En y ajoutant un peu de nginx fancy index pour personnaliser les listings, tu peux obtenir quelque chose de propre.

Aussi nginx te permet d’ajouter des règles de sécurité via des limit_except pour indiquer qui peut lire, qui peut écrire, etc…

J’aime les solutions en 0 ligne de code.

2 « J'aime »

Juste pour info, le flask-file-server a été forké récemment et est en python3 a priori :

1 « J'aime »

J’ai l’impression que c’est problème XY, pourquoi cherche-tu une solution pour exposer un système de fichier local dans un navigateur ?

Je ne crois pas qu’il s’agisse d’un problème XY car il n’y a pas, derrière mon interrogation, de besoin initial auquel la solution en question ne serait qu’une solution arbitrairement choisie à défaut d’avoir des connaissances suffisantes pour concevoir l’existence d’autres solutions.

Ce n’est que par curiosité que je me demandais s’il existait une solution

  • permettant d’exposer simplement et rapidement le contenu d’un répertoire local de façon éphémère,

  • et dotée, qui plus est, d’une UI toute faite pour la manipulation des fichiers et des sous-répertoires à distance (d’où le fait d’avoir évoqué CRUD).

En y repensant, j’avais fait un truc il y a quelques années. Je ne suis pas sûr que ça corresponde à tout l’attendu. Je regarde si j’ai une source quelque part.

C’est ici : Mindiell / ostracion · GitLab
Mais ça doit pas être “à jour/sécurisé”…

1 « J'aime »

Je sais pas mais je dirais Nextcloud?

Techniquement, sous le capot, Nextcloud (tout comme Seafile) n’expose pas le système de fichiers de l’hôte où il est installé, mais les données d’une base de données dédiée. Et, alors qu’exposer le système de fichiers se fait en une commande, avec Nextcloud c’est tout un environnement qu’il faut installer.

Et il ya beaucoup de raison à ça. En temps normal on évite absolument de l’exposer principalement pour des raisons de sécurité. Non seulement on ne l’expose pas mais en plus on a tendance à vouloir mettre dans un container au cas où. Du coup je penses que ça a une grande influence sur le fait de ne pas trouver ce genre d’outils. À la place on a inventer webdav qui ne donnera pas accès directement mais qui reviendra au même puisque tu auras accès à tes fichiers et ton arborescence.

1 « J'aime »