Configuration

Variables d'environnement du module Fichiers, espaces personnels, quotas, permissions et tâches planifiées.

Variables d'environnement

VariableDéfautRôle
LRVO_MODULE_DRIVE—Active le module. Requise, valeur exacte true.
LRVO_MODULE_DRIVE_PERSONAL_SPACESfalseAjoute un espace personnel « Mes fichiers » par utilisateur.
LRVO_MODULE_DRIVE_TRASH_RETENTION_DAYS30Jours de conservation en corbeille avant purge définitive.
LRVO_MODULE_DRIVE_VERSION_KEEP10Versions conservées par fichier, la version courante comprise.
LRVO_MODULE_DRIVE_UPLOAD_CHUNK_MB8Taille d'une tranche d'envoi. Doit rester sous le plafond de corps de requête du proxy, 100 Mo chez Cloudflare. Le minimum de 5 vient du stockage.
LRVO_MODULE_DRIVE_MAX_FILE_SIZE_MB2048Taille maximale d'un fichier.
LRVO_MODULE_DRIVE_QUOTA_TOTAL_GB0Quota global du site. 0 signifie illimité.
LRVO_MODULE_DRIVE_QUOTA_SHARED_GB0Quota de l'espace partagé. 0 signifie illimité.
LRVO_MODULE_DRIVE_QUOTA_PERSONAL_GB5Quota de chaque espace personnel. 0 signifie illimité.
LRVO_MODULE_DRIVE_BLOCKED_EXTENSIONS—Extensions interdites en plus de la liste intégrée, séparées par des virgules.
LRVO_MODULE_DRIVE_ALLOWED_EXTENSIONS—Extensions retirées de la liste intégrée, séparées par des virgules. Une extension aussi présente dans ..._BLOCKED_EXTENSIONS reste refusée.
LRVO_MODULE_DRIVE_ALLOW_SVGfalseAutorise le dépôt de fichiers SVG.
LRVO_MODULE_DRIVE_THUMBNAILStrueGénère les miniatures d'images. Sans effet si sharp est absent.
LRVO_MODULE_DRIVE_CRONtrueActive les tâches planifiées.
LRVO_MODULE_DRIVE_ICON_COLORStrueColore les icônes des listes selon le type de fichier. false les ramène toutes au gris.
LRVO_MODULE_DRIVE_NOTIFY_WINDOW_MINUTES15Fenêtre de regroupement des avis de dépôt.
LRVO_MODULE_DRIVE_DAILY_DIGEST_HOUR8Heure d'envoi du résumé quotidien.
LRVO_MODULE_DRIVE_ACTIVITY_RETENTION_DAYS365Conservation du journal. 0 conserve indéfiniment.
LRVO_MODULE_DRIVE_SHARE_MAX_DAYS0Durée de vie maximale d'un lien. 0 lève le plafond.
LRVO_MODULE_DRIVE_BRAND_NAMELRVO_NAMENom affiché sur la page publique de partage.
LRVO_MODULE_DRIVE_LOGO_URLLRVO_LOGO_URLLogo de la page publique, thème clair. URL absolue ou chemin servi depuis public/.
LRVO_MODULE_DRIVE_LOGO_URL_DARKvaleur de ..._LOGO_URLLogo de la page publique, thème sombre.
LRVO_MODULE_DRIVE_SITE_URLLRVO_SITE_URLDestination du lien posé autour du logo.

La taille de tranche décide aussi de la voie d'envoi : un fichier qui tient dedans part en une requête, un fichier plus gros est découpé. Elle ne concerne que l'envoi, jamais la lecture : un téléchargement est streamé quelle que soit sa taille. Voir Fichiers acceptés.

Relever LRVO_MODULE_DRIVE_MAX_FILE_SIZE_MB très au delà de 80 Go sans relever la taille de tranche finit par dépasser les 10 000 parts qu'accepte le stockage. Le module refuse alors l'envoi en nommant l'incohérence plutôt que d'échouer à l'assemblage.

Marque de la page publique

Les quatre dernières variables ne servent qu'à /lrvo/drive/<jeton>, la page que voit un destinataire sans compte. L'administration n'en lit aucune.

..._LOGO_URL_DARK n'existe que parce qu'un logo noir disparaît sur un fond sombre. Sans lui, le logo clair sert dans les deux thèmes, ce qui convient à un logo en couleurs.

Sans ..._SITE_URL, le logo s'affiche sans être cliquable. Sans logo du tout, l'emplacement reste vide : un nom posé là où l'œil attend une image se lit comme un logo qui n'a pas chargé. Le nom du site figure de toute façon en pied de page.

Le nom vient de LRVO_NAME par défaut, le logo et la cible du lien de LRVO_LOGO_URL et LRVO_SITE_URL. Les variables du module ne servent qu'aux sites qui partagent sous une autre enseigne que celle de l'application. Le logo des courriels reste celui du site, LRVO_EMAIL_LOGO. Voir Variables d'environnement.

Espaces personnels

Désactivés par défaut. Une fois LRVO_MODULE_DRIVE_PERSONAL_SPACES=true, un item « Mes fichiers » apparaît dans la barre latérale et chaque utilisateur obtient son espace à sa première visite. Rien n'est créé pour les comptes qui n'y vont jamais.

Un espace personnel n'appartient qu'à son propriétaire. Un administrateur ne l'ouvre pas : ce n'est pas du contenu d'équipe. Ce qui doit être vu par d'autres passe par un partage, lien public ou partage interne.

Désactiver l'option ne supprime rien : les espaces existants deviennent inaccessibles depuis l'interface, et redeviennent visibles si l'option est réactivée.

Quotas

Deux niveaux, indépendants, tous deux vérifiés avant chaque écriture : celui de l'espace où l'on écrit, et celui du site entier.

Ces plafonds se règlent par variable d'environnement, et par aucun autre moyen. Un quota est une décision d'exploitation, liée à la taille réelle du seau : le régler depuis l'admin donnerait l'illusion de pouvoir dépasser ce que l'hébergement permet.

Une valeur à 0 lève la limite. Les variables sont relues à chaque contrôle : relever un quota prend effet au redémarrage qui charge le nouveau .env, sans écriture en base et sans toucher aux fichiers déjà déposés.

Deux points surprennent souvent, et sont voulus :

  • un fichier en corbeille occupe toujours le quota, parce qu'il occupe toujours le stockage. Il ne se libère qu'à la purge, immédiate ou automatique ;
  • les versions antérieures comptent aussi.

Un compteur peut dériver, par exemple si le processus s'arrête entre l'écriture du stockage et celle de la base. La tâche drive-recount le recalcule depuis la vérité, chaque dimanche.

Permissions

CléLibelléOuvre
drive.viewConsulter les fichiersNavigateur, recherche, téléchargement, « Partagé avec moi ».
drive.uploadTéléverser des fichiersDépôt et restauration d'une version antérieure.
drive.manageCréer, renommer et déplacerCréation de dossiers, renommage, déplacement.
drive.deleteSupprimer des fichiersMise à la corbeille.
drive.trashGérer la corbeilleRestauration, purge immédiate, vidage.
drive.shareGérer les partagesLiens publics et partages internes.
drive.activityConsulter l'historiquePage d'historique et ses filtres.
drive.storageSuperviser le stockageVue complète du panneau « Stockage » : total du serveur, espaces personnels des autres comptes, corbeille, alertes.

Elles sont semées sur le rôle admin à chaque lrvo-db init et lrvo-db migrate. Les autres rôles se règlent dans /admin/roles.

Tâches planifiées

Toutes passent par un verrou en base, donc une seule instance de serveur les exécute même quand plusieurs tournent.

NomQuandRôle
drive-purge-trash03:00Purge définitive au delà de la rétention.
drive-prune-versions03:20Filet de sécurité sur la rétention des versions.
drive-purge-activity03:40Purge du journal au delà de la rétention.
drive-sweep-uploadsChaque heureEnvois par tranches laissés ouverts, interrompus pour libérer les parts stockées, et sessions de partage expirées.
drive-notifyToutes les 5 minutesAvis de dépôt groupés.
drive-notify-dailyHeure configuréeRésumé quotidien des dépôts.
drive-recountDimanche 04:00Recalcul des compteurs de quota.

Elles n'ont pas d'écran : leur déroulement se lit dans lrvo_drive_job_lock, qui garde pour chaque tâche sa dernière exécution, son état et son résumé.

Le fuseau vient de LRVO_TIMEZONE, America/Toronto par défaut.

Sur cette page