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 devlocalhost: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:prodLes 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.