# Introduction au Lua/Scribunto objet Title

Un module Lua-Scribunto pour Mediawiki, est une page de l'espace de nom "Module" qui utilise une table comme variable locale pour stocker ses fonctions et variables mais aussi pour renvoyer la réponse à la fin du processus.
Le chapitre bibliothèques Scribunto, étudie les fonctions spécifiques permettant ou facilitant l'usage de Lua sur une plateforme MediaWiki. Il s'agit des fonctions ajoutées par la bibliothèque Scribunto au langage Lua. Cette leçon vous apprendra comment utiliser la Librairie Title du module Scribunto, nous abordons dans un premier temps les propriétés de l'Objet Title.

## Prérequis

Cette leçon suppose que vous ayez assimilé la leçon Tables.

## Créer un script Lua Scribuntu qui utilise la librairie Titre

* Accéder au Module:Sandbox.
* Supprimer le code existant.
* Ajouter le code suivant et enregistrer la page:

## Tester votre nouveau script

* Rendez-vous sur "votre page de test" ou utiliser la page de discussion de cette leçon.
* Ajouter le code suivant et enregistrer la page:

### Le résultat doit correspondre à ceci
   #### baseText

       Informatique/Programmation/Lua

   #### canTalk

       true

   #### exists

       true

   #### fileExists

       nil

   #### fragment
   #### fullText

       Discussion:Informatique/Programmation/Lua/Title

   #### id

       59771

   #### inNamespace

       false

   #### inNamespaces

       false

   #### interwiki
   #### isContentPage

       false

   #### isExternal

       false

   #### isLocal

       true

   #### isRedirect

       false

   #### isSpecialPage

       false

   #### isSubpage

       true

   #### isTalkPage

       true

   #### nsText

       Discussion

   #### prefixedText

       Discussion:Informatique/Programmation/Lua/Title

   #### rootText

       Informatique

   #### subjectNsText
   #### subpageText

       Title

   #### text

       Informatique/Programmation/Lua/Title

   #### isSubpageOf

       Discussion:Informatique/Programmation
       true

   #### getContent
   ## Bienvenus aux lecteurs

   Un message spécial aux lecteurs de la leçon Scribunto objet Title. Ils découvrent le contenu le cette page de discussion Discussion:Informatique/Programmation/Lua/Introduction ; par le biais de Scribunto, le Wikitexte est interprété, les modèles ne sont pas transclus.
   {{Traduit de|en|Lua/Introduction|8 janvier 2016|33959}}
   PS: Si vous souhaitez participer au document, un modèle de page où leçon est disponible Modèle pour ce document. Youni Verciti (discussion) 23 avril 2016 à 15:36 (UTC)

   ### mw.title.new

       58915 - Module:Sandbox

## Comprendre le nouveau script

Pou comprendre votre nouveau script Lua:
* local title = mw.title.getCurrentTitle récupère l'objet titre de la page courante et l'assigne à la variable nommée title. Chaque objet titre dispose de toutes les propriétés suivantes:
* title.canTalk retourne vrai si le titre (contenu dans l'objet) peut avoir une page de discussion.
* title.baseText retourne la base, la première partie du titre, où la page parent si il s'agit d'une sous-page.
* title.exists retourne vrai si le titre existe.
* title.fileExists retourne vrai si le fichier ou l'image existe.
* title.fragment retourne l'indicateur de fragment plus connu sous le nom #Tag, s'il existe.
* title.fullText retourne le texte complet du titre de la page.
* title.id retourne l'identifiant unique de la page.
* title:inNamespace(0) retourne vrai si le titre de la page est dans l'espace de noms donné.
* title:inNamespaces(0) retourne vrai si le titre de la page est dans l'un des espaces de noms donnés...
* title.interwiki retourne le préfixe interwiki du titre, s'il existe.
* title.isContentPage indique si la page est dans un espace de noms de contenu.
* title.isExternal retourne vrai si le titre dispose d'un préfixe interwiki.
* title.isLocal retourne vrai si le titre est dans ce projet wiki.
* title.isRedirect retourne vrai si le titre est une redirection.
* title.isSpecialPage retourne vrai si le titre est une page spéciale.
* title.isSubpage retourne vrai si le titre correspond à une sous-page.
* title.isTalkPage retourne vrai si le titre correspond à une page de discussion.
* title.nsText retourne le texte de l'espace de noms correspondant à l'objet titre.
* title.prefixedText retourne le titre de la page, avec l'espace de noms et le prefixe interwiki affichés.
* title.rootText retourne la partie dite racine du titre, sans aucun préfixe.
* title.subjectNsText le nom de l'espace de noms sujet de la page...
* title.subpageText si c'est une sous-page, juste le nom de la sous-page. Sinon identique à title.text.
* title.text retourne le texte du titre sans préfixes.
* title:isSubpageOf(title2)) retourne vrai si le titre correspond à une sous-page de la page donnée en argument title2.
* title:getContent retourne le texte complet de la page. mw.text.trim supprime d’éventuels espaces inutiles, les arguments frame.args[x] passés au module sont affectés aux variables text et namespace. local title = mw.title.new(text, namespace) crée un nouvel objet titre selon les paramètres passés au module. Pour transclure les modèles utiliser frame:expandTemplate.
* mw.title.new(text, namespace) la fonction MediaWiki title.new créé un nouvel objet titre avec les arguments text et namespace passés lors de l'appel au module par {{#INVOKE...}}.

## Conclusion

Félicitation! Vous êtes capable de créer, tester et comprendre un script Lua qui contient des fonctions de la librairie Title de la bibliothèque Scribunto. Retourner à la page principale et choisissez une autre leçon Lua et Scribuntu pour MediaWiki.