[ADR] StaticCms #8

Merged
reminec merged 5 commits from release-v0.0.1 into develop 2023-04-03 20:57:10 +00:00

View file

@ -0,0 +1,99 @@
# 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
1. [StaticCms](https://staticcms.org)
2. [Grav](https://getgrav.org)
## 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
* https://adr.github.io
## Licenses
[CC BY-SA 2.0 FR](https://creativecommons.org/licenses/by-sa/2.0/fr/)
### Auteurices
* Trollune
* reminec 🤪 | 🧪 [ACIDES.org](https://acides.org) 🏴‍☠️🌈 ([Tedomum.net](https://tedomum.net))
_Librement traduit depuis adr.github.io_
#### Versions
##### v1.0.0
_Date : 17 mars 2023 | Temps rédaction : 1h_ | Trollune, reminec
## Remerciements
* [PierreO](https://mastodon.indie.host/@pierreozoux). @ indyHosters - Qui nous a soufflé ce patron de conception.
* [Quentin @ deuxfleurs - Qui a publié et communiqué ses travaux autour de StaticCms](https://quentin.dufour.io/blog/2023-02-28/staticcms-une-autre-approche-aux-cms/).