Installation

Installer @lrvo/module-drive, créer les tables et régler la taille des tranches d'envoi selon le proxy.

Cette page couvre l'installation de @lrvo/module-drive dans un projet déjà structuré par @lrvo/start. Le module n'est jamais déclaré à la main : il est découvert au boot par scan des dépendances, comme décrit dans Cycle de vie d'un module.

Prérequis

  • Un projet généré par npx @lrvo/start, avec @lrvo/core en version 1.0.85 ou plus.
  • Un stockage objet compatible S3 configuré, Backblaze B2 ou Cloudflare R2. Sans lui, le module démarre mais aucun dépôt n'aboutit. Voir Stocker des fichiers.
  • sharp installé si l'on veut les miniatures d'images. C'est une dépendance de pair facultative : sans elle, le module fonctionne à l'identique, sans vignettes.

Installer

npm i @lrvo/module-drive

Ajoutez la variable d'activation dans .env :

LRVO_MODULE_DRIVE=true

Créez les tables :

npx lrvo-db init

Puis redémarrez. L'entrée « Fichiers » apparaît dans la barre latérale de l'admin.

Mettre à jour

Le schéma évolue par migrations versionnées. Après chaque mise à jour du paquet :

npx lrvo-db migrate

Aucune configuration du seau

Il n'y a aucune étape d'infrastructure. Pas de règle CORS, pas de policy de seau, pas d'URL signée à faire circuler : tous les fichiers transitent par l'application, dans les deux sens, et le navigateur ne parle jamais au stockage.

Derrière un proxy

Un proxy plafonne le corps d'une requête. Cloudflare l'arrête à 100 Mo sur le forfait gratuit, et refuse la requête avant qu'elle n'atteigne l'application.

C'est pourquoi le navigateur découpe les fichiers : chaque tranche part dans sa propre requête, sous le plafond, et le serveur les réassemble dans le seau. Une tranche vaut 8 Mo par défaut, ce qui passe partout.

Si votre proxy plafonne plus bas, alignez LRVO_MODULE_DRIVE_UPLOAD_CHUNK_MB sur cette limite. Le minimum est 5, imposé par le stockage, donc un proxy qui plafonne sous 5 Mo empêche tout envoi de fichier volumineux.

Le symptôme d'une valeur trop haute est net : les tranches partent puis échouent avec le code d'erreur du proxy, 413 chez la plupart.

Rien à câbler dans le projet

Contrairement à @lrvo/module-medias, ce module n'a aucun fichier de route à monter. Les binaires descendent par les routes /lrvo/api/drive/..., qui existent déjà, et la page publique de partage passe par la sous-entrée ./public-page, prise en charge par npx lrvo-modules sync.

Sur cette page