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/coreen version1.0.85ou 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.
sharpinstallé 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-driveAjoutez la variable d'activation dans .env :
LRVO_MODULE_DRIVE=trueCréez les tables :
npx lrvo-db initPuis 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 migrateAucune 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.