Wikia

Wikia Français

Commentaires21

Présentation de Lua, pour des modèles plus rapides et plus performants

Wyz juin 17, 2014 Blog utilisateur:Wyz

Bonjour à toutes et à tous ! Si vous ne me connaissez pas déjà, je suis Grunny et je suis un ingénieur logiciel chez Wikia. J'écris aujourd'hui pour vous présenter Lua, un nouveau langage de modèles, que nous allons déployer sur tous les wikias dans un futur proche. Cela va simplifier la création et la modification de modèles tels que les infoboxes, les palettes de navigation et plein d'autres.

Pourquoi ajoutons-nous les modèles en Lua ?

MarvelCharacterTemplate.png

Vous ne comprenez pas tout ce code ? Essayez Lua !

La plupart d'entre vous utilise probablement les modèles régulièrement. La plateforme MediaWiki, sur laquelle repose Wikia, utilise une syntaxe wikitexte particulière comme les fonctions parseur pour vous permettre d'utiliser des opérations logiques et autres fonctionnalités pour construire des modèles. L'introduction de fonctions parseur a effectivement transformé le wikitexte en un langage de programmation limité. Bien que les fonctions parseur vous permettent de faire beaucoup de choses dans les modèles, les modèles complexes entraînent des problèmes de performances et des temps de chargement des pages longs et sont souvent difficiles à modifier et comprendre. Si vous n'êtes pas sûr de ce que sont les fonctions parseur, vous pouvez donc voir pourquoi les modèles peuvent être compliqués !

Pour cette raison, le support de Lua en tant que langage de modèles a été ajouté à MediaWiki, inclus sur Wikia, aussi vous pourrez utiliser un langage de modèles plus simple, plus rapide et plus performant. Pour ceux qui modifient les modèles, Lua vous permettra de créer des modèles complexes et faire des choses qui étaient soit trop compliquées soit trop lentes avec le wikitexte. Lua a été conçu pour être relativement simple à comprendre et a été utilisé avec succès dans les environnements de jeu vidéo tels que World of Warcraft où les gens sans expérience en programmation ont pu modifier leur environnement en apprenant un peu le Lua. Pour ceux qui ne modifient pas les modèles, vous pourrez toujours bénéficier de temps de chargement des pages plus rapides lorsqu'elles utilisent des modèles en Lua. En convertissant l'infobox personnage de Marvel Database en Lua, nous avons vu les pages l'utilisant se charger 35 à 50% fois plus vite !

À quoi ressemble un modèle en Lua ?

On crée des modèles Lua en écrivant le code Lua dans l'espace de noms Module:. Ils peuvent alors être utilisés en ajoutant la fonction parseur {{#invoke:}} sur une page ou un modèle. Prenons l'exemple d'un modèle qui n'affiche qu'un message de bienvenue à un utilisateur dont le nom est passé en paramètre, vous pouvez créer Module:Greeting contenant le code suivant :

local p = {}
 
function p.hello( frame )
    return 'Hello, ' .. frame.args[1] .. '!'
end
 
return p

Ensuite, pour utiliser le modèle sur une page (ou dans un modèle), vous ajouterez {{#invoke:Greeting|hello|Wikia}}. Ceci affichera le texte « Hello, Wikia! »

Où puis-je en savoir plus sur Lua ?

Nous avons commencé à rédiger la documentation de notre version de l'extension pour les modèles en Lua (appelée Scribunto) sur le Wikia Developers Wiki et nous continuerons à compléter et améliorer cette documentation au fur et à mesure que nous mettons en place la fonctionnalité. Vous pouvez aussi consulter le site Web de Lua et regarder sur Wikipédia ces quelques pages : documentation sur Lua, modules Lua et modèles utilisant Lua, comme ils utilisent maintenant Lua pour la plupart des choses.

Quelle est la suite ?

Restez à l'écoute pour plus d'informations tandis que nous déployons les modèles en Lua sur plus de wikias. Nous posterons des informations sur de nouvelles fonctionnalités sympas et, comme nous envisageons de l'activer sur tout le site, nous animerons des sessions de formation sur le Wikia Developers Wiki pour ceux qui sont intéressés.


Vous pouvez consulter l'article original ici (en anglais).
Vous souhaitez être informé(e) sur les billets postés en rapport avec l'actualité Wikia ? Alors cliquez ici pour suivre ce blog.