Extension:Variables

This page is a translated version of the page Extension:Variables and the translation is 88% complete.
Outdated translations are marked like this.
Manuel des extensions MediaWiki
Variables
État de la version : stable
Implémentation Fonction d'analyseur
Description Introduit des fonctions de parser pour traiter des variables valables locales à la page courante.
Auteur(s)
Maintenance MGChecker
Dernière version 2.5.1 (2019-07-11)
MediaWiki 1.29+
PHP 5.5+
Modifie la base
de données
Non
Composer mediawiki/variables
Licence Licence ISC
Téléchargement
README
RELEASE-NOTES
  • $wgVariablesAreVolatile
  • $wgVariablesDisabledFunctions
Téléchargements trimestriels 164 (Ranked 64th)
Utilisé par les wikis publics 1,808 (Ranked 201st)
Traduire l’extension Variables sur translatewiki.net si elle y est disponible
Rôle Vagrant variables
Problèmes Tâches ouvertes · Signaler un bogue
Avertissement Avertissement : This extension is incompatible with plans to parallelize parsing, as is intended by the use of Parsoid . Therefore, the future of this extension is uncertain, and it is expected to become incompatible with the standard MediaWiki parser within a few years. For further information, see tâche T250963 and Parsoid/Extension API § No support for sequential, in-order processing of extension tags.

L'extension Variables vous permet de définir une variable sur une page, de l'utiliser ensuite dans cette même page ou dans des modèles inclus dans la page, de changer sa valeur, notamment en utilisant son ancienne valeur, etc.

C'est un peu comme un modèle, très léger et étendu à une seule page, donc vous pouvez utiliser beaucoup de variables sur une page sans ralentir le wiki avec un grand nombre de modèles. Combinez cette extension avec l'extension ParserFunctions pour obtenir les meilleurs résultats.

The #var_final parser function is shown as deprecated in MediaWiki 1.35 or above, due to changes in the parser. However, it will continue to work in this versions. See tâche T276627 and tâche T236809 for further information.
Cette extension ne sera pas activée pour les wikis gérés par la fondation Wikimedia (WMF).[1][2][3][4] Voir les alternatives


Affectation d'une valeur à une variable

#vardefine

  • {{#vardefine:nomdevariable|valeurspecifie}}

Attribue la valeur "specified value" à la variable (déjà existante ou introduite) "variablename".

  • Example: {{#vardefine:iconwidth|25}} making iconwidth = 25

#vardefineecho

  • {{#vardefineecho:nomdevariable|valeurspecifie}}

Fonctionne exactement comme #vardefine, mais la valeur affectée est imprimée.

  • Exemple: making iconwidth = {{#vardefineecho:iconwidth|25}}

Récupérer la valeur d'une variable

#var

La valeur de la variable variablename est obtenue par

  • {{#var:variablename}}

Si cette variable n'est pas définie, ceci renvoie une chaînevide, sans générer de message d'erreur.

Il est possible de définir une valeur pour le cas où la variable est vide ou non définie.

  • {{#var:variablename | "valeurpardéfaut" }}

Ceci est équivalent à:

  • {{#if: {{#var:variablename}} | {{#var:variablename }} | "valeurpardéfaut" }}

mais c'est bien plus cours et mieux organisé.Toutefois, avant la version 2.0, la valeur par défault vaétait toujours développée. Depuis la version 2.0, la valeur par défaut n'est développée que si elle est effectivement utilisée.

La valeur peut être utilisée dans des fonctions du parser, etc.

#varexists

  • {{#varexists:variablename }} renvoie 1 si la variable est déjà définie. Si la variable n'est pas définie, renvoie la valeur void.

Accepte un second et un troisième paramètres pour remplacer ces valeurs.

  • {{#varexists:variablename | "valeur-si" | "valeur-sinon" }}

Ce qui équivaut à :

  • {{#if: {{#varexists: variablename }} | "valeur-si" | "valeur-sinon" }}

mais c'est tellement plus court et mieux structuré. Toutefois, avant la version 2.5, les deux étaient systématiquement développé(e)s. A partir de la version 2.5, les valeurs SI (if) et SINON (else) ne sont développées que lorsqu'elles sont effectivement utilisées.

#var_final

Fonction expérimentale introduite dans les variables versions 2.0. Cette fonction affiche la dernière valeur d'une variable à la fin du rendu de page. Naturellement, la valeur sera insérée après que l'analyseur a parcouru l'intégralité du balisage wiki, donc cette fonction ne peut pas être utilisée dans d'autres fonctions, en attendant la bonne valeur est utilisée. Exemple:

  • {{#var_final:nomdevariable | "valeurpardéfaut"}}

La valeur "default" sera utilisée si la variable n'existe pas à l'étape finale du rendu de page ou si sa valeur est une chaîne vide. La valeur par défaut sera développée à l'endroit où la fonction est utilisée, de sorte que le paramètre sera développé, même si cela n'est pas nécessaire.


Exemples

L'extension #expr doit également être installée pour utiliser ParserFunctions .

Calculer x = 2*a + b :

  • {{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}

Ajouter un à n:

  • {{#vardefine:n|{{#expr:{{#var:n}}+1}}}}

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé Variables dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'Variables' );
    
  • Configure as required
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Pour les utilisateurs de MediaWiki 1.30 ou précédents :

Les instructions ci-dessus décrivent la nouvelle procédure pour installer cette extension en utilisant wfLoadExtension(). Si vous avez besoin d'installer cette extension sur les précédentes versions de MediaWiki (1.30 ou antérieur), à la place de wfLoadExtension( 'Variables' );, vous devez utiliser :

require_once "$IP/extensions/Variables/Variables.php";

Configuration

Cette extension propose deux paramètres de configuration.

$egVariablesAreVolatile
Permet de désactiver le cadre d'analyse marqué comme volatile par l'extension, c'est-à-dire de désactiver la mise en cache de modèle.
Par défaut true;
$egVariablesDisabledFunctions
Permet de désactiver les fonctions d'analyse spécifiées fournies par cette extension.
Valeur par défaut: [];
Exemple : [ 'var_final', 'vardefineecho' ];

Compatibilité

Les versions recommandées de l'extension Variables est listée ci-dessous pour chaque version récente de MediaWiki. Il est possible que les versions plus anciennes des extensions fonctionnent également, mais elles n'ont pas été testées avec les versions plus récentes de MediaWiki.

Autres solutions

Puisque cette extension n'est pas autorisée dans les wikis opérés par la Wikimedia Foundation (WMF), nous vous proposons quelques solutions alternatives :[1][2][3][4]

  • Si vous utilisez des variables comme cache pour des opérations coûteuses, vous pouvez transformer la section où vous en avez besoin en modèle et passer les informations requises en paramètres de modèle à la place. Cela fonctionnera jusqu'à ce que vous atteigniez la expansion depth limit. This will work until you reach the expansion depth limit, which can be increased if necessary.
  • Si vous utilisez des Variables pour effectuer des opérations de modèle plus complexes que possible avec des Extension:ParserFunctions simples, vous pouvez utiliser la fonctionnalité Lua de Scribunto. Notez que cela n’ajoute pas la prise en charge des Variables globales. Cependant, Extension:VariablesLua ajoute une interface Scribunto pour le magasin de Variables.
  • N'utilisez pas de variables, mais dupliquez les informations dont vous avez besoin en tant que variable. Si ces informations sont obtenues par un appel de modèle coûteux, les performances peuvent en pâtir. Cela fonctionnera jusqu'à ce que vous atteigniez la limite de nombre de noeuds.
  • If you require variables just for autonumbering, you could look into Extension:NumerAlpha .

Voir aussi

Références