Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/doc » : différence entre les versions

De Nefald
Aucun résumé des modifications
Aucun résumé des modifications
Balise : Révocation manuelle
 
(12 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :


== Infobox disponibles ==
== Infobox disponibles ==
[[:Catégorie:Modèle d'infobox]]
* {{Modèle|Infobox Monde}} - Pour les mondes Minecraft
* {{Modèle|Infobox Monde}} - Pour les mondes Minecraft
* {{Modèle|Infobox Localité}} - Pour les localités (villages, villes, cités...)
* {{Modèle|Infobox Localité}} - Pour les localités (villages, villes, cités...)
* {{Modèle|Infobox Grade}} - Pour les grades (Architecte, scribe, Ménestrel ...)
* {{Modèle|Infobox Grade}} - Pour les grades (Architecte, scribe, Ménestrel ...)
* {{Modèle|Infobox Organisation}} - Pour toute forme d'organisation sociales (Guildes, Ordres, Factions, Tribus ...)


== Utilisation ==
== Utilisation ==
Ligne 20 : Ligne 23 :
== Création d'une nouvelle infobox ==
== Création d'une nouvelle infobox ==
=== Étape 1 : Créer la configuration ===
=== Étape 1 : Créer la configuration ===
Créez une sous-page dans {{Module|Infobox/Configs/NomType}} avec cette structure :
Créez une sous-page dans :
 
<pre>
Module:Infobox/Configs/<NomType>
</pre>
 
avec cette structure :


<pre>
<pre>
local config = {}
local config = {
    titre = function(args)
        return args.nom or '{{PAGENAME}}'
    end,


-- Configuration de l'infobox
    image = function(args)
config.type = 'NomType'
        if args.image then
config.nom = 'Infobox NomType'
            return {
config.icone = 'nom-fichier.png'  -- optionnel
                nom = args.image,
                taille = args.tailleimage or "250px",
                legende = args.legende
            }
        end
        return nil
    end,


-- Définition des champs
    sections = {
config.champs = {
        {
    -- Champ obligatoire
            titre = 'Informations Générales',
    {
            champs = {
        nom = 'nom',
                { cle = 'type', label = 'Type' },
        ordre = 1,
                { cle = 'fondation', label = 'Fondation' },
        obligatoire = true,
                { cle = 'destruction', label = 'Destruction' },
        titre = true -- Sera affiché en titre de l'infobox
                { cle = 'fondateur', label = 'Fondateur(s)' },
    },
                { cle = 'symbole', label = 'Symbole' },
   
                { cle = 'statut', label = 'Statut' },
    -- Champ image
                { cle = 'x', label = 'Coordonnée X' }, -- Ces champs seront remplacés automatiquement
    {
                { cle = 'y', label = 'Coordonnée Y' }, -- par l'affichage "Coordonnées" groupé
        nom = 'image',
                { cle = 'z', label = 'Coordonnée Z' }
         ordre = 2,
            }
         type = 'image',
         },
        defaut_legende = 'nom' -- Utilise le champ 'nom' si pas de légende
         {
    },
            titre = 'Organisation Interne',
   
            champs = {
    -- Champ texte simple
                { cle = 'dirigeant', label = 'Dirigeant' },
    {
                { cle = 'population', label = 'Population' },
        nom = 'description',
                { cle = 'culte', label = 'Culte' },
         ordre = 3,
                { cle = 'organisation_rattachee', label = 'Organisation rattachée' },
         libelle = 'Description',
                { cle = 'gouvernement', label = 'Type de gouvernement' },
        type = 'texte'
                { cle = 'quartiers', label = 'Quartiers' }
    },
            }
   
         },
    -- Champ lien
         {
    {
            titre = 'Économie et Société',
        nom = 'proprietaire',
            champs = {
        ordre = 4,
                { cle = 'activite', label = 'Activité' },
        libelle = 'Propriétaire',
                { cle = 'ressources', label = 'Ressources' },
        type = 'lien'
                { cle = 'monnaie', label = 'Monnaie' },
    },
                { cle = 'commerce', label = 'Commerce' },
   
                { cle = 'culture', label = 'Culture' },
    -- Champ coordonnées
                { cle = 'langues', label = 'Langues' }
    {
            }
        nom = 'coordonnees',
        },
        ordre = 5,
        {
        libelle = 'Coordonnées',
            titre = 'Géographie',
        type = 'coordonnees', -- Format automatique x, y, z
            champs = {
        champs = {'x', 'y', 'z'} -- Champs à combiner
                { cle = 'monde', label = 'Monde' },
                { cle = 'climat', label = 'Climat' },
                { cle = 'biome', label = 'Biome' },
                { cle = 'relief', label = 'Relief' },
                { cle = 'superficie', label = 'Superficie' },
                { cle = 'cours_eau', label = 'Cours d\'eau' },
                { cle = 'batiments', label = 'Bâtiments notables' }
            }
        }
     }
     }
}
}
Ligne 77 : Ligne 103 :
</pre>
</pre>


=== Étape 2 : Enregistrer la configuration ===
=== Étape 2 : Créer le modèle ===
Modifiez {{Module|Infobox/Configs}} pour ajouter votre nouveau type :
Créez :
<pre>{{Modèle:Infobox_Organisation}}</pre>
 
avec ce contenu :


<pre>
<pre>
local configList = {
<includeonly><templatestyles src="Infobox/styles.css" />{{#invoke:Infobox|main|Localite
    'Monde',
| nom = {{{nom|{{{1|}}}}}}
    'Localite',
| soustitre = {{{soustitre|}}}
    'NomType',  -- Ajoutez cette ligne
| image = {{{image|}}}
}
| tailleimage = {{{tailleimage|}}}
</pre>
| legende = {{{legende|}}}
| type = {{{type|}}}
| fondation = {{{fondation|}}}
| destruction = {{{destruction|}}}
| fondateur = {{{fondateur|}}}
| symbole = {{{symbole|}}}
| statut = {{{statut|}}}
| monde = {{{monde|}}}
| x = {{{x|}}}
| y = {{{y|}}}
| z = {{{z|}}}
| dirigeant = {{{dirigeant|}}}
| population = {{{population|}}}
| culte = {{{culte|}}}
| organisation_rattachee = {{{organisation_rattachee|}}}
| activite = {{{activite|}}}
| ressources = {{{ressources|}}}
}}</includeonly><noinclude>
{{Documentation}}
</noinclude>


=== Étape 3 : Créer le modèle ===
Créez {{Modèle|Infobox NomType}} avec ce contenu :
<pre>
<includeonly>{{#invoke:Infobox|afficher|NomType}}</includeonly>
</pre>
</pre>


Ligne 99 : Ligne 142 :
* {{Module|Infobox/Configs}}
* {{Module|Infobox/Configs}}
* {{Module|Infobox}}
* {{Module|Infobox}}
* {{Modèle|Infobox NomType}}


<pre>
* Modèle:Infobox <NomType>
</pre>
<!--
== Types de champs disponibles ==
== Types de champs disponibles ==
=== Types de base ===
=== Types de base ===
Ligne 117 : Ligne 165 :
* '''defaut_legende''' - Champ à utiliser comme légende par défaut (pour les images)
* '''defaut_legende''' - Champ à utiliser comme légende par défaut (pour les images)
* '''champs''' - Liste des champs à combiner (pour coordonnées)
* '''champs''' - Liste des champs à combiner (pour coordonnées)
-->


== Structure technique ==
== Structure technique ==
Ligne 140 : Ligne 189 :


<includeonly>[[Catégorie:Documentation de module]]</includeonly>
<includeonly>[[Catégorie:Documentation de module]]</includeonly>
[[Catégorie: Modèle d'infobox]]

Dernière version du 26 septembre 2025 à 15:53

Description

Le système d'infobox modulaire permet de créer et gérer facilement différents types d'infobox sur le wiki. Chaque type d'infobox est configuré dans un module séparé pour faciliter la maintenance.

Infobox disponibles

Catégorie:Modèle d'infobox

Utilisation

Pour utiliser une infobox existante

Utilisez directement le modèle correspondant :

{{Infobox Monde
| nom = Monde Principal
| seed = 12345
| difficulte = Normale
}}

Création d'une nouvelle infobox

Étape 1 : Créer la configuration

Créez une sous-page dans :

Module:Infobox/Configs/<NomType>

avec cette structure :

local config = {
    titre = function(args) 
        return args.nom or '{{PAGENAME}}' 
    end,

    image = function(args) 
        if args.image then
            return {
                nom = args.image,
                taille = args.tailleimage or "250px",
                legende = args.legende
            }
        end
        return nil
    end,

    sections = {
        {
            titre = 'Informations Générales',
            champs = {
                { cle = 'type', label = 'Type' },
                { cle = 'fondation', label = 'Fondation' },
                { cle = 'destruction', label = 'Destruction' },
                { cle = 'fondateur', label = 'Fondateur(s)' },
                { cle = 'symbole', label = 'Symbole' },
                { cle = 'statut', label = 'Statut' },
                { cle = 'x', label = 'Coordonnée X' },  -- Ces champs seront remplacés automatiquement
                { cle = 'y', label = 'Coordonnée Y' },  -- par l'affichage "Coordonnées" groupé
                { cle = 'z', label = 'Coordonnée Z' }
            }
        },
        {
            titre = 'Organisation Interne',
            champs = {
                { cle = 'dirigeant', label = 'Dirigeant' },
                { cle = 'population', label = 'Population' },
                { cle = 'culte', label = 'Culte' },
                { cle = 'organisation_rattachee', label = 'Organisation rattachée' },
                { cle = 'gouvernement', label = 'Type de gouvernement' },
                { cle = 'quartiers', label = 'Quartiers' }
            }
        },
        {
            titre = 'Économie et Société',
            champs = {
                { cle = 'activite', label = 'Activité' },
                { cle = 'ressources', label = 'Ressources' },
                { cle = 'monnaie', label = 'Monnaie' },
                { cle = 'commerce', label = 'Commerce' },
                { cle = 'culture', label = 'Culture' },
                { cle = 'langues', label = 'Langues' }
            }
        },
        {
            titre = 'Géographie',
            champs = {
                { cle = 'monde', label = 'Monde' },
                { cle = 'climat', label = 'Climat' },
                { cle = 'biome', label = 'Biome' },
                { cle = 'relief', label = 'Relief' },
                { cle = 'superficie', label = 'Superficie' },
                { cle = 'cours_eau', label = 'Cours d\'eau' },
                { cle = 'batiments', label = 'Bâtiments notables' }
            }
        }
    }
}

return config

Étape 2 : Créer le modèle

Créez :

{{Modèle:Infobox_Organisation}}

avec ce contenu :

<includeonly><templatestyles src="Infobox/styles.css" />{{#invoke:Infobox|main|Localite
| nom = {{{nom|{{{1|}}}}}}
| soustitre = {{{soustitre|}}}
| image = {{{image|}}}
| tailleimage = {{{tailleimage|}}}
| legende = {{{legende|}}}
| type = {{{type|}}}
| fondation = {{{fondation|}}}
| destruction = {{{destruction|}}}
| fondateur = {{{fondateur|}}}
| symbole = {{{symbole|}}}
| statut = {{{statut|}}}
| monde = {{{monde|}}}
| x = {{{x|}}}
| y = {{{y|}}}
| z = {{{z|}}}
| dirigeant = {{{dirigeant|}}}
| population = {{{population|}}}
| culte = {{{culte|}}}
| organisation_rattachee = {{{organisation_rattachee|}}}
| activite = {{{activite|}}}
| ressources = {{{ressources|}}}
}}</includeonly><noinclude>
{{Documentation}}
</noinclude>

Étape 4 : Purger les caches

Purgez ces pages pour forcer MediaWiki à recharger les configurations :

* Modèle:Infobox <NomType>


Structure technique

Le système est composé de :

Dépannage

Erreur "Configuration non trouvée"

1. Vérifiez que la sous-page de configuration existe 2. Vérifiez que le nom est ajouté dans configList 3. Purgez les caches des modules

L'infobox ne s'affiche pas

1. Purgez le cache du modèle 2. Vérifiez la syntaxe de la configuration 3. Vérifiez que le nom du type correspond exactement

Catégories

Les infobox sont automatiquement catégorisées dans Catégorie:Pages avec infobox NomType.