« LinkBot2 » : différence entre les versions

De Wikipast
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 7 : Ligne 7 :


==Description technique==
==Description technique==
Le bot consiste de deux modules exécuté consécutivement qui accomplissent trois fonctionnalités principales:
# R
##
##
# Division des pages trop longues en sous-pages


===Compléter les liens===
===Compléter les liens===
Ligne 22 : Ligne 27 :
===Division en sous-pages===
===Division en sous-pages===
Le bot suppose que pour cette opération:  
Le bot suppose que pour cette opération:  
*Toutes les entrées des datafications biographiques commencent avec un <code>*</code>.
*Que toutes les sous-pages crées par [[LinkBot2]] lorsque de de la dernière exécution on été supprimé par la première partie du bot (Compléter les liens).
*La date des entrées soit dans le format <code>yyyy.mm.dd</code>, <code>yyyy.mm</code> ou bien <code>yyyy</code>.
*Toutes les entrées des chronologique biographiques commencent avec un <code>*</code> et est suivi par une date.
*Toutes les entrées se trouvent dans la même section du wikitext.
*La date de chaque entrée d'une chronologie biographique  <code>*</code> est dans le format <code>yyyy.mm.dd</code>, <code>yyyy.mm</code> ou bien <code>yyyy</code>.
 
La division en sous-pages est effectué si:
*La taille de la page dépasse un certain taux (par défaut 30kB).
*ET le nombre d'entrées dans chronologie biographiques (caractérisés par <code>*</code> suivi par une date entre des <code>[ ]</code>) dépasse un certain nombre (par défaut 150 entrées).
====Exemple de fonctionnement====
====Exemple de fonctionnement====



Version du 25 mai 2021 à 14:20

Résumé des fonctionnalités

LinkBot2 a comme but d'augmenter le nombre de liens entre les datafications biographiques sur Wikipast. Ceci est un but important pour finalement pouvoir augmenter la visibilité de Wikipast sur les moteurs de recherche (SEO).

Le bot a deux fonctionnalités principales:

  • Faire en sorte que sur chaque page de datafication biographique, chaque lien pointe sur une page qui, elle, pointe sur cette page en retour. Pour cela, le bot regarde dans un premier temps si la page pointée existe, et si ce n'est pas le cas, la créé. Puis il vérifie si la ligne qui comprend le lien est présente sur la page pointée. Si ce n'est pas le cas, il copie cette ligne et la colle dans la page pointée. Ce bout de texte comprend un lien qui pointe vers la page originale. Pour cette partie du bot, le code se base sur PageUpdaterBot et a été amélioré.
  • Diviser les pages comprenant un grand nombre d'entrées en tranches temporelles (décennies), afin d'éviter d'avoir des pages qui soient trop longues, et ainsi améliorer l'expérience d'utilisation pour un humain qui utilise le wiki.

Description technique

Le bot consiste de deux modules exécuté consécutivement qui accomplissent trois fonctionnalités principales:

  1. R
  2. Division des pages trop longues en sous-pages

Compléter les liens

Le bot utilise un dump de wikipast en local, il faut donc avoir une archive correspondante pour lancer cette partie du bot. Il effectue une recherche sur ces différentes pages en local pour observer quelles entrées doivent être mises à jour et les pages qui doivent être créées. Le bot les créé ensuite sur le site wikipast et ajoute l'entrée sur la nouvelle page. Si la page existe déjà, le bot ajoute seulement l'entrée, si elle n'est pas déjà présente sur la page.

Exemple de fonctionnement

Prenons l'entrée suivante :

Ici, la page "2032" n'existe pas encore, le bot va donc créer cette page et y ajouter l'entrée complète. Mais le bot va aussi modifier les pages : "Lune", "Présentation", "Michael Jackson", pour y ajouter l'entrée si elle n'y est pas déjà présente.

Division en sous-pages

Le bot suppose que pour cette opération:

  • Que toutes les sous-pages crées par LinkBot2 lorsque de de la dernière exécution on été supprimé par la première partie du bot (Compléter les liens).
  • Toutes les entrées des chronologique biographiques commencent avec un * et est suivi par une date.
  • Toutes les entrées se trouvent dans la même section du wikitext.
  • La date de chaque entrée d'une chronologie biographique * est dans le format yyyy.mm.dd, yyyy.mm ou bien yyyy.

La division en sous-pages est effectué si:

  • La taille de la page dépasse un certain taux (par défaut 30kB).
  • ET le nombre d'entrées dans chronologie biographiques (caractérisés par * suivi par une date entre des [ ]) dépasse un certain nombre (par défaut 150 entrées).

Exemple de fonctionnement

Discussion des performances

Améliorations possibles

Complétion des liens

  • Comprendre différents formats de dates, et éventuellement modifier les dates des entrées pour les uniformiser
  • Pour la page d'un mot qui a été découpée en décennies, séparer la page qui comprend les liens vers les sous-pages de la page qui comprend toutes les entrées. Par exemple, pour Naissance, séparer la page "Naissance" qui recenserait les liens (Naissance 1870-1880, Naissance 1880-1890, ...) de la page "Naissance (archive)" qui comprend toutes les entrées de datafications biographiques qui utilisent l'hypermot Naissance.

Division en sous-pages

Code

Le code est disponible sur l'instance GitLab de l'EPFL. [1]