Help:TemplateData/fr

 est un moyen de stocker des informations au sujet d’un modèle wikitext et de ses paramètres, de manière à ce que l’éditeur visuel puisse les récupérer et les afficher dans son éditeur de modèles, rendant ainsi plus facile l’édition de pages qui utilisent ce modèle. Il est également utilisé ailleurs dans les scripts, les outils et les gadgets.

L’extension TemplateData est installée sur tous les wikis gérés par la Fondation Wikimedia. Si vous avez votre propre wiki, vous devrez installer Extension:TemplateData.

La syntaxe TemplateData permet aux utilisateurs d’écrire de petits morceaux de données structurées dans une page de modèle ou destinée à être incluse dans cette page de modèle (comme par exemple sur un modèle de page de documentation). Une fois qu'un modèle a ces données structurées, il peut être affiché correctement dans l'éditeur visuel. Bien que cela puisse sembler compliqué, c'est en fait très simple.

Éditeur de données TemplateData
Il y a un outil intégré permettant de modifier les TemplateData de manière simplifiée.

Pour utiliser l'éditeur TemplateData, allez dans la page du modèle (ou dans sa sous page de documentation) et cliquez sur le bouton "Edit". Ceci fera apparaître un bouton nommé "", juste au-dessus de la fenêtre ouverte d'édition :

Appuyez sur ce bouton pour entrer dans l'interface d'édition des TemplateData.

L'éditeur vous permet d'ajouter les paramètres du modèle et d'y attribuer les valeurs les plus courantes. Si la page que vous avez déjà éditée contient un bloc de TemplateData, l'information déjà documentée sera automatiquement affichée quand vous ouvrirez la page adéquate dans l'éditeur de TemplateData. Dans la première zone de saisie, vous pouvez ajouter ou modifier la description succincte du modèle en texte brut. Ensuite, vous pouvez utiliser les boutons "Ajouter le(s) paramètre(s) suggéré(s)" et "Ajouter un paramètre" pour documenter le nom et les attributs des paramètres utilisés par le modèle.

Si la page du modèle est protégée, vous pouvez copier-coller le code du modèle dans la sous-page, utiliser le bouton « Ajouter le(s) paramètre(s) suggéré(s) » ici, copier le contenu TemplateData, modifier la sous-page pour supprimer le code du modèle et ensuite coller le contenu TemplateData. Pour savoir où coller le contenu TemplateData à l'intérieur d'une sous-page, vous pouvez modifier TemplateData sans rien ajouter ; vous pouvez ensuite remplacer les balises et et leur contenu en collant par-dessus.

Vous pouvez lister le nom du paramètre, tous ses alias, l’intitulé et la description qui sera affichée pour les utilisateurs. Vous pouvez aussi proposer un exemple sur la façon d’utiliser le paramètre. Le seul champ obligatoire est le Nom (le premier champ de chaque ligne), qui est l’endroit où vous inscrivez le nom exact du paramètre, avec la casse correcte. Dans le menu déroulant « Type », vous pouvez choisir le type du contenu que le paramètre doit recevoir, tel qu’une chaîne (pour les messages en texte seul), une page (pour les liens vers d’autres pages), ou une date. Si le modèle produit une erreur lorsque ce paramètre n’est pas rempli, marquez ce paramètre comme « Obligatoire ». Si le paramètre est souvent utilisé ou recommandé, marquez-le comme « Suggéré ». Le bouton « Supprimer le paramètre » retire du TemplateData l’entrée concernant le paramètre.



Lorsque vous avez fini de documenter chacun des paramètres, cliquez sur « Appliquer » pour insérer le TemplateData pré-formaté dans le champ d’édition. Vous devez ensuite encore enregistrer la page en utilisant le bouton classique « Enregistrer » sous le champ d’édition.

Attention : l’éditeur TemplateData placera le TemplateData soit sur la page du modèle, soit sur sa sous-page de documentation. Vous déterminez l’endroit où le TemplateData sera ajouté en ouvrant (en éditant) la page où vous voulez que le TemplateData soit. Toutefois, si plusieurs blocs de TemplateData sont placés sur un même modèle, seul un de ces blocs de TemplateData sera utilisé. S’il y a déjà un TemplateData sur une page, alors vous devez éditer la page où le TemplateData a été ajouté précédemment pour éviter de créer accidentellement plusieurs blocs de TemplateData.

Limitations et questions

 * Fonctionnalités manquantes — TemplateData est vraiment un exemple d’outil qui a été créé avec de peu de fonctionnalités, dans l’espoir que les utilisateurs aideraient à guider le développement de fonctionnalités telles qu’ils le désirent. Si vous voulez demander de nouvelles fonctionnalités pour TemplateData, faites-le-nous savoir.
 * Retards pour l'affichage dans les modèles — Après que TemplateData a été ajouté à un modèle, les métadonnées devraient être visibles immédiatement lorsque le modèle est ouvert dans l’éditeur visuel. Toutefois, il est possible que cela prenne plusieurs heures avant que les métadonnées ne soient affichées. Vous pouvez forcer la mise à jour en faisant une modification vide sur la page du modèle lui-même (pas la sous-page de documentation). Pour faire une modification vide, ouvrez la page du modèle en édition et enregistrez la page sans faire aucun changement ni ajouter de résumé de modification.
 * Problèmes en cours — Une liste des bogues actuels et des demandes de fonctionnalités est disponible sur le gestionnaire de bugs Wikimedia.

Emplacement des TemplateData
TemplateData doit être sur la page qu'il décrit, ou être inclus dedans. A l'intérieur d'un modèle, il doit typiquement être entouré de balises. Concernant le rendu d'une page normale, il affiche la documentation générée automatiquement comme indiqué dans #Example.

Structure des TemplateData
La structure des TemplateData est basée sur le standard JSON. Notez que toutes les descriptions dans un TemplateData doivent être en texte seul (pas de wikitexte, pas de liens, etc.).

La première chose à faire est de taper une paire de balises, n’importe où sur la sous-page de documentation, comme ceci :

Cela fait savoir au logiciel que tout ce qu’il y a entre ces deux balises sera du TemplateData, et devra être référencé lorsque le modèle sera utilisé.

Exemple
Les descriptions dans les TemplateData suivent un schéma standard ; supposons que vous ayez un modèle appelé « Commons » pour créer un lien vers une catégorie de Commons à propos d’un sujet. Il prend un paramètre obligatoire : le nom de la catégorie sur Commons. Le TemplateData ressemblerait à quelque chose comme ça :

Ceci apparaîtrait, dans le modèle, ainsi :

{   "description": "Un modèle pour créer un lien vers une catégorie de Commons à propos d’un article", "params": { "1": {           "label": "Catégorie de Commons", "description": "La catégorie de Commons vers laquelle vous voulez créer un lien.", "default": "Category:CommonsRoot", "type": "string", "required": true }   } }

Description et paramètres
Une fois que vous avez fini, cliquez sur « Enregistrer ». Si vous avez fait des erreurs, vous ne pourrez pas enregistrer (ce qui peut être troublant, mais garantit que vous ne pouvez rien casser). Si vous avez des erreurs, vous pouvez expliquer sur la page des retours ce que vous avez essayé de faire, et nous serons heureux de vous aider.

Signalons que si vous abusez d’un modèle astucieux pour générer dynamiquement les TemplateData, il ne pourra pas y avoir de vérification des erreurs avant la sauvegarde.

Notez que chaque information est entourée par des guillemets droits (") (sauf pour  et  ), et séparée de la suivante par une virgule (sauf pour la dernière).

Formats personnalisés
Lorsque vous modifiez des chaînes de format personnalisé dans l’éditeur de TemplateData, vous pouvez entrer  ou bien appuyer sur la touche Entrée pour représenter une nouvelle ligne ; dans les deux cas cela sera affiché   dans le champ de saisie.

{| class="wikitable" ! style="width:25%" | Objectif ! Chaîne de format ! Rendu chaque modèle sur sa propre ligne
 * + Exemples de formats que vous pouvez utiliser
 * Formatage en ligne
 * Formatage en bloc
 * Pas d’espace avant le nom du paramètre,
 * Formatage en bloc
 * Pas d’espace avant le nom du paramètre,
 * Formatage en bloc
 * Pas d’espace avant le nom du paramètre,
 * Pas d’espace avant le nom du paramètre,
 * Pas d’espace avant le nom du paramètre,
 * Pas d’espace avant le nom du paramètre,
 * Indenter chaque paramètre
 * Aligner tous les noms de paramètres à une longueur donnée
 * Aligner tous les noms de paramètres à une longueur donnée
 * Aligner tous les noms de paramètres à une longueur donnée
 * Aligner tous les noms de paramètres à une longueur donnée
 * Aligner tous les noms de paramètres à une longueur donnée
 * Les caractères barre verticale mis à la fin de la ligne précédente
 * Style en ligne avec plus d’espaces, doit être au début de la ligne.
 * Style en ligne avec plus d’espaces, doit être au début de la ligne.
 * Style en ligne avec plus d’espaces, doit être au début de la ligne.
 * Style en ligne avec plus d’espaces, doit être au début de la ligne.
 * Style en ligne avec plus d’espaces, doit être au début de la ligne.
 * Modèle au début de la ligne, paramètres indentés et alignés, barre verticale sur la ligne précédente.
 * peut être écrit comme  ou.
 * peut être écrit comme  ou.

Pour ajouter cette information dans TemplateData, vous devez simplement ajouter les alias dans les informations du paramètre :

Valeur automatique
Vous pouvez spécifier une « valeur automatique » pour un paramètre. Lorsque les utilisateurs ajoutent le modèle sur une page, cette valeur sera ajoutée automatiquement. Par exemple, plusieurs modèles pour l’entretien des pages ont besoin que la date soit ajoutée ; si vous spécifiez une valeur automatique pour le paramètre date du modèle, alors la date sera complétée automatiquement.

Pour ajouter cette information dans TemplateData, ajoutez simplement la valeur automatique dans les informations du paramètre. Il est probable que vous ayez besoin d’utiliser  pour faire que les valeurs soient permanentes :

Paramètres multiples
Si vous avez plusieurs paramètres, répétez simplement chaque section (en commençant par l'étiquette "1") et remplissez comme vous le désirez. Notez que si un modèle a plusieurs paramètres, vous devez les séparer par une virgule dans le TemplateData, comme ceci :

Paramètres similaires
Lorsqu’un modèle a plusieurs paramètres, il est possible que certains d’entre eux soient du même type. Dans ce cas, vous n’avez besoin de remplir toutes les propriétés que pour le premier, et les autres peuvent « hériter » des propriétés de celui-ci.

Structure vierge
Vous pouvez copier la structure vierge ci-dessous pour ajouter un nouveau TemplateData à un modèle. Seules les étiquettes les plus courantes sont présentes.

Syntax Error dans JSON ou Bad JSON format
Due to a long standing bug, users using the old wikitext editor are able to save pages which have certain types of invalid JSON, such as duplicate keys or trailing commas (details: ). However if you attempt to save this page in a JavaScript based editor, such as VisualEditor or the 2017 Wikitext editor, you will see an error message "Syntax error in JSON," as the JavaScript parser is stricter and doesn't allow invalid JSON. Additionally, if you attempt to open up such invalid JSON with the Template Data GUI editor, you will see the error message, "Bad JSON format." To fix these errors, you can enter the JSON block into an external JSON validator, such as https://jsonlint.com/, and it will highlight the problematic commas and keys so they can be removed.

Autres outils

 * : Une fenêtre de dialogue de la barre d'outils pour entrer le code wiki du modèle via un formulaire construit à partir de TemplateData.
 * TemplateData Wizard: Un outil qui génère un TemplateData grâce à une interface interactive.
 * Skeleton TemplateData generator: Un outil qui lit le wikicode source d’un modèle, essaye de trouver tous les paramètres utilisés et donne un squelette avec les paramètres listés.
 * JSONLint: Un outil qui vous permet de valider un JSON écrit à la main pour trouver les erreurs dans la syntaxe.
 * Liste de tous les modèles avec TemplateData sur ce wiki
 * Sur la version allemande de Wikipédia, avec le modèle TemplateData, les template data sont affichées dans une boîte de dialogue, et le modèle est ajouté dans une catégorie des modèles ayant des template data.