>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
TypeScript

Comment partager des fichiers depuis votre PC sans cloud ni batterie de tambours

Imaginez : vous devez envoyer à un ami un dossier photo de 50 Go ou une image disque de la moitié de la taille de votre SSD. L'uploader sur Telegram ? Lent et peu pratique. Google Drive ou Yandex.Disk ? Vous n'aurez pas assez d'espace, il faudra payer un abonnement. Configurer un serveur FTP complet ou se plonger dans les paramètres Nginx ? Trop fastidieux pour une tâche ponctuelle.

C'est là qu'intervient HFS (HTTP File Server). Ce projet transforme votre ordinateur en serveur web complet pour le partage de fichiers en littéralement un clic. Et ce n'est pas un nouveau projet de passionné : l'HFS original en Delphi était une légende d'Internet des années 2000. Maintenant, le projet renaît en TypeScript et Node.js, devenant multiplateforme et moderne.

logo et slogan

Ce que c'est

HFS est un serveur web compact qui vous permet d'exposer vos fichiers locaux via un navigateur. Vous lancez le binaire, ajoutez les dossiers dont vous avez besoin, et toute personne disposant du lien peut les télécharger.

La principale différence avec quelque chose comme le module Python http.server est que vous obtenez un panneau d'administration complet, la gestion des utilisateurs, les téléchargements reprenables, et même la possibilité de téléverser des fichiers vers votre PC. Et tout fonctionne out of the box sans configuration complexe.

À quoi ça sert concrètement

J'ai souvent besoin de visionner rapidement des vidéos ou écouter de la musique depuis mon serveur à domicile sur mon téléphone. HFS résout cela élégamment.

Système de fichiers virtuel

Vous n'avez pas besoin de copier les fichiers dans un dossier spécial www. Dans l'interface HFS, vous créez une structure virtuelle. Par exemple, un fichier C:\Work\Project\final_report.pdf peut être partagé via le lien ваш-айпи/report.pdf. Le fichier original reste en place, vous lui donnez juste un « pseudo » pour le web.

Traitement instantané des données volumineuses

Si vous devez partager un dossier de 100 Go, HFS ne vous fera pas attendre pendant la création d'une archive. Dès que l'utilisateur clique sur « Télécharger en ZIP », le serveur commence à générer l'archive à la volée et diffuse immédiatement les données vers le navigateur. Cela économise du temps et de l'espace disque.

Contrôle d'accès et limites

Si vous partagez des fichiers sur un réseau public, vous pouvez limiter la vitesse de téléversement (throttling) pour qu'HFS ne consomme pas toute votre bande passante. Il est également facile de créer des comptes : par exemple, autorisez les amis à télécharger uniquement, tandis qu'un collègue peut également téléverser des fichiers vers un dossier spécifique.

Pare-feu géographique et sécurité

Dans les paramètres, vous pouvez bloquer l'accès depuis certains pays ou configurer HTTPS. La génération de certificats est intégrée, vous n'aurez donc pas à bidouiller manuellement avec OpenSSL.

L'aspect technique

Le projet est écrit en TypeScript. Si vous ne souhaitez pas télécharger les binaires précompilés, vous pouvez l'exécuter via npx hfs@latest. C'est pratique pour un test rapide sur un serveur qui a déjà Node.js installé.

HFS fonctionne pratiquement partout : Windows (à partir de la version 10), Linux, macOS, et même FreeBSD. Pour les amateurs de conteneurisation, il existe une image Docker officielle.

Un détail intéressant : le panneau d'administration et le frontend sont complètement séparés. Vous pouvez personnaliser l'apparence avec HTML et CSS ou écrire votre propre plugin. Actuellement, il existe des plugins pour la génération de miniatures, l'authentification LDAP et la protection contre les attaques par force brute.

Comment démarrer

La méthode la plus simple pour la plupart des gens est de télécharger l'archive depuis la page des versions pour votre OS. Après le lancement, le serveur ouvre le panneau d'administration à localhost par défaut.

Si vous travaillez dans la console ou via SSH, vous pouvez créer rapidement un admin avec cette commande :

echo "create-admin: ВАШ_ПАРОЛЬ" > config.yaml

Après cela, HFS reprendra les paramètres, et vous pourrez vous connecter au panneau de contrôle depuis un autre appareil via le navigateur.

À qui c'est destiné

HFS est un outil pour ceux qui valorisent l'auto-hébergement. C'est parfait pour :

  • Transférer rapidement des fichiers volumineux sur un réseau local ou via Internet.
  • Créer un échange de fichiers temporaire pour une équipe.
  • Organiser une bibliothèque multimédia à domicile (HFS dispose d'un lecteur intégré pour l'audio et la vidéo).
  • Collecter des fichiers d'autres utilisateurs (la fonction Téléversement).

Le projet vous conquiert par sa simplicité. Vous n'avez pas besoin d'être administrateur système pour mettre en place un serveur en 2 minutes qui a l'air professionnel et fonctionne comme tel. Si vous en avez assez d'être dépendant des limitations des services cloud, HFS est l'un des moyens les moins douloureux pour reprendre le contrôle de vos données.

Vous pouvez essayer le projet sur GitHub. Il y a aussi un Wiki détaillé avec la documentation de l'API et des fonctionnalités cachées comme les paramètres URL pour la connexion automatique ou la recherche.

Projets similaires