Extension:Cognate/fr

Cognate crée un espace de stockage central pour les titres des pages d'un ensemble de sites. L'extension génère alors des liens interwikis entre les wikis lorsque les titres des pages sont identiques. Elle a été développée pour résoudre la tâche "Centraliser les liens interlangues pour le Wiktionnaire".

"Cognate" (en français cognat) est un concept linguistique désignant des mots identiques dans différentes langues, développés depuis la même origine. is a linguistic concept, meaning same words in different languages developed from the same origin. Comme l'extension a une mécanisme de traduction similaire, cela faisait un nom court et intéressant, même si le concept en lui-même est différent.

Pré-requis et restrictions

 * Les pages doivent être dans l'un des espaces de noms standard de MediaWiki.
 * Les titres des pages sont les mêmes d'une langue à l'autre (une normalisation simple sera appliquée).
 * Les sites doivent avoir la même structure interwiki pour les liens interlangues.
 * Les pages ne doivent pas contenir de liens interlangues dans le wikitexte, car ils prendront alors l'ascendant sur les liens automatiques de Cognate
 * Des conflits de hachage inattendus peuvent subvenir, il peut alors y avoir des liens interlangue erronnés.

Normalisation des titres
Une normalisation des titres très simple sera effectuée par l'extension. Cela est détaillé dans la classe StringNormalizer.

La normalisation effectuée est basique. Il est possible de demander d'autres opérations, qui seront ajoutées au cas par cas.

Hachage des titres
Les titres sont hachés en utilisant sha256. Cela est détaillé dans la classe StringHasher.

Une partie du hachage est stocké dans la base de données dans un champ BIG_INT pour faciliter les recherches.

Il y a approximativement 18.446.744.073.709.551.615 valeurs possibles.

Hachages correspondants
Comme les titres qui nécessitent des liens sont supposés être les mêmes après normalisation, ils auront le même hachage et donc la même variable stockée dans la base de données.

Un échantillon de données peut ressembler à ce qui suit lorsque que l'on charge la page "Foo..." sur le Wiktionnaire en anglais.

Écrasement des liens
Il est possible d'écraser les liens automatiques générés par Cognate, simplement en ajoutant un ou plusieurs liens interwikis dans la page.

Cela signifie également que pour que Cognate fonctionne quand l'extension est déployée, les pages ne doivent pas contenir d'autre liens interlangues dans leur wikitexte.

Environnements de test


Un environnement de test a été créé pour l'extension dans Wikimedia Labs, comprenant les sites suivants :


 * https://enwiktionary-cognate.wmflabs.org
 * https://dewiktionary-cognate.wmflabs.org
 * https://frwiktionary-cognate.wmflabs.org

These sites are linked together using the Cognate extension with added interwiki sorting provided by the InterwikiSorting extension. The Main Page of the enwiktionary test wiki provides examples for testing.

Installation
php ./maintenance/populateCognateSites.php --site-group=wiktionary php ./maintenance/populateCognatePages.php
 * Populate the sites table by running the populateCognateSites.php maintenance script. Sites must already exist in the MediaWiki sites table with the correct groupings.
 * Populate the page and title tables by running the populateCognatePages.php maintenance script.