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.

« Modèle:Documentation/doc » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Hiob (discussion | contributions)
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
<noinclude>
<noinclude>
{{DISPLAYTITLE:Documentation (documentation)}}
{{DISPLAYTITLE:Documentation (documentation)}}
{{Documentation}}
<!-- NE PAS INCLURE {{Documentation}} ici pour éviter la récursivité ! -->
<div class="mw-documentation-header" style="..."
  '''Ce modèle est utilisé sur {{PAGESINCATEGORY:Documentation de modèle|R}} pages.'''
  [{{fullurl:Special:WhatLinksHere/Modèle:Documentation|limit=500}} Voir les utilisations]
</div>
</noinclude>
</noinclude>
<includeonly>
<includeonly>
<div class="mw-documentation-header" style="
    background-color: #f0f0f0;
    border-bottom: 1px solid #ddd;
    padding: 0.5em;
    margin-bottom: 1em;
    font-size: 90%;
  ">
  '''Ce modèle est utilisé sur {{PAGESINCATEGORY:Modèles utilisant Documentation|R}} pages.'''
  [{{fullurl:Special:WhatLinksHere/Modèle:Documentation|limit=500}} Voir les utilisations]
</div>
== Description ==
== Description ==
Ce modèle standardise l'affichage de la documentation pour **tous les modèles** du wiki.
Ce modèle standardise l'affichage de la documentation pour les modèles du wiki.
Il vérifie automatiquement l'existence d'une sous-page <code>/doc</code> et :
Il recherche automatiquement une sous-page <code>/doc</code> et l'affiche en bas du modèle parent.
1. **Affiche la documentation** si elle existe.
2. **Affiche un message d'avertissement** si la documentation est manquante, avec un lien pour la créer.


=== Pourquoi utiliser <code>/doc</code> ? ===
=== Fonctionnement ===
- **Convention large** : Adoptée par la plupart des wikis techniques (MediaWiki.org, Fandom, etc.).
1. Si <code>{{FULLPAGENAME}}/doc</code> existe → l'inclut avec un titre adapté.
- **Compatibilité** : Plus court et plus intuitif que `/Documentation`.
2. Sinon → affiche un message incitant à créer la documentation.
- **Maintenance** : Facilite les scripts de migration ou d'analyse.
3. Applique la [[Catégorie:Documentation de modèle]] **uniquement** aux pages <code>Modèle:*/doc</code>.


== Syntaxe ==
== Syntaxes acceptées ==
{{msgnw:Documentation}}
| Dans le modèle parent       | Résultat                                  |
 
|-----------------------------|-------------------------------------------|
=== Paramètres ===
| <code>{{Documentation}}</code> | Affiche <code>Modèle:Nom/doc</code> si elle existe. |
| Nom       | Type    | Description                                                                | Obligatoire |
|-----------|---------|-----------------------------------------------------------------------------|--------------|
| (aucun)  | -      | Le modèle s'utilise sans paramètre.                                        | Non          |
 
== Exemples ==
 
=== 1. Modèle avec documentation ===
Si [[Modèle:Exemple/doc]] existe :
<pre>
{{Exemple}}
{{Documentation}}
</pre>
Affiche le contenu de <code>Modèle:Exemple/doc</code> dans un cadre dédié.


=== 2. Modèle sans documentation ===
== Exemple ==
Si [[Modèle:Test/doc]] n'existe pas :
<syntaxhighlight lang="wiki">
<pre>
<!-- Dans Modèle:Exemple -->
{{Test}}
{{Documentation}}
{{Documentation}}
</pre>
</syntaxhighlight>
→ Affiche un message incitant à créer <code>Modèle:Test/doc</code>.
 
== Personnalisation ==
=== CSS ===
Les classes suivantes sont disponibles pour le styling :
- <code>.mw-documentation-missing</code> : Conteneur du message "documentation manquante".
- <code>.mw-documentation-notice</code> : Texte du message.
- <code>.mw-documentation-header</code> : En-tête avec le compteur d'utilisations.


Exemple pour modifier les couleurs (à ajouter dans [[MediaWiki:Common.css]]) :
<syntaxhighlight lang="wiki">
<pre>
<!-- Dans Modèle:Exemple/doc -->
.mw-documentation-missing {
    background-color: #fff5f5;
    border-color: #ffcccc;
}
</pre>
 
== Comportement des catégories ==
Ce modèle applique automatiquement la [[Catégorie:Documentation de modèle]] **uniquement** si :
1. La page appartient au namespace '''Modèle''' (namespace 10).
2. La page est une sous-page '''/doc''' (ex: <code>Modèle:Exemple/doc</code>).
 
=== Exemples ===
| Page                    | Catégorie appliquée ? | Raison                                  |
|--------------------------|-----------------------|-----------------------------------------|
| Modèle:Test              | ❌ Non                | Page principale du modèle.            |
| Modèle:Test/doc          | ✅ Oui                | Sous-page /doc dans le namespace Modèle.|
| Utilisateur:X/Test/doc    | ❌ Non                | N'est pas dans le namespace Modèle.    |
| Modèle:Test/autre        | ❌ Non                | Sous-page, mais pas /doc.              |
 
=== Désactiver la catégorisation ===
Pour exclure une page /doc de la catégorie (cas rare), ajoutez :
<pre>
<noinclude>
<noinclude>
{{DISPLAYTITLE:...}}
{{DISPLAYTITLE:Exemple (documentation)}}
__NOCAT__
{{Documentation}} <!-- Inclut le bloc de catégorisation -->
{{Documentation}}
== Description ==
...
...
</noinclude>
</noinclude>
</pre>
</syntaxhighlight>


 
== Règles de nommage ==
=== Compatibilité avec Lua ===
- Les sous-pages de documentation **doivent** s'appeler <code>/doc</code> (ex: <code>Modèle:Nom/doc</code>).
Pour utiliser ce modèle dans un [[Module:|module Lua]] :
- Le titre doit être défini via <code>{{DISPLAYTITLE:Nom (documentation)}}</code>.
<pre>
local p = {}
function p.doc(frame)
    return mw.getCurrentFrame():expandTemplate{
        title = 'Documentation',
        args = {}
    }
end
return p
</pre>


== Bonnes pratiques ==
== Bonnes pratiques ==
1. **Structure de <code>/doc</code>** :
- Encapsulez toujours la documentation dans <code>&lt;noinclude&gt;...&lt;/noinclude&gt;</code>.
  - Toujours encapsuler la documentation dans <code>&lt;noinclude&gt;...&lt;/noinclude&gt;</code>.
- Utilisez les sections <code== Paramètres ==</code>, <code== Exemples ==</code>, etc.
  - Utiliser <code>{{DISPLAYTITLE:Nom (documentation)}}</code> pour le titre.
- Pour les modèles complexes, ajoutez une [[Catégorie:Modèles avancés]].
  - Exemple minimal :
    <pre>
    &lt;noinclude&gt;
    {{DISPLAYTITLE:Nom (documentation)}}
    {{Documentation}}
    == Description ==
    ...
    &lt;/noinclude&gt;
    </pre>
 
2. **Catégorisation** :
  - Ajouter [[Catégorie:Modèles documentés]] dans la page <code>/doc</code>.
  - Utiliser [[Catégorie:Modèles non documentés]] pour les modèles sans <code>/doc</code> (via un [[Special:TrackingCategories|catégorie de suivi]]).
 
3. **Migration depuis <code>/Documentation</code>** :
  - Utiliser [[Special:MovePage]] pour renommer les anciennes pages.
  - Mettre à jour les liens avec [[Special:WhatLinksHere]].
 
== Voir aussi ==
- [[Aide:Créer un modèle]] – Guide pour créer des modèles.
- [[Modèle:Boîte de navigation]] – Pour organiser les documentations.
- [https://www.mediawiki.org/wiki/Help:Templates Documentation officielle MediaWiki] (en anglais).


[[Catégorie:Modèles système]]
[[Catégorie:Documentation de modèle|Documentation]]
[[Catégorie:Documentation]]
</includeonly>
</includeonly>

Version du 16 octobre 2025 à 14:00


<div class="mw-documentation-header" style="..."

 Ce modèle est utilisé sur 6 pages.
 Voir les utilisations