Skip to content

Page statique regroupant les mods de l'Infinity Engine existants

Notifications You must be signed in to change notification settings

RiwsPy/lcc-docs

Repository files navigation

Liste des mods de l'Infinity Engine

Version maintenue de la liste des mods BG de FreddyGwendo
Reprise de la liste des mods de JohnBob

Infos

Le fichier db/mods.json contient les informations nécessaires à la génération de la page. Pour ajouter, corriger, supprimer un mod c'est lui et seulement lui qu'il faut éditer.

Installation

Le minimum vital

Python3.9+
uv, le gestionnaire de paquet

Créez l'environnement virtuel

    cd lcc-docs/
    uv sync

Testez l'intégrité du fichier mods.json

    uv run main.py scripts/check_mods_json.py

Créez la page statique du site

    uv run main.py scripts/update_index.py

Cela génère le fichier index.html dans docs/.

Améliorations par rapport à la v1

Cette version propose plusieurs améliorations techniques notables :

  • Bien meilleure maintenabilité
  • Merge des 8 jeux de données en un seul
  • Merge des 8 templates : exit le fix typo à appliquer 8 fois
  • Pas de connaissance nécessaire en html/css pour faire des modifications
  • Suppression de la plage d'identifiant unique pour les mods
  • Une seule feuille de style (avec utilisation de variable…)
  • Retrait des styles inlines css
  • Script de génération de la page index.html
  • Les mods peuvent être dans plusieurs catégories
  • Du responsive (un tableau ça a des limites)
  • Une facilité de lecture accrue (taille de police, des images etc)
  • Modification aisée de la structure de la donnée (et des mods qui vont avec)
  • Filtre par nom
  • Filtre par qualité de mod
  • CI qui check automatiquement la conformité du contenu de mods.json

Limites

  • Modifier un Json est moins sexy que de passer par un formulaire fait pour ça

TODO

  • Remplacer le Json par du Yaml paraît être une bonne idée mais la multiplication des '\"\' en tout genre ne m'y a pas encouragé (peut-être une config permet de contourner le problème ou une autre solution est envisageable ?)
  • Formulaire d'ajout d'un mod qui renvoit son équivalent en Json (plus qu'à l'ajouter à la db)
  • Rédaction de GuideLine pour les contributeurs (wip)

Doc

Comme tout se fait dans le fichier db/mods.json, il est important de savoir ce qui est possible de faire ou non.

Le JSON c'est quoi ?

Documentation sur le JSON : https://developer.mozilla.org/fr/docs/Learn/JavaScript/Objects/JSON\ Outil en ligne pour valider le format de votre json : https://jsonformatter.curiousconcept.com

Informations par défaut des mods :

    {
        "name": "",
        "description": "",
        "urls": [],
        "categories": [],
        "games": [],
        "authors": [],
        "team": [],
        "notes": [],
        "translation_state": "no",
        "safe": 2,
        "languages": [],
        "status": "active",
        "last_update": "",
        "tp2": ""
    }

Détails

name : nom du mod
description : description du mod
urls : liste de lien, généralement lien de téléchargement ou/et lien du forum le présentant
categories: liste des catégories dans lesquelles le mod est placé. Valeurs possibles :

  • Patch non officiel
  • Utilitaire
  • Conversion
  • Interface
  • Cosmétique
  • Portrait et son
  • Quête
  • PNJ recrutable
  • PNJ One Day
  • PNJ (autre)
  • Forgeron et marchand
  • Sort et objet
  • Kit
  • Gameplay
  • Script et tactique
  • Personnalisation du groupe

games : liste des jeux sur lesquels le mod est fonctionnel. Valeurs possibles :

  • BG
  • BG2
  • BGT
  • Tutu
  • BGEE
  • SoD
  • BG2EE
  • EET
  • IWD
  • IWD2
  • IWDEE
  • PST
  • PSTEE

authors: liste des personnes ayant participé à la création/maintenance du mod, actuellement non affiché
team : liste des personnes ayant participé à la traduction du mod
notes : liste de messages indiquant des points d'attention
translation_state : le mod est traduit ou pas, ou s'il ne nécessite pas de traduction. Valeurs possibles :

  • "yes" : ✅ Mod traduit en français
  • "no" : ❌ Mod non traduit en français
  • "n/a" : ✅ Mod ne nécessitant pas de traduction
  • "todo" : ❎ Mod partiellement traduit
  • "wip" : ❌ Mod en cours de traduction

safe : si le mod est considéré comme fiable (installable via weidu, maintenu, ne génère pas d'incompatibilités). Valeurs possibles :

  • 2 : 🟢 Mod de qualité
  • 1 : ⚠️ Mod pouvant poser des problèmes
  • 0 : 🟥 Mod à éviter ou obsolète

languages : langues dans lesquels le mod existe, actuellement non affiché, format ISO-3166-1

status : la raison peut être indiquée dans les notes, actuellement sans impact

  • "active" : mod actif
  • "archived" : mod est archivé et donc non maintenu
  • "obsolete" : incompatible avec les dernières versions des jeux originaux ou/et EE (exemple d'un mod fait sous EE 1.3 mais jamais upgrade depuis)
  • "embed" : intégré en tant que composant (et maintenu) dans un autre mod ou pack
  • "missing" : lien de téléchargement disparu
  • "wip" : le mod est phase de développement

last_update : date connue de la dernière mise à jour du mod, champ automatique, format YYYY-MM

tp2 : nom du fichier tp2 du mod. Valeurs possibles :

  • "nom du tp2" : le vrai nom du tp2
  • "n/a" : non concerné (notamment pour les utilitaires)
  • "non-weidu" : pas de fichier tp2 car non-WeiDU
  • "multiple" : plusieurs fichiers tp2 dans le dossier (plusieurs mods ou plusieurs versions selon le jeu)

About

Page statique regroupant les mods de l'Infinity Engine existants

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages