Langage wiki

Un article de Wikipédia, l'encyclopédie libre.

Wiki
Date de première version 2006
Auteur Ward Cunningham
Développeur Ward Cunningham
Dernière version 2021

Depuis la fondation de l'encyclopédie libre Wikipédia et sa popularité croissante, wiki web, wiki-wiki ou simplement wiki sont des termes largement connus dans le contexte du Web 2.0. Cependant, leur signification exacte reste souvent floue. Parfois, wiki et Wikipédia sont en fait utilisés comme synonymes. La fonctionnalité essentielle de tout système wiki est la possibilité de modifier des pages web wiki directement dans un navigateur en saisissant un langage de balisage facile à apprendre. Le concept basé sur le navigateur et le serveur permet à plusieurs auteurs d'éditer et de réviser des documents communs sans avoir à échanger des versions écrites et mises à jour indépendamment. Comme la plupart des systèmes wiki offrent un système intégré de gestion des versions, les auteurs peuvent facilement fusionner leurs modifications.

Définition[modifier | modifier le code]

Le langage wiki, ou balisage wiki[1],[2], est un langage de balisage léger utilisé pour écrire des pages dans les sites web wiki, tels que Wikipédia, et constitue une alternative simplifiée au HTML. Le but est de convertir un contenu par le logiciel wiki en HTML, qui à son tour est servi aux navigateurs web. Il n'existe pas de langage wikitext standard communément accepté, car la grammaire, la structure, la justification, les mots-clés… etc. dépendent du logiciel wiki particulier utilisé sur le site web en question. A titre d’exemple, tous les langages de balisage wikitext ont un moyen simple de créer des liens hypertextes vers d'autres pages du site, mais il existe plusieurs conventions syntaxiques différentes pour ces liens. Différents programmes Wiki peuvent supporter l'utilisation de différents ensembles d'éléments HTML dans le wikitext. Dans certains cas, les éléments HTML autorisés peuvent être configurés par les sites wiki individuels.

Les wikis ont été inventés en 1995. Depuis, ils sont devenus un outil largement utilisé sur le web et dans les entreprises. Sous la forme de Wikipedia, par exemple, les wikis ont un impact significatif sur la société. De nombreux moteurs de wiki différents ont été mis en œuvre depuis la création du premier wiki. Tous ces moteurs wiki intègrent le moteur de rendu des pages, les outils de traitement et l'éditeur de pages dans un seul logiciel.

Langage de balisage léger[modifier | modifier le code]

Un langage de balisage léger, également appelé langage de balisage simple ou humain, est un langage de balisage doté d'une syntaxe simple et discrète[3]. Il est conçu pour être facile à écrire à l'aide de n'importe quel éditeur de texte. Par exemple, on peut avoir une préférence pour la lecture d’un contenu dans un éditeur de texte plutôt que dans un navigateur Web.

WikiCreole[modifier | modifier le code]

Il existe de nombreux moteurs wiki, le site WikiMatrix.org compare plus de 80 moteurs wiki.  Dans la plupart des systèmes wiki, les auteurs n'utilisent pas d'éditeur WYSIWYG (« What You See Is What You Get ») pour modifier le contenu d'une page. Ils utilisent plutôt une zone de texte pour modifier le texte qui est balisé à l'aide du balisage wiki. Par rapport au HTML, le balisage wiki est un langage de balisage léger qui réduit le nombre de choix possibles au profit de la simplicité et de la rapidité d'écriture. Par ailleurs, la plupart des moteurs wiki ont des langages de balisage similaires, mais pas identiques. C'est ce qu'on appelle le désordre du balisage wiki. Dans ce sens, une tentative pour normaliser et standardiser les langages de balisage wiki a été faite, appelée « WikiCréole ». Le WikiCréole est censé permettre aux visiteurs d'un moteur wiki d'éditer des pages sur d'autres wikis sans avoir à apprendre une nouvelle syntaxe wiki.

Ward Cunningham, le fondateur des wikis, a inventé le terme créole,[4] tout comme il a inventé le nom wiki à partir du WikiWiki hawaïen. Il a suggéré ce nom lors de la conférence internationale sur Wikipédia, Wikimania 2006 à Boston. L'idée de Cunningham était de créer un balisage commun qui ne soit pas la standardisation d'un balisage existant arbitraire, mais plutôt un nouveau langage de balisage créé à partir des éléments communs des moteurs existants. Ward Cunningham fait la comparaison avec le terme linguistique : « Une langue créole, ou simplement un créole, est une langue stable qui provient d'une combinaison non triviale de deux ou plusieurs langues[5], typiquement avec de nombreuses caractéristiques qui ne sont pas héritées d'un parent » Les langues créoles commencent comme pidgin.

Le Créole est conçu pour offrir le moins de conflit possible avec les langages existants, ainsi plusieurs modes d'implémentation sont possibles qui permettent une migration facile[6]. La spécification de l’ensemble réside dans l’effort de plusieurs parties impliquées, principalement des implémenteurs de moteurs wiki et leurs sponsors correspondants.

MediaWiki[modifier | modifier le code]

La plupart des langages de balisage wiki se sont développés de manière organique et sans aucun plan directeur. Par conséquent, il n'existe pas de grammaire bien définie, ni de spécification précise de la syntaxe et de la sémantique. Le langage est défini par la mise en œuvre de son analyseur syntaxique, et cette mise en œuvre de l'analyseur syntaxique est étroitement liée au reste du moteur wiki. Comme nous l'avons déjà dit, ce manque de précision du langage et le découplage des composants entravent l'évolution des logiciels wiki. Si le contenu du wiki avait une représentation bien spécifiée et entièrement exploitable par les machines, nous serions non seulement en mesure de mieux accéder à ce contenu, mais aussi d'améliorer et d'étendre les méthodes de traitement.

Une telle amélioration du traitement automatique est particulièrement souhaitable pour MediaWiki, le moteur de wiki qui alimente Wikipédia. Celle-ci contient une grande quantité de données sous forme de tableaux et d'appels de fonctions spécialisées (« templates ») comme les infoboxes. L'état de l'art de l'extraction et de l'analyse des données de Wikipédia consiste à utiliser des expressions régulières et une analyse syntaxique imprécise pour récupérer les données. Une analyse précise du Wikitext, le langage de balisage wiki dans lequel le contenu de Wikipédia est écrit, résoudrait ce problème. Non seulement elle permettrait d'effectuer des requêtes précises, mais elle nous permettrait également de définir le contenu wiki à l'aide d'un modèle d'objet bien défini sur lequel d'autres outils pourraient opérer. Un tel modèle peut simplifier considérablement la manipulation programmatique du contenu. Et cela profite à son tour aux éditeurs WYSIWYG et à d'autres outils, qui requièrent une structure de données précise pouvant être traitée par la machine[7].

Wikitext et mediawiki[modifier | modifier le code]

Le logiciel MediaWiki s'est développé pendant de nombreuses années à partir du wiki UseMod de Clifford Adams, qui a été le premier logiciel wiki utilisé par Wikipedia. Bien que la première version du logiciel appelé plus tard MediaWiki ait été une réécriture complète en PHP, elle supportait fondamentalement la même syntaxe que le wiki UseMod[8].

L'analyseur de MediaWiki est devenu un logiciel complexe. Malheureusement, il convertit le wikitext directement en HTML, de sorte qu'aucune représentation de niveau supérieur n'est jamais générée par l'analyseur. De plus, le HTML généré peut être invalide. La complexité du logiciel interdit également le développement ultérieur de l'analyseur et la maintenance est devenue difficile[9].

De nombreuses tentatives ont essayé d'implémenter un analyseur syntaxique pour le Wikitext afin d'obtenir une représentation accessible à la machine, cependant, de nombreuses des difficultés ont empêché ces essais d’aboutir. La raison principale est la complexité de la grammaire du Wikitext, qui n'entre dans aucune des catégories bien comprises.

Références[modifier | modifier le code]

  1. (en) Bo Leuf et Ward Cunningham, The Wiki Way: Quick Collaboration on the Web, Addison-Wesley, (ISBN 978-0-201-71499-9, lire en ligne).
  2. (en) « Main Page », dans Wikipedia, the free encyclopedia, (lire en ligne).
  3. « Confluence Wiki Markup », sur confluence.atlassian.com (consulté le ).
  4. « etymology », sur c2.com (consulté le ).
  5. (en-US) « Creole Wiki Markup, WikiOhana, and More Ward Wisdom – Eugene Eric Kim » (consulté le ).
  6. « WikiSym 2006, the 2006 International Symposium on Wikis; Wiki Research and Practice », sur opensym.org (consulté le ).
  7. (en) Proceedings of the 4th International Symposium on Wikis - WikiSym '08, ACM Press, (ISBN 978-1-60558-128-6, DOI 10.1145/1822258, lire en ligne).
  8. « UseMod Wiki: UseModWiki », sur www.usemod.com (consulté le )
  9. (en) « MediaWiki history - MediaWiki », sur www.mediawiki.org (consulté le )