medialab / website

The lab's static website and its admin.
GNU Affero General Public License v3.0
12 stars 4 forks source link

Site web du médialab

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.

Installation

Pour installer les dépendances du projet:

npm install

Pour ré-installer toutes les dépendances de zéro:

npm run reinstall

Archictecture des dossiers

Dossiers du repo

Dossiers techniques

Comment développer?

TL;DR

npm install
npm run load -- /path/to/dump
npm run dev

Récapitulatif des ports utilisés en développement

Commandes

# 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

Configuration de développement

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é.

Serveur d'API du CMS

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.

Client du CMS

Documentation dédiée

Site statique

Documentation dédiée