Centre des communautés
Advertisement

Une fonction parseur (ou fonction d'analyse) est une forme de wikitexte qui permet de rendre les modèles plus robustes et adaptables. Lorsqu'elle est suffisamment bien écrite avec des paramètres de modèle, la définition d'une fonction parseur produit des résultats différents dans des situations différentes.

Par exemple, au lieu de simplement répéter la même instruction sur chaque page où le modèle {{Mon super modèle}} est utilisé, vous pouvez utiliser une fonction parseur pour afficher un résultat si la page se trouve dans la Catégorie:Fichiers, et un résultat complètement différent si elle se trouve dans la Catégorie:Aide.

Les façons dont vous pouvez utiliser les fonctions parseur sont beaucoup trop variées pour que nous puissions les partager ici. Mais nous espérons pouvoir vous aider à les explorer.

Bases[]

Parser quelque chose est simplement examiner une expression pour ses composantes logiques et ensuite prendre des mesures en conséquence.

Par exemple :

Si le nom de cet article est « Aide:FandomDesktop », alors ajouter « Vous êtes maintenant sur la page d'aide de FandomDesktop. ».

Ceci est la base des fonctions parseur.

Écriture de fonctions parseurs[]

Note : Cette page utilise l'éditeur source pour écrire les fonctions parseur. Vous pouvez techniquement être en mesure de les éditer en utilisant l'ÉditeurVisuel, mais l'interface est très limitée.

Les fonctions parseur sont écrites en ajoutant des accolades ({{), comme pour les modèles. Cependant, la plupart d'entre elles nécessitent généralement d'ajouter un croisillon (#), pour les différencier facilement.

Maintenant, pour revenir à l'exemple ci-dessus, le code est le suivant :

{{#ifeq: {{FULLPAGENAME}} | Aide:FandomDesktop
 | Vous êtes maintenant sur la page d'aide de FandomDesktop.
}}

Cela peut sembler compliqué, c'est pourquoi un guide étape par étape est écrit ci-dessous :

  1. La fonction parseur est nommée #ifeq: signifie « if equals » (si égal à). Cela peut ne pas avoir de sens, mais continuez à lire.
  2. La première partie est un mot magique, qui donne le « nom complet de la page » (c'est-à-dire l'espace de noms avec le nom de la page).
  3. La deuxième partie fournit « Aide:FandomDesktop » à la fonction parseur. Notez que les « valeurs en entrée » des fonctions parseur sont séparées par la barre |, comme les paramètres des modèles.
  4. La troisième partie affiche « Vous êtes maintenant sur la page d'aide de FandomDesktop. », si le nom complet de la page est égal à Aide:FandomDesktop.

Voici comment vous lisez l'énoncé :

Si le nom complet de la page est égal à Aide:FandomDesktop, afficher « Vous êtes maintenant sur la page d'aide de FandomDesktop. »

Et voilà ! Vous avez maintenant compris comment fonctionne une fonction parseur.

Exemples supplémentaires[]

Un modèle qui vérifie si un personnage est un adulte[]

Ce modèle utilise la fonction parseur #ifexpr. Il détaille également les paramètres de modèle, également.

Mettez donc simplement ceci dans le code :

{{#ifexpr: {{{âge|}}} > 18
| Le personnage est un adulte
| Le personnage nest '''pas''' un adulte.
}}

En termes simples, le code ci-dessus signifie « Si âge= est supérieur à 18, le personnage est un adulte. Sinon, non. »

Décomposons le tout étape par étape :

{{#ifexpr: {{{âge|}}} > 18
Cela signifie : Si le paramètre « âge » est supérieur à 18.
| Le personnage est un adulte
Lorsque l'expression ci-dessus est vrai (ou Oui), mettre « Le personnage est un adulte » dans la page
| Le personnage n'est '''pas''' un adulte
Sinon, mettre « Le personnage n'est pas un adulte. » dans la page.
}}
Met fin à la fonction parseur.

On se répète, mais :

Si âge= est supérieur à 18, ajouter "Le personnage est un adulte" à la page. Sinon, ajouter "Le personnage n'est '''pas''' un adulte" à la place.

Une meilleure version du modèle de boîte[]

Si vous vous rappelez de le modèle de boîte sur Aide:Paramètres de modèle, il crée essentiellement une simple boîte à afficher sur une page. Cependant, avec l'utilisation des fonctions parseur, cela peut être grandement amélioré.

Modifier Modèle:Boîte pour qu'il ait le code suivant :

<div style="background-color: {{{bgcolor|#DDD2}}}; border: 1px solid #5556; padding: 2em; text-align: center; width: 10em;">
{{#if: {{{titre|}}}
| '''{{{titre|}}}'''
}}
{{{texte}}}
</div>

Ceci introduit maintenant la fonction parser #if:, qui est utilisée pour vérifier si un paramètre existe.[note 1]

Donc, en tapant :

{{Boîte
|titre = Mon titre
|texte = Texte explicatif ici
}}

donnera comme résultat :

Mon titre Texte explicatif ici

Par contre, si cela est écrit :

{{Box
|texte = Texte explicatif ici
}}

ceci s'affichera :

Texte explicatif ici

Avez-vous constaté que le titre en gras a disparu ? Donc, si vous ne spécifiez pas | titre=, il n'y aura rien dans le titre.

Disons que nous allons supprimer la fonction parser :

<div style="background-color: {{{bgcolor|#DDD2}}}; border: 1px solid #5556; padding: 2em; text-align: center; width: 10em;">
'''{{{titre|}}}'''
{{{texte}}}
</div>

et ne pas ajouter un paramètre | titre=. Ceci s'affichera :

' Texte explicatif ici

Ça apparaît comme cassé, n'est-ce pas ?[note 2] C'est donc pour cela que les fonctions parseur sont géniales ! Elles peuvent nous aider à mettre en place une logique comme celle-ci.

En résumé :

Si le paramètre {{{titre|}}} est indiqué, afficher le titre en gras.

Fonctions parseur communes[]

Maintenant que vous avez appris ce que fait une fonction parseur, et vu des exemples de celles-ci, nous allons maintenant passer à la partie référence.

Intégré[]

Le logiciel MediaWiki lui-même comprend de nombreuses fonctions parseur en son sein. Une liste complète de celles-ci est disponible dans Help:Magic Words sur mediawiki.org. Cette page illustrera les plus utiles.

{{fullurl:}}
Retourne l'URL complète d'une page donnée.
{{fullurl:Aide:Contenu}}https://communaute.fandom.com/fr/wiki/Aide:Contenu
{{#language:}}
Convertit un code de langue en nom de la langue.
{{#language:es}} → español
{{lc:}}
Change une chaîne de caractère en minuscule (opposé de {{uc:}}).
{{lc:CASSE}} → casse
{{ns:}}
Lit le numéro d'un espace de noms et indique de quel espace de noms il s'agit.
{{ns:4}} → Centre des communautés
{{plural:}}
Si l'expression indiquée est égale à un, retourne la valeur au singulier donnée. Si l'expression indiquée est égale à deux, retour la valeur au pluriel donnée.
{{plural:1|est|sont}} → est
{{plural:2|est|sont}} → sont

Extension ParserFunctions[]

Cette fonctionnalité est activée par défaut sur Fandom.

L'extension ParserFunctions s'appuie sur une logique simple afin de retourner le code adéquat.

L'extension ParserFunctions est une extension populaire de MediaWiki qui ajoute de nombreuses fonctions parseur utiles. Cette extension est activée par défaut sur tout Fandom. Cette extension est activée par défaut sur l'ensemble du Fandom, vous n'avez donc pas besoin de la demander.

L'extension ParserFunctions dispose de fonctions pour des opérations mathématiques, des déclarations if/else (si/sinon) et même manipuler le temps lui-même ! (Enfin, l'expression du temps, en tout cas !)

Certaines d'entre elles sont même utilisées dans les exemples des sections précédentes !

Voici un sous-ensemble de ces fonctions ; pour obtenir une liste complète et une documentation complète sur la façon de les utiliser, veuillez visiter la page d'aide officielle de l'extension.

#if:
{{#if: valeur à évaluer | si la valeur n'est pas vide ou espace | sinon }}
#ifeq:
{{#ifeq: a | b | a = b | a != b }}
#ifexist:
{{#ifexist: page | Affiche ceci si la page existe | sinon, ceci s'affiche}}

Autres extensions[]

D'autres extensions qui sont populaires sur Fandom ajoutent leurs propres fonctions parser. Deux des plus courantes sont Arrays et Variables.

Pour en savoir plus, veuillez consulter la page de cette extension sur MediaWiki.org.

Quelles fonctions parser sont disponibles ici ?[]

Comme différents wikis peuvent avoir différentes fonctions parser, il peut être utile de savoir précisément ce qui se trouve sur un wiki particulier. Consultez Spécial:Version de votre wiki pour obtenir la liste complète.

Voir aussi[]

Notes[]

  1. Techniquement, la fonction parseur #if: vérifie si le premier « paramètre » n'est pas vide. Une chaîne de caractères ne contenant que des espaces est considérée comme étant vide. Cette section est écrite comme si la fonction principale n'existait pas, pour des raisons de simplicité.
  2. Note : le « modèle » est volontairement cassé. Retirer la fonction parseur ajoutera simplement un ' aléatoire avant le corps du texte

Plus d'aide

Advertisement