VAE VICTIS
Référence Google Sheets
Sheet ID : 1L9hbQuAD9A4…TYt8
Dernière mise à jour : juin 2026
Tous les onglets
Sheet ID : 1L9hbQuAD9A4WQFG1G47teZlUPM6-JkMmuuX2Ys-TYt8
Colonne manquante connue : l'onglet nations a idee4_court absente, remplacée par un doublon idee4_type, et idee3_court déplacée en fin. Nécessite une correction manuelle dans Sheets.
divinites
10+ colonnes
via gviz + Apps Script
territoires
8 colonnes
via gviz
nations
36 colonnes
via gviz
attaques
6 colonnes
gviz + Apps Script
cycles
4 colonnes
via gviz
quetes
13 colonnes
via Apps Script
roadmap
7 colonnes
via CSV public
dieux_lore
4 colonnes
Apps Script uniquement
dieux_liens
4 colonnes
Apps Script uniquement
Règle critique — action Apps Script : le champ action doit être placé dans le paramètre JSON data, pas en query string séparée. Ex : { action: 'getDieu', id: 'athena' }
divinites
Lecture via gviz (stats) + action getDieu (bio, lore)
Les colonnes SOCIETAL_COLS (10 critères) et ORG_COLS (17 colonnes K–AB) sont sommées directement en JS — gviz ne retourne pas les résultats des formules =SOMME(). Ne pas les supprimer. Valeurs entre 0 et 50.
requis Obligatoire
optionnel Peut être vide
auto Géré par le système
ColonneType / exempleStatutNotes
idathenarequisIdentifiant unique, minuscules, sans accent ni espace. Clé utilisée partout dans le code.
nomAthénarequisNom affiché dans l'interface.
joueurWinstonrequisPseudo Discord du joueur.
pinombre — 18requisPoints d'Influence actuels. Mis à jour manuellement par l'admin après résolution des cycles.
couleurhex — #c9a84crequisCouleur de la divinité sur la carte et dans l'UI. Format hexadécimal avec #.
passmonmotdepasserequisMot de passe de connexion du joueur. Texte brut.
factionOlympiensrequisValeurs exactes : Olympiens Shenming Sovereign. Respecter la casse.
avatar_urlURL ImguroptionnelPortrait de la divinité. Hébergé sur Imgur. Passer par fixImgur() si l'URL contient des virgules.
logo_urlURL ImguroptionnelLogo / symbole de la divinité.
tuto0 ou 1requis0 = tutoriel pas encore fait (se lance automatiquement au login). 1 = terminé.
K → ABnombres 0–50requisColonnes SOCIETAL_COLS + ORG_COLS. Sommées en JS. Les noms exacts sont définis dans app.js.
territoires
Lecture via gviz
requis
optionnel
auto
ColonneType / exempleStatutNotes
idfr_parisrequisIdentifiant unique du territoire.
nomParisrequisNom affiché dans l'interface.
zoneFrancerequisDoit correspondre exactement aux 23 zones du globe D3.
typecapitaleoptionnelCatégorie du territoire.
proprietaireathenaoptionnelID de la divinité propriétaire. Vide ou neutral si non possédé. Dans le code JS, la propriété s'appelle owner.
pi_valeurnombre — 3optionnelValeur en PI du territoire à la conquête.
lonnombre — 2.35optionnelLongitude (pour affichage globe). Remplace cx dans la version mobile.
latnombre — 48.85optionnelLatitude (pour affichage globe).
image_urlURL ImguroptionnelPhoto du territoire (utilisée dans la fiche mobile).
nations
36 colonnes — lecture via gviz
Bug connu : idee4_court est absente — remplacée par un doublon idee4_type. Et idee3_court est déplacée en toute fin de ligne. Nécessite une correction manuelle dans Google Sheets (réordonner les colonnes).
Les URLs Imgur dans les colonnes *_img peuvent contenir des virgules au lieu de points dans le sous-domaine — passer toujours par fixImgur() avant affichage.
requis
optionnel
ColonneType / exempleStatutNotes
zoneFrancerequisNom de la zone. Clé principale. Doit correspondre aux zones du globe.
leaderEmmanuel MacronoptionnelNom du dirigeant de la nation dans le contexte 2029.
portrait_urlURL ImguroptionnelPortrait du leader.
image_urlURL ImguroptionnelImage de fond de la nation (paysage, drapeau, etc.).
descriptiontexte longoptionnelLore de la nation affiché dans le panneau zone.
alignement_xnombre — 0.6optionnelAxe idéologique horizontal (−1 à +1). Utilisé pour la pyramide d'alignement.
alignement_ynombre — 0.3optionnelAxe idéologique vertical (−1 à +1).
dieu1athenaoptionnelID de la première divinité influente sur cette zone.
dieu2aresoptionnelID de la deuxième divinité influente.
leader_biotexte longoptionnelBiographie du leader affichée dans la fiche nation.
idee1_imgURL ImguroptionnelImage de l'idée nationale 1.
idee1_nomLa République ÉternelleoptionnelNom de l'idée nationale 1.
idee1_typebonusoptionnelType de l'idée.
idee1_courttexte courtoptionnelAccroche courte affichée sur la carte de l'idée.
idee1_longtexte longoptionnelDescription complète de l'idée (modal de détail).
idee1_effet+2 PI défenseoptionnelEffet mécanique de l'idée.
idee2_* → idee4_*Même structure × 4 idées (img, nom, type, court, long, effet). Total : 24 colonnes d'idées.
attaques
Lecture via gviz — écriture via Apps Script
Limité à 2 attaques actives simultanées par divinité. La colonne resultat est remplie par l'admin à la clôture du cycle.
requis
auto
ColonneType / exempleStatutNotes
cyclenombre — 12requisNuméro du cycle en cours.
attaquantaresrequisID de la divinité attaquante.
defenseurathenarequisID de la divinité défenseure.
territoireFrancerequisZone ou territoire ciblé.
timestampdate — 2025-06-01 18:32autoRempli automatiquement à la déclaration d'attaque.
resultatvictoireautoRempli par l'admin à la clôture du cycle. Valeurs libres.
cycles
Lecture via gviz
requis
optionnel
ColonneType / exempleStatutNotes
numeronombre — 12requisNuméro du cycle.
debutdate — 2025-06-01requisDate de début du cycle.
findate — 2025-06-07optionnelVide si cycle en cours.
statuten coursrequisValeurs : en cours cloture
quetes
Lecture et écriture via Apps Script — actions get_quete, accept_quete, refuse_quete
requis
optionnel
auto
ColonneType / exempleStatutNotes
idq_001requisIdentifiant unique de la quête.
divinite_cibleathenarequisID de la divinité à qui la quête est proposée.
pnj_nomMercurerequisNom du PNJ donnant la quête.
pnj_imageURL ImgurrequisPortrait du PNJ — 500×500px recommandé. Positionné à top:-70px dans le modal.
fond_imageURL ImguroptionnelImage de fond floutée derrière le PNJ.
pnj_biotexte longoptionnelDescription du PNJ affichée dans le modal quête.
pnj_personnaliterusé, diplomateoptionnelTraits de caractère du PNJ.
objectiftexte longrequisDescription de l'objectif à accomplir, affiché au joueur.
gain_description+5 PI en FrancerequisRécompense textuelle affichée au joueur.
gain_pinombre — 5requisPI accordés à la complétion. Appliqués manuellement par l'admin.
statutdisponiblerequisValeurs : disponible acceptee completee refusee
acceptee_parathenaautoRempli par Apps Script à l'acceptation.
timestamp_acceptdateautoRempli automatiquement à l'acceptation.
roadmap
Lecture via CSV public — pas Apps Script
Pour obtenir l'URL CSV : Fichier → Partager → Publier sur le web → choisir l'onglet roadmap → format CSV → copier le lien → le coller dans CSV_URL en haut de roadmap.js. Les modifications admin sont locales uniquement — mettre à jour le Sheet manuellement.
Le CSV ne supporte pas les sauts de ligne dans les cellules. Garder le champ texte sur une seule ligne dans le Sheet. La colonne teaser accepte plusieurs URLs séparées par | pour la galerie.
requis
optionnel
ColonneType / exempleStatutNotes
id1 ou rm_001requisIdentifiant unique de l'entrée. Un simple numéro suffit.
titreSystème de quêtesrequisTitre de la carte affichée sur la timeline.
descriptiontexte courtrequisRésumé affiché directement sur la carte de la timeline.
imageURL ImguroptionnelVignette affichée sur la carte.
statutEn coursrequisValeurs exactes (casse à respecter) : Fait En cours Prévu
dateJuin 2025optionnelTexte libre — pas de format date strict. Ex : "Été 2025", "Cycle 12".
textetexte longoptionnelContenu détaillé affiché dans la modal au clic sur la carte.
teaserurl1|url2|url3optionnelURLs d'images séparées par | pour la galerie lightbox dans le modal de détail.
dieux_lore
Créé automatiquement par Apps Script — action getLore / saveLore / deleteLore
Ne jamais lire via CSV — les sauts de ligne dans les textes de lore cassent le parsing. Toujours passer par l'action Apps Script getLore.
requis
ColonneType / exempleStatutNotes
divinite_idathenarequisID de la divinité concernée. Clé de recherche.
chapitrenombre — 1requisNuméro du chapitre pour l'ordre d'affichage dans la fiche.
titreOrigine divinerequisTitre du chapitre affiché dans l'accordéon de la fiche.
textetexte longrequisContenu narratif. Peut contenir des sauts de ligne — Apps Script gère la sérialisation.
dieux_liens
Créé automatiquement par Apps Script — actions getLiens / saveLien / deleteLien
Les liens sont directionnels (source_id → cible_id). L'onglet est auto-créé à la première utilisation de l'admin panel.
requis
optionnel
ColonneType / exempleStatutNotes
source_idathenarequisID de la divinité source du lien.
cible_idaresrequisID de la divinité cible.
typealliérequisNature du lien. Ex : allié rival neutre pacte
descriptiontexteoptionnelDescription de la relation affichée dans la fiche divinité, onglet Liens.