- Notifications
You must be signed in to change notification settings - Fork5
The lab's static website and its admin.
License
NotificationsYou must be signed in to change notification settings
medialab/website
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Ce dépôt de code contient tout le code source lié ausite web du laboratoire et à son CMS custom utilisé pour en administrer les données.
Pour installer les dépendances du projet:
npm install
Pour ré-installer toutes les dépendances de zéro:
npm run reinstall
Dossiers du repo
admin
: dossier contenant les sources du client statique du CMS.api
: dossier contenant les sources du serveur d'API du CMS.config
: dossier contenant les fichiers de configuration du serveur.docs
: divers fichiers de documentation liés au projet.prototyping
: dossier contenant le prototype de design du site et gardé pour raisons historiques.scripts
: scripts divers de gestion de données et/ou de maintenance du serveur.site
: dossier contenant le templating du site statique.specs
: dossier contenant de nombreux fichiers de configuration et schémas utilisés par toutes les composantes du site (statique et CMS).
Dossiers techniques
.cache
: dossier créé automatiquement et contenant des caches de requêtes HTTP pour l'API Github pour éviter de saturer leur API lorsque l'on développe.build
: le serveur créé ce dossier automatiquement pour builder le site statique à interval régulier et pour être capable de versionner les données convenablement.data
: dossier contenant, par défaut, les données JSON du site, ainsi que les différents assets (images, pdfs etc.).
npm installnpm run load -- /path/to/dumpnpm run dev
localhost:3000
: Serveur d'API du CMS.localhost:3000/preview/
: Preview du site statique.localhost:7000
: Client du CMS (admin).
# Lancer l'intégralité de la stack (serveur + admin + site statique):npm run dev# Lancer uniquement le serveur d'api avec des options utiles au dev:# 1. En désactivant le cron qui builde le site régulièrement: node api/server.js --no-cron# 2. En désactivant l'authentification pour prototyper rapidement: node api/server.js --bypass-auth# 3/ En désactivant le précalcul des covers, pour démarrer plus vite: node api/server.js --no-precompute-covers# Dumper la base de données:npm run dump# Charger une base de données dumpée:npm run load -- /path/to/dump# Rafraîchir les données de flux (github/twitter):npm run flux# Linter l'intégralité du code:npm run lint# Synchroniser les branches de préprod et de prod:npm run upgrade:prod
Les fichiers de configuration se trouvent dansconfig
et dansadmin/config
respectivement.
Il est possible d'overrider des variables de configuration localement en créant un fichierconfig/local.json
qui ne sera pas commité.
Le serveur d'API maintient une base de données très simple, représentée par des fichiers JSON existant dans le dossierdata
.
Les données sont ensuite servies via un serveurexpress se basant surjson-server.