3.1 KiB
3.1 KiB
Proposer une interface de backoffice qui gère le stockage via un repo git
Décision
- Statut: Accepté
- Décideurs: reminec, Trollune
- Date: 2023-03-19
Contexte et Description du Problème
- La nécessité de ne pas stocker le contenu dans une bdd, mais en fichiers accessibles à des humains.
- La nécessité d'éditer du contenu via une interface Web plutôt que directement dans la forge logiciel.
- La nécessité d'utiliser une forge logiciel :
- Journalisée
- Décentralisée
- Asynchrone
- Collaborative
- Relecture
- La nécessité de ne pas à avoir installer le projet sur les postes des collaboratrices.
Éléments moteurs de la décision
- Possible expertise de nos voisins 2fleurs.
- Ne pas refaire les formulaire web pour saisir et valider du contenu.
- Ne pas refaire la couche de stockage qui dialogue avec une forge logiciel.
- Découplé le backoffice du moteur qui génère les fichiers statiques.
Options considérées
Décision prise
Nous avons choisi l'option StaticCms
car il semble répondre précisement à nos impératifs.
Conséquences Positives
- Montée en compétences sur une architecture JAMStack.
- Découple le backoffice de l'API.
- Possibilité de partager la connaissance et les embuches avec notre voisin 2fleurs.
Conséquences Négatives
- Incertitudes concernant les possibles.
- Montée en compétence potentiellement consommatrice de temps et d'énergie.
- Potentiellement des embûches à prévoir vu la jeunesse du projet.
Les Pour et Contre des Options
StaticCms
Pour
- Découple le backoffice du moteur qui construit les fichiers statique.
- Livre des composant d'interfaces apparement prêt à l'emploi.
- Semble compatible avec la plupart des forges logiciels.
Contre
- Le nom générique n'inspire pas confiance à reminec :)
- Le support de Gitea encore en Beta.
- Le projet semble relativement récent.
Grav
Pour
- Propulsé par Symfony, environnement connu par @reminec
- Projet peut-être plus mature du fait de son ancienneté.
- Plugin pour git (git-sync)
Contre
- Grav ajouterait des galères sur les fichiers générés du à son formatage de YAML.
- Ne respecte pas l'architecture JAM : C'est Grav qui va porter
- la couche 'backoffice'
- ainsi que la transformation du contenu en fichier statique
Liens
Voir plus loin
Patron de conception ADR
Licenses
Auteurices
- Trollune
- reminec 🤪 | 🧪 ACIDES.org 🏴☠️🌈 (Tedomum.net)
Librement traduit depuis adr.github.io
Versions
v1.0.0
Date : 17 mars 2023 | Temps rédaction : 1h | Trollune, reminec
Remerciements
- PierreO. @ indyHosters - Qui nous a soufflé ce patron de conception.
- Quentin @ deuxfleurs - Qui a publié et communiqué ses travaux autour de StaticCms.