Ce dépôt contient un éditeur de carte et une interface d'administration pour le projet Asgaria.
- Node.js version 14 ou supérieure
npm(fourni avec Node.js)
- Cloner le dépôt et se placer dans le dossier
git clone <repo> cd Asgaria
- Installer les dépendances
npm install
Définir la variable d'environnement SESSION_SECRET avec une valeur aléatoire pour signer les cookies de session.
Par exemple :
export SESSION_SECRET="votre-valeur-secrète"Le fichier server.js lance un petit serveur Express et crée automatiquement une base SQLite asgaria.db.
Démarrer le serveur :
npm startLe serveur écoute par défaut sur http://localhost:3000.
index.html: visualisation simple de la carte.mapEditor.html: éditeur de baronnies. La barre latérale permet de modifier l'ID, le nom et les métadonnées (seigneur, religions, culture, vicomté, comté).admin.html: page d'administration pour consulter et modifier empires, royaumes, archiduchés, duchés, marquisats, comtés, vicomtés, seigneurs, religions et cultures. Les tableaux présentent les données existantes et une ligne vide permet d'en ajouter de nouvelles.
Il suffit d'ouvrir ces fichiers dans le navigateur (par exemple http://localhost:3000/mapEditor.html) une fois le serveur lancé.
Ne les ouvrez pas directement avec file://, car les requêtes vers l'API seraient bloquées par le navigateur.
La base de données asgaria.db est créée dans le répertoire racine et stocke toutes les informations (baronnies, seigneurs, etc.).
Toutes les requêtes PUT vers l'API nécessitent qu'un utilisateur administrateur soit authentifié via la session.
- Si aucun utilisateur n'est connecté, le serveur répond avec
401 Unauthorized. - Si l'utilisateur connecté n'est pas administrateur, le serveur répond avec
403 Forbidden.
Aucun test automatisé n'est défini. La commande npm test renverra donc une erreur.