-
Notifications
You must be signed in to change notification settings - Fork 6
Abstraction du fonctionnement du stockage #47
Description
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