Skip to content

Abstraction du fonctionnement du stockage #47

@bmourcei

Description

@bmourcei

Je souhaite savoir si vous préférez discuter en français ou en anglais. Il est tout à fait possible de continuer en anglais.

Contexte

Bonjour, je m'appelle Benjamin Mourceins-Zecchi, je suis étudiant en 3eme année de BUT informatique à l'université de La Rochelle. Je suis actuellement en stage de fin d'année, @cirdan est l'un de mes encadrants. Nous avons développé avec d'autres étudiants un outils de visualisation d'image IIIF, à la demande du musée Sainte-Croix de Poitiers, StoryTab. StoryTab ne gère que la partie visualisation des images IIIF, pour la partie édition des contenues, nous utilisons toujours ADNO, qui fonctionne très bien. Pour l'instant limité à un projet, « Le siège de Poitiers » de François Nautré, notre objectif est de rendre StyoryTab réplicable, pour pouvoir la mettre à disposition de plusieurs autres musées.

Actuellement, les musées doivent manipuler des .json avec ADNO, puis les déposés sur notre back-office, pour ensuite pouvoir mettre en production leur version de StoryTab personnalisée. Cela nous dérange un peu, car la démarche est redondante et pourrait être améliorer. Notre idée, pour régler ce soucis, est d'intégré ADNO directement au sein de notre Back-Office. Mais pour pouvoir mettre ça en place, nous aimerions pouvoir personnaliser le stockage d'ADNO.

lien vers la preprod : https://preprod.data.jpeuxpasjaimusee.org/st-preprod/nautre

Ajout

En regardant le code de ADNO, la gestion de stockage se fait grâce au localStorage. Ce dernier est présent un peu partout dans le code source.
La proposition que nous faisons est de mutualiser toute les utilisations du localStorage au sein d'une classe StorageDriver. A cette étape, nous n'aurons ajouté aucune fonctionnalité à ADNO, seulement fait un refacto.

Une fois cette étape réalisé et tout les usages du locaStorage centralisé dans StorageDriver, il sera bien plus simple d'implémenter d'autre stockage alternatif au localStorage, par exemple via une API. À noté que notre objectif n'est pas de changer tout le fonctionnement d'ADNO pour les personnes l'utilisant déjà, mais d'ajouter plus de flexibilité dans l'intégration d'ADNO dans d'autres systèmes. Par défaut, l'usage du localStorage restera la norme, et ceux le souhaitant pourront changer le mode de stockage (peut-être grâce au .env ?).

Merci d'avoir lu notre proposition, l'objectif de cette issue est de récolter vos retours et avis, donc n'hésiter pas à poser des questions ou donner votre avis sur cette proposition.

En temps que ressource supplémentaire, voici le document expliquant notre démarche que nous avons fourni à Thierry Pasquier lors de notre prise de contact.
Présentation Ajout ADNO.pdf

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions