flip-flip-flip
le code source de l’app https://flip-flip-flip.fr/
installation locale de développement
cloner ce dépôt git, créer un fichier .env contenant :
FFF_PORT=3000
FFF_JWT_SECRET="a random string"
puis exécuter les commandes :
npm install
npm run start:dev
déploiement
en utilisant l’image docker publiée, exemple de docker-compose.yml :
services:
fff:
container_name: fff
image: "codeberg.org/tma_ztf/flip-flip-flip:latest"
volumes:
- /path/to/fff/data:/fff/data
environment:
FFF_JWT_SECRET: "a random string"
restart: unless-stopped
cela crée un serveur http écoutant le port 80, il faut aussi avoir un serveur web jouant le rôle de reverse proxy pour gérer le https (par exemple nginx ou caddy)
pas de numéros de versions tant que ce ne sera pas nécessaire.
principes de développement
l’idée de ce code est de pouvoir le laisser pendant de longues périodes de temps sans besoin de maintenance, puis pouvoir le reprendre pour le modifier sans avoir à passer par une phase de mise à niveau.
j’essaye donc de limiter le recours aux dépendances et aux outils de build.
côté back-end : aucun build nécessaire grâce au support natif de typescript par node.
côté front-end : j’utilise lit pour écrire facilement des composants web natifs, cela ne nécessite pas de build mais je n’ai pas pu me résoudre à abandonner typescript, il y a donc tout de même besoin de lancer tsc pour générer les sources front mais je n’utilise pas les décorateurs pour garder cette couche la plus basique possible.
toutes les ressources sont servies localement : polices d’écriture, images, ou librairies tierces.