API:Comparer

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Compare and the translation is 100% complete.

Other languages:
English • ‎dansk • ‎español • ‎français • ‎polski • ‎русский • ‎ไทย • ‎日本語

Obtenir la différence entre deux pages.

Un numéro de révision, un titre ou un identifiant de page doivent être indiqués pour « from » et « to ».

Paramètres

  • fromtitle: Premier titre à comparer.
  • fromid: Premier identifiant de page à comparer. Type: integer 1.20+
  • fromrev: Première révision à comparer. Type: integer
  • fromtext: Utiliser ce texte a la place du contenu spécifié par fromtitle, fromid et fromrev. 1.30+
  • frompst: Faire une transformation avant enregistrement sur fromtext. Type: boolean 1.30+
  • totitle: Second titre à comparer.
  • toid: Second identifiant de page à comparer. Type: integer 1.20+
  • torev: Seconde révision à comparer. Type: integer
  • torelative: Comparer avec une version relative à fromtitle, fromid ou fromrev. Toutes les autres options « to » seront ignorées. Possible values: prev, next, cur 1.30+
  • totext: Utiliser ce texte à la place du contenu spécifié par totitle, toid, torev ou torelative. 1.30+
  • topst: Faire une transformation avant enregistrement sur totext. Type: boolean 1.30+
  • prop: Quelles informations récupérer. (Default: diff|ids|title) 1.30+
    • diff: La différence entre les contenus en HTML.
    • diffsize: La différence de taille entre les contenus en HTML, en octets.
    • rel: Les identifiants de révision de la révision qui précède celle définie par « from » et de celle qui suit celle définie par « to », s'il elles existent.
    • ids: Les identifiants de pages et de révisions des révisions définies par « from » et « to ».
    • title: Les titres des pages définies par « from » et « to ».
    • user: Les noms d'utilisateurs et les identifiants des révisions définies par « from » et « to ».
    • comment: Les commentaires des révisions définies par « from » et « to ».
    • parsedcomment: Le commentaire analysé sur les révisions « de » et « vers ».
    • size: La taille (en octets) des révisions « de » et « vers ».


Comparaison relative pour la première et la dernière révision

Vous pouvez demander une comparaison relative de la première révision d'une page avec la révision précédente :

https://en.wikipedia.org/w/api.php?action=compare&fromrev=14189795&torelative=prev

Le résultat renvoyé par le diff sera le texte complet de la première révision. Notez que cela n'est pas toujours vrai, car dans certains cas il peut y avoir un contenu par défaut pour la page avant sa première révision. La propriété fromrevid sera absente des résultats.

D'une manière similaire, vous pouvez demander à comparer la dernière révision d'une page avec la révision suivante:

https://en.wikipedia.org/w/api.php?action=compare&fromrev=874792395&torelative=next

(Remarque: ceci est la dernière révision écrite pour ce sujet. Parce que la page est protégée, il est probable qu'elle ne changera pas.) Le résultat est un diff vide, et la propriété torevid sera absente. Au contraire de la plupart des comparaisons de révisions, ces résultats changeront si une nouvelle révision est créée.

Le comportement dans l'API est historique. Il n'est pas cohérent avec le modèle conceptuel de l'historique des pages en tant que série de révisions. Il n'existe pas de révision « précédente » pour la comparaison de la première révision, ni de révision « suivante » pour comparer la dernière révision. A cause de cela, les versions futures de MediaWiki pourront donner des résultats différents pour cet appel d'API.


Exemple

Comparer deux révisions de la même page

Comparer les révisions actuelles de deux pages différentes

Comparer la révision d'une page à un texte donné


Utiliser la sortie HTML

Les valeurs de prop, diff et parsedcomment renvoient du code HTML. Le code HTML de diff est une liste de lignes de tableaux (<tr> éléments) qui doivent se trouver dans une table avec au moins les balises suivantes :

<table class="diff">
  <colgroup>
    <col class="diff-marker">
    <col class="diff-content">
    <col class="diff-marker">
    <col class="diff-content">
  </colgroup>
  <tbody>
    ICI, PORTION DU DIFF HTML
  </tbody>
</table>

Pour afficher également les métadonnées, comme l'utilisateur ou le commentaire, ajoutez des lignes supplémentaires et placez les métadonnées dans un élément <td colspan="2">.

Pour être sûr que ce diff s'affiche correctement (par exemple, que le marqueur de diff et les colonnes de contenu ne sont pas de la même largeur), vous pouvez ajouter le module ResourceLoader mediawiki.diff.styles à votre page:

<link rel="stylesheet" href="https://www.mediawiki.org/w/load.php?modules=mediawiki.diff.styles&only=styles">

Si vous voulez afficher le parsedcomment, vous voudrez également ajouter le module mediawiki.legacy.shared, qui inclut quelques styles de base pour les commentaires et les commentaires automatiques:

<link rel="stylesheet" href="https://www.mediawiki.org/w/load.php?modules=mediawiki.legacy.shared&only=styles">

Et si vous voulez afficher à la fois le code HTML diff et parsedcomment sur la page, vous pouvez combiner ces deux balises en une seule :

<link rel="stylesheet" href="https://www.mediawiki.org/w/load.php?modules=mediawiki.legacy.shared|mediawiki.diff.styles&only=styles">



action=compare

(main | compare)

Get the difference between two pages.

A revision number, a page title, a page ID, text, or a relative reference for both "from" and "to" must be passed.

Parameters:
fromtitle

First title to compare.

fromid

First page ID to compare.

Type: integer
fromrev

First revision to compare.

Type: integer
fromslots

Override content of the revision specified by fromtitle, fromid or fromrev.

This parameter specifies the slots that are to be modified. Use fromtext-{slot}, fromcontentmodel-{slot}, and fromcontentformat-{slot} to specify content for each slot.

Values (separate with | or alternative): main
fromtext-{slot}

Text of the specified slot. If omitted, the slot is removed from the revision.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
fromsection-{slot}

When fromtext-{slot} is the content of a single section, this is the section number. It will be merged into the revision specified by fromtitle, fromid or fromrev as if for a section edit.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
fromcontentformat-{slot}

Content serialization format of fromtext-{slot}.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
One of the following values: application/json, text/css, text/plain, text/x-wiki, text/javascript
fromcontentmodel-{slot}

Content model of fromtext-{slot}. If not supplied, it will be guessed based on the other parameters.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
One of the following values: GadgetDefinition, SecurePoll, sanitized-css, MassMessageListContent, flow-board, Scribunto, JsonSchema, NewsletterContent, wikitext, javascript, json, css, text
frompst

Do a pre-save transform on fromtext-{slot}.

Type: boolean (details)
fromtext
Deprecated.

Specify fromslots=main and use fromtext-main instead.

fromcontentformat
Deprecated.

Specify fromslots=main and use fromcontentformat-main instead.

One of the following values: application/json, text/css, text/plain, text/x-wiki, text/javascript
fromcontentmodel
Deprecated.

Specify fromslots=main and use fromcontentmodel-main instead.

One of the following values: GadgetDefinition, SecurePoll, sanitized-css, MassMessageListContent, flow-board, Scribunto, JsonSchema, NewsletterContent, wikitext, javascript, json, css, text
fromsection
Deprecated.

Only use the specified section of the specified 'from' content.

totitle

Second title to compare.

toid

Second page ID to compare.

Type: integer
torev

Second revision to compare.

Type: integer
torelative

Use a revision relative to the revision determined from fromtitle, fromid or fromrev. All of the other 'to' options will be ignored.

One of the following values: prev, next, cur
toslots

Override content of the revision specified by totitle, toid or torev.

This parameter specifies the slots that are to be modified. Use totext-{slot}, tocontentmodel-{slot}, and tocontentformat-{slot} to specify content for each slot.

Values (separate with | or alternative): main
totext-{slot}

Text of the specified slot. If omitted, the slot is removed from the revision.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
tosection-{slot}

When totext-{slot} is the content of a single section, this is the section number. It will be merged into the revision specified by totitle, toid or torev as if for a section edit.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
tocontentformat-{slot}

Content serialization format of totext-{slot}.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
One of the following values: application/json, text/css, text/plain, text/x-wiki, text/javascript
tocontentmodel-{slot}

Content model of totext-{slot}. If not supplied, it will be guessed based on the other parameters.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
One of the following values: GadgetDefinition, SecurePoll, sanitized-css, MassMessageListContent, flow-board, Scribunto, JsonSchema, NewsletterContent, wikitext, javascript, json, css, text
topst

Do a pre-save transform on totext.

Type: boolean (details)
totext
Deprecated.

Specify toslots=main and use totext-main instead.

tocontentformat
Deprecated.

Specify toslots=main and use tocontentformat-main instead.

One of the following values: application/json, text/css, text/plain, text/x-wiki, text/javascript
tocontentmodel
Deprecated.

Specify toslots=main and use tocontentmodel-main instead.

One of the following values: GadgetDefinition, SecurePoll, sanitized-css, MassMessageListContent, flow-board, Scribunto, JsonSchema, NewsletterContent, wikitext, javascript, json, css, text
tosection
Deprecated.

Only use the specified section of the specified 'to' content.

prop

Which pieces of information to get.

diff
The diff HTML.
diffsize
The size of the diff HTML, in bytes.
rel
The revision IDs of the revision previous to 'from' and after 'to', if any.
ids
The page and revision IDs of the 'from' and 'to' revisions.
title
The page titles of the 'from' and 'to' revisions.
user
The user name and ID of the 'from' and 'to' revisions.
comment
The comment on the 'from' and 'to' revisions.
parsedcomment
The parsed comment on the 'from' and 'to' revisions.
size
The size of the 'from' and 'to' revisions.
Values (separate with | or alternative): diff, diffsize, rel, ids, title, user, comment, parsedcomment, size
Default: diff|ids|title
slots

Return individual diffs for these slots, rather than one combined diff for all slots.

Values (separate with | or alternative): main
To specify all values, use *.
Example:
Create a diff between revision 1 and 2.
api.php?action=compare&fromrev=1&torev=2 [open in sandbox]