« Modèle:Roadmap/doc » : différence entre les versions
Autres actions
Page créée avec « Ce modèle génère une '''roadmap visuelle''' pour suivre les fonctionnalités, mises à jour et projets. Il s'intègre au design du skin Citizen et respecte automatiquement les modes clair et sombre. == Utilisation == Le module est appelé via le '''Modèle:Roadmap''' : <syntaxhighlight lang="wikitext"> {{Roadmap | titre = Roadmap — Serveur Nefald | subtitle = Estimations mises à jour en juin 2025 | contenu = @section ⚔️ Gamepl... » |
m lien |
||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 3 : | Ligne 3 : | ||
== Utilisation == | == Utilisation == | ||
Le | Le [[Module:Roadmap]] est appelé via le '''[[Modèle:Roadmap]]''' : | ||
<syntaxhighlight lang="wikitext"> | <syntaxhighlight lang="wikitext"> | ||
| Ligne 11 : | Ligne 11 : | ||
| contenu = | | contenu = | ||
@section ⚔️ Gameplay | @section ⚔️ Gameplay | ||
item | item ;; done ;; Système de classes ;; desc=Guerrier, mage et assassin ;; tag=gameplay ;; date=Jan 2025 | ||
item | item ;; inprogress ;; Économie de base ;; desc=Monnaies, marchands, échanges ;; tag=gameplay ;; date=Fév 2025 | ||
item | item ;; planned ;; Guildes et alliances ;; desc=Création, membres, guerres ;; tag=gameplay | ||
item | item ;; idea ;; Arène JcJ saisonnière ;; desc=Tournois avec classement ELO ;; tag=gameplay,event | ||
@section 🗺️ Contenu & Monde | @section 🗺️ Contenu & Monde | ||
item | item ;; done ;; Carte principale Zone 1 ;; tag=contenu ;; date=Jan 2025 | ||
item | item ;; inprogress ;; Zone 2 — Les Marécages ;; tag=contenu | ||
item | item ;; cancelled ;; Zone aquatique ;; desc=Reporté indéfiniment ;; tag=contenu | ||
@section 🛠️ Technique & Wiki | @section 🛠️ Technique & Wiki | ||
item | item ;; done ;; Mise en place du wiki ;; tag=wiki ;; date=2025 | ||
item | item ;; inprogress ;; Module Roadmap Lua ;; tag=wiki | ||
item | item ;; planned ;; Bot Discord ↔ Wiki ;; desc=Synchronisation automatique ;; tag=technique,discord | ||
}} | }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Syntaxe == | == Syntaxe == | ||
=== Séparateur === | |||
{{Note|type=warning|text=Le séparateur entre les champs d'un item est <code>;;</code> (double point-virgule), '''pas''' le caractère <code>{{!}}</code>. En effet, le pipe <code>{{!}}</code> est interprété par MediaWiki comme séparateur de paramètre du modèle, ce qui tronque le contenu avant que le module Lua ne le reçoive.}} | |||
=== Paramètres du modèle === | === Paramètres du modèle === | ||
| Ligne 67 : | Ligne 71 : | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
item | item ;; statut ;; Titre de l'item ;; option1=valeur ;; option2=valeur | ||
</syntaxhighlight> | |||
Exemple concret : | |||
<syntaxhighlight lang="text"> | |||
item ;; done ;; Système de classes ;; desc=Guerrier, mage et assassin ;; tag=gameplay ;; date=Jan 2025 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 154 : | Ligne 164 : | ||
@section Ma section | @section Ma section | ||
-- TODO: ajouter plus d'items ici | -- TODO: ajouter plus d'items ici | ||
item | item ;; done ;; Mon item | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 167 : | Ligne 177 : | ||
| titre = Mon Projet | | titre = Mon Projet | ||
| contenu = | | contenu = | ||
item | item ;; done ;; Étape 1 | ||
item | item ;; inprogress ;; Étape 2 | ||
item | item ;; planned ;; Étape 3 | ||
}} | }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 181 : | Ligne 191 : | ||
| legende = non | | legende = non | ||
| contenu = | | contenu = | ||
item | item ;; done ;; Correction bug #42 ;; date=15 Jan | ||
item | item ;; done ;; Nouvelle interface ;; date=20 Jan | ||
}} | }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 193 : | Ligne 203 : | ||
{{#invoke:Roadmap|item|done|Ma fonctionnalité|desc=Terminée hier|tag=gameplay}} | {{#invoke:Roadmap|item|done|Ma fonctionnalité|desc=Terminée hier|tag=gameplay}} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Note|text=La fonction <code>item</code> inline utilise les pipes classiques <code>{{!}}</code> car les paramètres sont passés directement à <code>#invoke</code>, pas dans un champ <code>contenu</code>.}} | |||
== Structure des fichiers == | == Structure des fichiers == | ||
| Ligne 224 : | Ligne 236 : | ||
{| class="wikitable" | {| class="wikitable" | ||
! Problème !! Cause probable !! Solution | ! Problème !! Cause probable !! Solution | ||
|- | |||
| Aucun item affiché || Utilisation de <code>{{!}}</code> au lieu de <code>;;</code> comme séparateur || Remplacer tous les <code>{{!}}</code> par <code>;;</code> dans le contenu | |||
|- | |- | ||
| Pas de couleurs || TemplateStyles non chargé || Vérifier que <code><templatestyles src="Roadmap/styles.css" /></code> est dans le Modèle:Roadmap | | Pas de couleurs || TemplateStyles non chargé || Vérifier que <code><templatestyles src="Roadmap/styles.css" /></code> est dans le Modèle:Roadmap | ||
|- | |- | ||
| Item affiché comme texte brut || Syntaxe incorrecte || Vérifier le format <code>item | | Item affiché comme texte brut || Syntaxe incorrecte || Vérifier le format <code>item ;; statut ;; titre</code> | ||
|- | |- | ||
| Statut non reconnu || Faute de frappe || Le module affiche <code>planned</code> par défaut | | Statut non reconnu || Faute de frappe || Le module affiche <code>planned</code> par défaut | ||
Dernière version du 21 février 2026 à 07:46
Ce modèle génère une roadmap visuelle pour suivre les fonctionnalités, mises à jour et projets. Il s'intègre au design du skin Citizen et respecte automatiquement les modes clair et sombre.
Utilisation
Le Module:Roadmap est appelé via le Modèle:Roadmap :
{{Roadmap
| titre = Roadmap — Serveur Nefald
| subtitle = Estimations mises à jour en juin 2025
| contenu =
@section ⚔️ Gameplay
item ;; done ;; Système de classes ;; desc=Guerrier, mage et assassin ;; tag=gameplay ;; date=Jan 2025
item ;; inprogress ;; Économie de base ;; desc=Monnaies, marchands, échanges ;; tag=gameplay ;; date=Fév 2025
item ;; planned ;; Guildes et alliances ;; desc=Création, membres, guerres ;; tag=gameplay
item ;; idea ;; Arène JcJ saisonnière ;; desc=Tournois avec classement ELO ;; tag=gameplay,event
@section 🗺️ Contenu & Monde
item ;; done ;; Carte principale Zone 1 ;; tag=contenu ;; date=Jan 2025
item ;; inprogress ;; Zone 2 — Les Marécages ;; tag=contenu
item ;; cancelled ;; Zone aquatique ;; desc=Reporté indéfiniment ;; tag=contenu
@section 🛠️ Technique & Wiki
item ;; done ;; Mise en place du wiki ;; tag=wiki ;; date=2025
item ;; inprogress ;; Module Roadmap Lua ;; tag=wiki
item ;; planned ;; Bot Discord ↔ Wiki ;; desc=Synchronisation automatique ;; tag=technique,discord
}}
Syntaxe
Séparateur
;; (double point-virgule), pas le caractère |. En effet, le pipe | est interprété par MediaWiki comme séparateur de paramètre du modèle, ce qui tronque le contenu avant que le module Lua ne le reçoive.Paramètres du modèle
| Paramètre | Obligatoire | Description | Valeur par défaut |
|---|---|---|---|
titre |
Non | Titre affiché en en-tête de la roadmap | Roadmap
|
subtitle |
Non | Sous-titre affiché sous le titre | aucun |
contenu |
Oui | Contenu de la roadmap (sections et items) | vide |
stats |
Non | Afficher les statistiques. Mettre non pour masquer |
oui |
legende |
Non | Afficher la légende. Mettre non pour masquer |
oui |
Sections
Les sections regroupent les items par catégorie. Syntaxe :
@section Titre de la section
Vous pouvez utiliser des émojis dans le titre :
@section ⚔️ Gameplay
@section 🗺️ Contenu & Monde
@section 🛠️ Technique
Items
Chaque item représente une fonctionnalité ou une tâche. Syntaxe :
item ;; statut ;; Titre de l'item ;; option1=valeur ;; option2=valeur
Exemple concret :
item ;; done ;; Système de classes ;; desc=Guerrier, mage et assassin ;; tag=gameplay ;; date=Jan 2025
Statuts disponibles
| Statut | Icône | Description | Compté dans la progression |
|---|---|---|---|
done |
✓ | Terminé, déployé | ✓ Oui |
inprogress |
◉ | En cours de développement | ✕ Non |
planned |
○ | Planifié, pas encore commencé | ✕ Non |
idea |
✦ | Idée, à l'étude | ✕ Non |
cancelled |
✕ | Annulé, abandonné | ✕ Non (ignoré du total) |
cancelled sont exclus du calcul de la barre de progression.Options des items
| Option | Description | Exemple |
|---|---|---|
desc |
Description courte sous le titre | desc=Prévu pour 8 joueurs
|
tag |
Tags de catégorisation (séparés par des virgules) | tag=gameplay,event
|
date |
Date ou période | date=Jan 2025
|
lien |
Lien wiki vers une page de détail | lien=Système de classes
|
Tags disponibles
Les tags suivants ont un style coloré prédéfini :
| Tag | Aperçu | Usage recommandé |
|---|---|---|
gameplay |
gameplay | Mécaniques de jeu |
technique |
technique | Infrastructure, serveur |
contenu |
contenu | Maps, zones, monde |
interface |
interface | UI/UX |
event |
event | Événements |
wiki |
wiki | Pages wiki, documentation |
discord |
discord | Intégration Discord |
Fonctionnalités automatiques
Barre de progression
La barre se calcule automatiquement :
Progression = items "done" / (total items - items "cancelled") × 100
Les items cancelled sont exclus du calcul pour ne pas fausser le pourcentage.
Statistiques
Le compteur en haut affiche automatiquement le nombre d'items par statut. Seuls les statuts ayant au moins un item sont affichés.
Légende
La légende en bas rappelle la signification de chaque icône/couleur.
Commentaires
Vous pouvez ajouter des commentaires dans le contenu avec -- en début de ligne :
-- Ceci est un commentaire, il sera ignoré
@section Ma section
-- TODO: ajouter plus d'items ici
item ;; done ;; Mon item
Les lignes vides sont également ignorées.
Exemples
Roadmap minimale
{{Roadmap
| titre = Mon Projet
| contenu =
item ;; done ;; Étape 1
item ;; inprogress ;; Étape 2
item ;; planned ;; Étape 3
}}
Sans statistiques ni légende
{{Roadmap
| titre = Changelog
| stats = non
| legende = non
| contenu =
item ;; done ;; Correction bug #42 ;; date=15 Jan
item ;; done ;; Nouvelle interface ;; date=20 Jan
}}
Item inline (hors roadmap)
Vous pouvez afficher un item seul n'importe où avec :
{{#invoke:Roadmap|item|done|Ma fonctionnalité|desc=Terminée hier|tag=gameplay}}
item inline utilise les pipes classiques | car les paramètres sont passés directement à #invoke, pas dans un champ contenu.Structure des fichiers
| Page | Rôle |
|---|---|
| Module:Roadmap | Code Lua principal |
| Modèle:Roadmap | Modèle d'appel |
| Modèle:Roadmap/doc | Cette documentation |
| Modèle:Roadmap/styles.css | Feuille de style (TemplateStyles) |
Compatibilité
| Composant | Version |
|---|---|
| MediaWiki | 1.43+ |
| Skin | Citizen (dark/light mode automatique) |
| Extensions requises | Scribunto, TemplateStyles |
Dépannage
| Problème | Cause probable | Solution |
|---|---|---|
| Aucun item affiché | au lieu de ;; comme séparateur |
par ;; dans le contenu
|
| Pas de couleurs | TemplateStyles non chargé | Vérifier que est dans le Modèle:Roadmap
|
| Item affiché comme texte brut | Syntaxe incorrecte | Vérifier le format item ;; statut ;; titre
|
| Statut non reconnu | Faute de frappe | Le module affiche planned par défaut
|
| Tag sans couleur | Tag non prédéfini | Ajouter le style dans Modèle:Roadmap/styles.css
|
| Dark mode non respecté | CSS avec couleurs fixes | Utiliser var(--color-surface-*) pour les surfaces
|
Ajouter un nouveau tag
- Choisir un nom en minuscules sans espaces (ex:
pvp) - Ajouter dans Modèle:Roadmap/styles.css :
.roadmap-tag-pvp {
background: #fce4ec;
color: #880e4f;
}
- Utiliser dans un item :
tag=pvp
Ajouter un nouveau statut
La modification de statuts nécessite l'édition de Module:Roadmap. Dans la table CONFIG.statuts, ajouter :
monstatut = {
label = "Mon Statut",
icon = "★",
order = 6,
},
Puis ajouter les styles CSS correspondants (.roadmap-badge-monstatut, .roadmap-stat-monstatut, .roadmap-item.roadmap-monstatut).