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
Hiob (discussion | contributions)
m Cat
Balises : Modification par mobile Modification par le web mobile
 
(13 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Description ==
== 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.
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 ==
== Infobox disponibles ==
* {{Modèle|Infobox Monde}} - Pour les mondes Minecraft
 
;Voir tous les [[:Catégorie:Modèle d'infobox|modèles d'infobox]].
* {{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 ...)
Ligne 21 : 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>
<pre>
local config = {}
Module:Infobox/Configs/<NomType>
</pre>


-- Configuration de l'infobox
avec cette structure :
config.type = 'NomType'
config.nom = 'Infobox NomType'
config.icone = 'nom-fichier.png'  -- optionnel


-- Définition des champs
<pre>
config.champs = {
local config = {
     -- Champ obligatoire
     titre = function(args)
    {
         return args.nom or '{{PAGENAME}}'  
         nom = 'nom',
    end,
         ordre = 1,
 
        obligatoire = true,
    image = function(args)
        titre = true  -- Sera affiché en titre de l'infobox
         if args.image then
    },
            return {
      
                nom = args.image,
    -- Champ image
                taille = args.tailleimage or "250px",
     {
                legende = args.legende
         nom = 'image',
            }
        ordre = 2,
        end
        type = 'image',
        return nil
        defaut_legende = 'nom' -- Utilise le champ 'nom' si pas de légende
     end,
    },
 
   
     sections = {
    -- Champ texte simple
         {
    {
            titre = 'Informations Générales',
        nom = 'description',
            champs = {
         ordre = 3,
                { cle = 'type', label = 'Type' },
         libelle = 'Description',
                { cle = 'fondation', label = 'Fondation' },
        type = 'texte'
                { cle = 'destruction', label = 'Destruction' },
    },
                { cle = 'fondateur', label = 'Fondateur(s)' },
   
                { cle = 'symbole', label = 'Symbole' },
    -- Champ lien
                { cle = 'statut', label = 'Statut' },
    {
                { cle = 'x', label = 'Coordonnée X' },  -- Ces champs seront remplacés automatiquement
        nom = 'proprietaire',
                { cle = 'y', label = 'Coordonnée Y' },  -- par l'affichage "Coordonnées" groupé
         ordre = 4,
                { cle = 'z', label = 'Coordonnée Z' }
        libelle = 'Propriétaire',
            }
        type = 'lien'
         },
    },
         {
   
            titre = 'Organisation Interne',
    -- Champ coordonnées
            champs = {
    {
                { cle = 'dirigeant', label = 'Dirigeant' },
         nom = 'coordonnees',
                { cle = 'population', label = 'Population' },
        ordre = 5,
                { cle = 'culte', label = 'Culte' },
        libelle = 'Coordonnées',
                { cle = 'organisation_rattachee', label = 'Organisation rattachée' },
        type = 'coordonnees', -- Format automatique x, y, z
                { cle = 'gouvernement', label = 'Type de gouvernement' },
        champs = {'x', 'y', 'z'} -- Champs à combiner
                { 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' }
            }
        }
     }
     }
}
}
Ligne 78 : 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 100 : 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 118 : 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 124 : Ligne 172 :
* {{Module|Infobox/Core}} - Logique de rendu HTML
* {{Module|Infobox/Core}} - Logique de rendu HTML
* {{Module|Infobox/Configs}} - Gestionnaire des configurations
* {{Module|Infobox/Configs}} - Gestionnaire des configurations
* {{Module|Infobox/Configs/TypeX}} - Configuration de chaque type
* {{Module|Infobox/Configs/xxx}} - Configuration de chaque type


== Dépannage ==
== Dépannage ==
Ligne 141 : Ligne 189 :


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

Dernière version du 13 novembre 2025 à 08:42

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

Voir tous les modèles d'infobox.
  • {{Infobox Localité}} - Pour les localités (villages, villes, cités...)
  • {{Infobox Grade}} - Pour les grades (Architecte, scribe, Ménestrel ...)
  • {{Infobox Organisation}} - Pour toute forme d'organisation sociales (Guildes, Ordres, Factions, Tribus ...)

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.


Catégorie: Modèle d'infobox

Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.