[ADR] StaticCms #8
1 changed files with 101 additions and 0 deletions
101
docs/developpement/spec/adr.StaticCms.md
Normal file
101
docs/developpement/spec/adr.StaticCms.md
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
# Proposer une interface de backoffice qui gère le stockage via un repo git
|
||||||
|
|
||||||
|
[TOC]
|
||||||
|
|
||||||
|
## 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 le porteur du projet
|
||||||
|
* Projet peut-être plus mature du fait de son ancienneté.
|
||||||
|
* Plugin pour git (git-sync)
|
||||||
|
|
||||||
|
#### Contre
|
||||||
|
* Grav ajoute 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
|
||||||
|
|
||||||
|
### 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.
|
Loading…
Reference in a new issue