Configuration

Variables d'environnement, stockage objet, optimisation des images, permissions et entrée d'admin.

Le module a deux jeux de réglages : les siens, qui pilotent l'optimisation des images, et ceux du core, qui décident où vivent les fichiers. Les seconds sont une dépendance dure : sans eux, aucun téléversement n'aboutit.

Variables du module

VariableRequiseDéfautEffet
LRVO_MODULE_MEDIASouitrue active le module. Absente ou fausse, le module est ignoré : aucune table, aucune route, aucune entrée d'admin, registre média vide.
LRVO_MODULE_MEDIAS_OPTIMIZEnontruefalse désactive l'optimisation. Le fichier d'origine est alors stocké tel quel.
LRVO_MODULE_MEDIAS_OPTIMIZE_MAX_DIMENSIONnon3840Côté le plus long, en pixels. Une image plus petite n'est jamais agrandie.
LRVO_MODULE_MEDIAS_OPTIMIZE_STRIP_METADATAnontruefalse conserve les métadonnées EXIF, dont la position GPS.
LRVO_MODULE_MEDIAS_OPTIMIZE_QUALITYnon80Qualité de compression, ramenée dans l'intervalle 1 à 100.

Les trois dernières sont sans effet si LRVO_MODULE_MEDIAS_OPTIMIZE vaut false.

L'activation se compare strictement à la chaîne true. Les drapeaux d'optimisation fonctionnent en sens inverse : ils sont actifs sauf si la valeur vaut exactement false. Une valeur mal orthographiée laisse donc l'optimisation active.

Voir Téléversement pour l'effet précis de ces réglages sur un fichier.

Stockage objet

Les fichiers vivent dans un stockage compatible S3, configuré au niveau du core et partagé par toutes les fonctionnalités qui stockent des fichiers.

VariableDéfautRôle
LRVO_STORAGE_PROVIDERbackblazebackblaze ou r2.
LRVO_STORAGE_ENDPOINTPoint de terminaison S3 du fournisseur.
LRVO_STORAGE_REGIONauto pour R2Obligatoire pour Backblaze, facultative pour R2.
LRVO_STORAGE_BUCKETNom du bucket.
LRVO_STORAGE_ACCESS_KEYClé d'accès.
LRVO_STORAGE_SECRET_KEYClé secrète.

Ces variables appartiennent au core. Leur documentation de référence est dans Variables d'environnement et core/storage.

Le bucket n'a pas besoin d'être public. Les fichiers ne sont jamais servis directement depuis le stockage : ils transitent par la route /lrvo/media/<nom> du projet, qui applique ses propres en-têtes de sécurité.

Permissions

CléNomPortée
media.viewVoir les médiasConsultation de la médiathèque, des fiches et des références.
media.uploadTéléverser un médiaAjout d'un fichier, et modification du nom, du texte alternatif et de la légende.
media.replaceRemplacer un médiaRemplacement du fichier d'une fiche existante.
media.deleteSupprimer un médiaSuppression d'une fiche et de son fichier.

Les quatre sont groupées sous Médias dans /admin/roles. Elles sont attribuées au rôle admin au moment du lrvo-db init, et distribuables ensuite à d'autres rôles.

Le regroupement de l'édition des métadonnées sous media.upload est à noter : il n'existe pas de permission d'édition distincte. Un rôle qui peut renommer un média peut aussi en téléverser.

La vérification est appliquée par le routeur du core, avant d'atteindre le handler. Voir Permissions et rôles.

La route de fichier n'est pas protégée

La route publique /lrvo/media/<nom> ne vérifie ni session, ni permission. Tout fichier téléversé est lisible par quiconque connaît son nom public.

C'est un choix assumé : la médiathèque sert des assets de contenu web publics, pas du stockage de fichiers privés. Ne rien y déposer qui ne soit destiné à être diffusé.

Entrée d'admin

PropriétéValeur
IcôneImage01Icon
Ordre de la section25
Ordre de l'item50
Chemin/admin/media
Permissionmedia.view

Le module enregistre une section Médias et un item Médias à l'intérieur. La barre latérale rend une entrée racine cliquable plutôt qu'un groupe pliable dès qu'une section ne contient qu'un seul item, ce qui est le cas ici. L'ordre de l'item n'a donc aucun effet visible tant que le module reste seul dans sa section.

L'ordre 25 de la section place la médiathèque avant les modules de contenu, qui commencent à 60. Voir Étendre l'admin.

Ce que l'écran permet de faire est décrit dans Administration.

Notes

  • Aucune variable du module ne contient de secret. Les secrets du stockage sont ceux du core, lisibles côté serveur uniquement.
  • La configuration d'optimisation est relue à chaque téléversement, pas mise en cache au boot. La changer ne demande pas de redémarrage, mais ne réoptimise évidemment pas les fichiers déjà en place.
  • Changer LRVO_MODULE_MEDIAS à false désactive le module mais laisse les tables et les fichiers en place.

Sur cette page