# MediaWiki sémantique/Utilisation de Formulaires Sémantiques

Formulaires Sémantiques est une extension de MediaWiki qui permet de créer ou modifier des pages sous forme de formulaires (champs, listes, cases à cocher, etc.).
Comme nous l'avons dit précédemment, Formulaires Sémantiques fonctionne avec Semantic MediaWiki. Il n'est cependant pas nécessaire de se servir de Semantic MediaWiki pour faire des formulaires. Nous verrons donc plus tard comment ajouter des annotations sémantiques, et nous nous occuperons pour le moment uniquement d'apprendre à faire des formulaires.
La première grande section de ce chapitre (Éléments) décrit grossièrement le fonctionnement de l'extension Formulaires Sémantiques. La deuxième grande section (Création simplifiée d'un formulaire) présente une méthode qui ne demande en revanche pas de connaître ce fonctionnement. Il est néanmoins indispensable de lire la première section pour pouvoir ensuite configurer de manière précise vos formulaires, et c'est pourquoi nous commençons ce chapitre par cette section.

## Éléments

Pour créer un formulaire complet avec tous les champs nécessaires à l'ajout de vos données, il vous faut créer deux pages de nature différente :
* un modèle qui va définir quelles données pourront être ajoutées et comment elles s'afficheront. Le titre des pages de cette nature commence toujours par « Modèle: » ;
* une page de formulaires pour paramétrer des formulaires correspondant aux données définies par un modèle. Le titre des pages de cette nature commence toujours par « Formulaire: ».

### Les modèles

Un modèle est un code qui sert à reproduire sur plusieurs pages le même message ou la même mise en page, parfois en fonction de paramètres.
Il est très important de comprendre comment fonctionne un modèle pour bien structurer les données de votre wiki et c'est un élément fondamental pour comprendre le fonctionnement de l'extension Formulaires Sémantiques.
Vous souhaitez par exemple faire des bibliographies. Celles-ci se présentent sous une forme homogène, telle que :
* Titre, Auteur, Éditeur, Ville, Date
* Titre2, Auteur2, Éditeur2, Ville, Date
* etc.
Pour éviter de recopier pour chaque ligne de la bibliographie les éléments de formatage qui se répètent (puces, italiques par exemple), on placera ce formatage dans une page que l'on nommera : Modèle:Bibliographie et on remplacera les variables (titre, auteur, date, etc.) par des paramètres : un paramètre dans un modèle est un élément non défini et qui doit être renseigné par l'utilisateur.
Pour ajouter un paramètre dans un modèle, on lui donne un nom que l'on entoure de {{{ et }}}. Par exemple : {{{auteur}}} pour auteur, {{{titre}}} pour le titre, etc.
On obtient donc le code :
* ''{{{titre}}}'', {{{auteur}}}, {{{éditeur}}}, {{{ville}}}, {{{date}}}
C'est cette ligne, et elle seule, que l'on placera dans la page Modèle:Bibliographie. Ensuite, pour utiliser ce modèle, on écrira :
En renseignant chaque paramètre, pour chaque ligne de notre bibliographie, nous écrirons donc quelque chose comme :
ce qui affichera :
* Balthazar, Lawrence Durrell, Buchet-Chastel, Paris, 1957
Dans cet exemple, vous voyez que l'utilisation d'un modèle nous fait écrire plus de choses que si nous nous contentions d'écrire simplement chaque ligne de notre bibliographie à l'aide du code wiki de MediaWiki. Cela n'a pas d'importance pour nous, car, en utilisant ce modèle avec un formulaire, nous n'aurons plus besoin de recopier quoi que ce soit.

### Formulaires

Une page de formulaires est une page contenant des instructions pour afficher des champs, listes, etc. et les configurer. Ces champs correspondent aux paramètres d'un modèle, c'est-à-dire qu'une page de formulaires nous permet de renseigner les paramètres d'un modèle sans manipuler ce modèle, en n'utilisant donc que des formulaires.
Par exemple, au paramètre « auteur » dans notre modèle Bibliographie doit correspondre un champ « auteur » dans notre formulaire.
Ces formulaires ressembleront à ceux-ci :
Pour obtenir ces formulaires, il faut utiliser un code propre à l'extension Formulaires Sémantiques, et le placer dans des pages dont le titre commence par « Formulaire: ». Nous commencerons par quelque chose de très rudimentaire et incomplet ; dans la prochaine section, nous verrons comment créer un formulaire de manière complète à l'aide d'un outil d'aide à la création. Mais avant cela, il nous faut voir quelques éléments du fonctionnement de ces pages, car vous aurez sans doute à les modifier par vous-mêmes, même si vous utilisez l'outil d'aide.
Dans une page telle que Formulaire:Bibliographie, qui devra présenter en formulaires les paramètres de Modèle:Bibliographie, nous trouverons trois sortes d'éléments : des éléments pour la page de formulaires elles-mêmes, des éléments pour configurer les formulaires, des éléments qui s'afficheront sous les formulaires lors de la modification d'une page.

#### En-tête

#forminput sert à afficher sur la page de formulaires elle-même un champ dans lequel vous entrerez le nom d'une page que vous voulez créer ou modifier avec cette page de formulaires. Cet élément concerne donc uniquement la page Formulaire:Bibliographie et ne joue aucun rôle pour l'édition des pages avec ce formulaire.

#### Instructions

    Pour passer tout de suite aux détails, voyez Configuration des formulaires
Viennent ensuite les instructions proprement dites pour l'édition avec formulaires :
{{{for template|Bibliographie}}} : indique que les instructions de formulaires concernent le modèle Bibliographie (template en anglais). Ce sont donc les paramètres de ce modèle qui seront utilisés ici, avec, dans l'exemple ci-dessus, le champ « auteur ».
{{{field|auteur}}} : Cette instruction définit un champ dont le paramètre sera la paramètre « auteur » de notre modèle. Et on ajoute ainsi de suite les autres paramètres, en se servant de la syntaxe wiki pour les tableaux :
« field », nous l'avons dit, définit un champ. Nous verrons plus tard comment ce champ peut être paramétré (dimension, type de données, valeurs multiples, suggestions et autres). Pour le moment, l'utilisation du champ « field », sans autre paramètre que « auteur », « titre » et autres, affichera un champ simple dans lequel vous entrerez des données.
Enfin, {{{end template}}}, comme son nom l'indique, marque la fin de l'utilisation du modèle Bibliographie dans cette page de formulaires.

#### Pieds de page

On trouvera à la suite de cela des instructions pour afficher des boutons comme « Publier », « Prévisualiser », etc. Ce sont les boutons habituels de l'édition avec MediaWiki, nous ne nous en occuperons donc pas pour le moment.

### Définir les pages à éditer avec un formulaire

Une fois que vous avez un modèle et un formulaire, il reste à savoir comment les utiliser pour que des pages soient modifiables par défaut avec le formulaire. On reconnaît les pages éditables avec un formulaire grâce à un nouvel onglet : Modifier avec formulaire.
Il existe plusieurs méthodes pour faire apparaître cet onglet, elles impliquent toutes l'utilisation d'une annotation sémantique, sujet que nous développerons dans un autre chapitre :
* Catégorie : placez dans une catégorie « [[Has default form::Nom de votre formulaire]] ». De cette manière, toutes les pages dans cette catégorie seront modifiables avec le formulaire indiqué.
* Espace de nom : Dans une page « Nom de votre wiki:Espace de nom », ajoutez « [[Has default form::Nom de votre formulaire]] ». De cette manière, toutes les pages dans l'espace de page indiqué seront modifiables avec le formulaire indiqué. Ceci permet de ne pas utiliser de catégorie. Pour l'espace principal, ajoutez « [[Has default form::Nom de votre formulaire]] » dans « Nom de votre wiki:Principal ».
* Attribut : placez simplement « [[Has default form::Nom de votre formulaire]] » dans une page pour obtenir l'onglet d'édition avec formulaire.

## Création simplifiée d'un formulaire

Vous pouvez voir que la création de ces pages demandent un certain nombre de connaissances : savoir faire des modèles, utiliser des tableaux pour les formulaires, etc. Et nous n'avons pas encore vu comment configurer les champs !
Heureusement, il est possible, pour commencer, de se passer dans une certaine mesure de ces connaissances : l'extension Formulaires Sémantiques propose en effet un outil d'aide pour créer tous les éléments que nous venons de voir. Tout ce que vous devez savoir avec cet outil, c'est quelles données vous voulez ajouter.
Vous trouverez cet outil en bas de la page « Spécial:Pages spéciales », section Formulaires sémantiques : cliquez sur « Créer une classe » pour afficher une page dans laquelle vous trouverez un formulaire.
Dans ce formulaire, vous donnerez un nom à votre modèle, au formulaire correspondant, à une catégorie (si vous souhaitez que toutes les pages créées avec le formulaire soient catégorisées), et vous devrez donner des noms aux champs que vous souhaitez utiliser. Les champs à remplir sont donc les suivants :
* Nom de modèle : un nom quelconque.
* Format de sortie : il s'agit du formatage de vos données, le code de ce formatage se trouvera dans le modèle que vous pourrez modifier. Vous pouvez choisir d'afficher nos données sous forme de tableau, d'infobox, de texte simple ou en plaçant chaque donnée dans une section.
* Nom du formulaire : un nom quelconque.
* Nom de la catégorie : une catégorie dans laquelle vous souhaitez placer toutes vos pages. Ce n'est pas le seul intérêt de la catégorie : toutes les pages qui seront catégorisées avec cette catégorie auront un nouvel onglet : « modifier avec formulaire ». Néanmoins, il existe d'autres méthodes pour obtenir cet onglet, il n'est donc pas obligatoire d'ajouter une catégorie si vous n'en avez pas besoin. Les méthodes pour obtenir un onglet supplémentaire sont exposées dans la section précédente.
* Nom du champ/Nom de la propriété : pour définir les données à entrer et les annotations sémantiques à leur appliquer. Ce que vous placez ici servira à créer un modèle et une page de formulaire.
Pour notre exemple bibliographique, nous ferons donc ainsi :
* Nom de modèle : Bibliographie.
* Format de sortie : nous choisirons par exemple « infobox » pour placer nos données dans une boîte à droite de chaque page.
* Nom du formulaire : Bibliographie.
* Nom de la catégorie : nous choisirons par exemple « Livre » pour catégoriser chaque page dans la catégorie « Livre ».
* Nom du champ/Nom de la propriété :
** Titre
** Auteur/Écrit par
** Éditeur/édité par
** Ville
** Année/édité en
Lorsque vous avez rempli ces champs, cliquez sur le bouton « Créer ». Le programme crée avec votre compte les pages Modèle:, Formulaire:, la catégorie et les attributs si vous les avez définis. Il ne vous reste plus qu'à vous rendre sur la page de formulaire pour commencer à entrer des données.