Ce dépôt de code contient tout le code source lié au site 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 install
npm run load -- /path/to/dump
npm 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 dans config
et dans admin/config
respectivement.
Il est possible d'overrider des variables de configuration localement en créant un fichier config/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 dossier data
.
Les données sont ensuite servies via un serveur express se basant sur json-server.