Stockage des fichiers de Remository

Stockage dans la base de données

Les fichiers du référentiel géré par Remository peuvent être stockés dans la base de données. Lorsque cela se produit, un fichier est divisé en morceaux d'environ 64 Ko pour plus de facilité de gestion et stocké sous la forme d'une série de « blobs » dans la table xxx_downloads_blob.

Le stockage dans la base de données est l'option recommandée et est la valeur par défaut lors de la première installation de Remository. Il offre une excellente sécurité. Même si un fichier avait un contenu malveillant, il est incapable de faire quoi que ce soit tant qu'il est stocké dans une table de base de données. (Évidemment, vous devez toujours vous protéger contre la diffusion de contenu malveillant aux utilisateurs de votre site Web).

Le stockage des fichiers dans la base de données est sécurisé et flexible, car il ne dépend pas de bizarreries de l'hébergement. Le déplacement d'un site peut être entièrement réalisé en déplaçant les tables de la base de données et en installant Remository.

Lorsqu'un utilisateur téléverse un nouveau fichier et que l'approbation automatique n'est pas autorisée, le nouveau fichier est toujours stocké dans la base de données, quelle que soit sa destination finale. De cette façon, il ne peut pas être utilisé pour une attaque sur votre site. Ce n'est qu'une fois le fichier approuvé qu'il est placé dans l’emplacement final indiqué par le conteneur du fichier.

Contrôles d'accès

Chaque conteneur de Remository permet de définir des groupes disposant de permissions diverses. Les quatre options sont téléverser, télécharger, modifier et approuver automatiquement. Vous pouvez saisir autant de groupes que vous le souhaitez. Il est possible de gérer les groupes via Remository, mais depuis que Joomla a introduit des groupes plus flexibles, il est normalement plus judicieux d'utiliser les groupes de Joomla. Ce choix peut être sélectionné dans les “Options” de Remository. Il existe un pseudo-groupe appelé “Personne” qui n'a jamais de membres et désactive la fonction concernée. Il est important d'utiliser “Personne” pour bloquer une opération - le fait qu'aucun groupe ne soit sélectionné rend l'opération accessible à tous.

Les trois premières options sont facilement compréhensible. L'approbation automatique est un peu plus complexe. Cela signifie que lorsqu'un utilisateur téléverse un fichier, s'il est membre de l'un des groupes possédant l'approbation automatique, le fichier sera immédiatement publié et disponible au téléchargement. Si l'utilisateur n'est membre d'aucun des groupes d'approbation automatique, le fichier téléchargé est conservé pour approbation par un administrateur via l'interface d'administration de Remository. Stockage des fichiers dans l’arborescence de fichiers

Stockage de fichiers sur le système de disques

Mais il est également possible de stocker les fichiers dans l’arborescence de fichiers. Vous pouvez le définir par défaut dans les “Options”. Il existe un chemin par défaut vers le stockage de fichiers qui est affiché dans le panneau de configuration (page d'accueil) de l'interface administrateur de Remository. Lorsqu'un nouveau conteneur est créé, si vous ne lui donnez pas de chemin absolu spécifique, il sera défini avec le chemin par défaut. Vous pouvez choisir un chemin différent. Il est important de le faire avec soin, à la fois pour éviter les conflits avec d'autres composants du site et pour assurer la sécurité. Le référentiel de fichiers ne doit pas être accessible par le serveur Web. Cela peut être réalisé soit en s'assurant qu'il se trouve en dehors de la racine Web, soit par des directives de configuration du serveur Web. Remository tente d'écrire un fichier .htaccess approprié, mais cela ne peut pas être garanti.

Là où les fichiers sont stockés dans l’arborescence de fichiers, Remository les déplacera si le conteneur est mis à jour avec un chemin absolu différent. Si le chemin absolu du conteneur est complètement supprimé, Remository déplacera les fichiers dans la base de données. Si un chemin absolu est stocké pour un conteneur qui utilisait précédemment la base de données, Remository déplacera les fichiers hors de la base de données et les placera dans l’arborescence de fichiers.

Un autre choix peut être fait pour les fichiers stockés dans l’arborescence de fichiers avec la sélection “Réel avec ID” dans les “Options”. Chaque fichier du référentiel se voit attribuer un numéro d'identification unique par Remository. Si “Réel avec ID” est défini sur oui, Remository insérera l'ID de fichier dans le nom de fichier avant l'extension finale. Ainsi, un fichier avec l'ID 65 et appelé my.example.file.pdf serait alors stocké sous le nom my.example.file.65.pdf. Les utilisateurs ne le verront pas - lorsque le fichier est téléchargé ou affiché, le numéro est supprimé. Si l'option est changée en “non”, Remository supprimera les numéros d'identification de tous les fichiers.

Stockage de fichiers dans S3

Une nouvelle option permet désormais d'ajouter davantage de choix pour le stockage du référentiel. L'option actuellement disponible consiste à utiliser un système de stockage de données S3. À l'origine, il s'agissait d'un service développé par Amazon, qui était alors le seul fournisseur à le proposer. Il existe désormais plusieurs fournisseurs de stockage de fichiers compatibles S3. Remository peut utiliser n'importe lequel d'entre eux. https://idrivee2.com constitue une option très intéressante.

D'autres systèmes de stockage similaires pourraient être mis en œuvre, notamment ceux de Google et de Microsoft.

Pour utiliser S3, vous devez créer un compte auprès d'un fournisseur de services S3. Pour Remository, vous devez remplir quatre champs dans la section « Options » de l'onglet « Cloud ». Le premier est un identifiant de région. Par exemple, l'identifiant de région pour Londres est « eu-west-2 ». Les deux champs suivants sont la clé et le secret fournis par Amazon lors de la configuration des services AWS. Enfin, il y a un compartiment par défaut.

Pour stocker des données dans Amazon S3, on utilise un compartiment. Il s'agit simplement d'un nom.

Le système de nommage S3, à l'instar du système de disques classique, n'empêche pas les conflits de noms. Tout comme avec le système de fichiers, vous pouvez vous assurer de les éviter en spécifiant « Real with ID » comme décrit ci-dessus. Si cette option est activée, chaque fichier sera placé dans son propre « répertoire » dont le nom est basé sur l'ID du fichier.

L'utilisation de S3 vous offre une grande flexibilité en matière de stockage (même si cela a un coût !). Cela signifie également que lorsqu'un utilisateur télécharge un fichier depuis votre référentiel, celui-ci lui est envoyé directement par le fournisseur S3. Ce processus est souvent plus rapide que l'envoi depuis votre serveur web. Encore une fois, cela peut avoir un coût, mais celui-ci est minime à moins que vous n'ayez un très grand nombre de téléchargements. L'utilisation d'un fournisseur S3 réduit clairement la charge sur votre serveur web, ce qui peut s'avérer utile. Amazon affirme que les fichiers stockés dans S3 ont une très faible probabilité d'être perdus et d'autres fournisseurs font probablement des affirmations similaires.