Après plusieurs semaines de travail (en pointillés, quand même) j'ai enfin finalisé la nouvelle étape de ma webapp Our Shopping List 🎉
Pourquoi v2 ?
Oui parce que la v1 était bien (et même très bien, après usage pendant plusieurs mois) mais un peu trop orientée "obligatoirement auto-hébergée et uniquement utilisable par un groupe très restreint", car en effet l'ensemble des listes était partagé par tous les utilisateurs de l'instance.
Au départ c'était voulu, car je voulais que ça soit le plus simple possible :
- à développer (je connaissais ni NodeJS ni VueJS)
- à utiliser
- à installer/configurer
Donc partant de ces contraintes, envisager une gestion des utilisateurs, des groupes, de l'authentification, avec son cortège inévitable d'envoi de mails et tout... Non. C'était exclu. On reste simple.
Puis petit à petit l'idée a mûri, et en utilisant Etherpad et Ethercalc je me suis dit qu'on pouvait imaginer un système sans authentification, qui serait un compromis entre simplicité et flexibilité.
Et du coup, boum : les tableaux.
Un tableau c'est un groupe de listes avec un nom unique, avec une URL courte et facilement identifiable (contrairement aux listes qui utilisent des UUIDv4 même dans l'URL).
L'idée c'est d'utiliser ces tableaux pour permettre l'utilisation d'une même instance
- par plusieurs groupes de personnes
- pour plusieurs usages séparés
Mais. Car il y a un mais. Il fallait quand même faire les choses un minimum bien et s'assurer que le fonctionnement "v1" serait toujours possible, et que la migration de la v1 à la v2 (en restant en mode singleboard ou en passant au multiboard) serait simple et la plus transparente possible.
C'est finalement cette partie "rétro-compatibilité" (et stabilisation, avouons-le) qui a pris le plus de temps pour cette release.
Mais ça y est, normalement je suis arrivé à un fonctionnement satisfaisant. Reste à avoir des retours pour confirmer cette impression. Donc si vous êtes intéressé(e)... go! 😉
Liens
- Sources publiques sur Github : https://github.com/nanawel/our-shopping-list
- Release 2.0.0 : https://github.com/nanawel/our-shopping-list/releases/tag/2.0.0
- Image Docker : https://hub.docker.com/r/nanawel/our-shopping-list
- Démo auto-hébergée : https://ourshoppinglist.homelinux.org/
- Notice sur Framalibre : https://framalibre.org/content/our-shopping-list
- Journal sur LinuxFR : https://linuxfr.org/users/nanawel/journaux/our-shopping-list-sortie-de-la-v2