Utilisateur:Hexasoft/Wikitator
Un article de Wikipédia, l'encyclopédie libre.
Wikitator est un robot capable de lire et de créer une représentation symbolique d'un article. Cette représentation peut être utilisée pour manipuler la structure de l'article, la modifier, la corriger, et enfin elle peut servir à re-générer le contenu de l'article.
Sommaire |
[modifier] Description, principe
Le robot est un programme en C qui lit un article à partir d'un fichier. Il analyse le contenu et crée une liste d'entités, chacune représentant les éléments de l'article : texte, lien, modèle, section. Chaque entité possède toutes les informations sur les éléments qu'elles représentent.
Il est ensuite possible de manipuler cette liste, pour transformer les entités présentes, les réordonnées ou encore en ajouter ou en enlever. Au final le programme permet de re-générer le code de l'article correspondant.
Ce robot est en pratique couplé avec un autre robot qui permet de synchroniser une base locale des articles en fonction des demandes, afin de limiter les requêtes à destination de wikipédia.
[modifier] Utilisation
Ce robot, actuellement en développement, est conçu pour être un assisant d'édition, à mon usage pour le moment. Il se greffera entre mon éditeur et wikipédia afin de traiter des corrections triviales de style du code, qui sont pénibles à faire à la main et automatisables. Il est également prévu qu'il permette dans mon domaine (la zoologie) d'intégrer automatiquement des informations telles que des références, interwikis et éléments de taxobox issues d'un programme créé par Liné1 qui les collectent et les regroupent.
Il n'est pas prévu pour le court terme que ce robot agisse seul (sans ma validation explicite).
[modifier] Fonctionnalités existantes
Ce que le code fait déjà :
- lecture d'un article et création de la représentation interne
- nettoyage des espaces inutiles et des _ dans les liens
- remplacement de category par Catégorie
- passage en majuscule de la première lettre chaque fois que c'est possible (modèle, lien)
- ré-écriture "propre" de chaque entité (le texte brut n'est pas modifié)
- resolution des liens vers des redirects (remplacement)
- déplacement des catégories, interwikis et balises AdQ en fin d'article
- nettoyage des sauts de lignes inutiles en début et fin d'article
- réorganisation de certains éléments liés aux taxobox (ébauches, sous-titre)
- fusion d'informations en provenance de BioRéférence (logiciel de Liné1)
[modifier] Fonctionnalités prévues
Les fonctionnalités que je compte intégrer :
- création d'un log des modifications apportées à l'article en partie
- alertes précises sur des erreurs de syntaxe détectées dans l'article (pourquoi pas : correction automatique dans certains cas triviaux déjà supportés par le logiciel mediaWiki)
- ré-agencement du contenu pour les éléments faisant l'objet d'un consensus de style : catégories et interwikis à la fin (autres ?)
- suivi des liens présents pour détection des redirects, et correction de ces liens
- éventuellement, suivi des interwikis pour validation et détection des éventuels redirects
- intégration (à la demande) des informations issues du programme de Liné1 pour les articles de zoologie (taxobox, interwikis, liens externes…) en cours
- d'autres vérifications spécifiques liées aux articles zoologiques (lien vers découvreur et présence du modèle {{auteur}} si besoin…}} en partie
[modifier] Détails sur la partie zoologique
Voici les choses gérées pour la partie zoologique :
- déplacement des ébauches après la taxobox
- déplacement du sous-titre après la taxobox, mais avant les ébauches
- extraction du nom latin si possible (la suite en dépent)
- insertion des interwikis issus de BioRef si besoin
- insertion des éléments de taxobox donnant des liens (trouvés par BioRef) comme taxobox commons par exemple
Il manque encore de ce coté :
- l'insertion des références externes retournées par BioRef : à valider pour vérifier que c'est toujours inséré à la bonne place
- la remise à plat de la classification
- fusionner l'auteur / date si possible
- tenter de résoudre le nom de l'auteur avec la liste des zoologistes.
[modifier] Ce qui ne marche pas
À l'heure actuelle un certain nombre de choses ne fonctionnent pas encore alors qu'elles sont nécessaires :
support complet des paramètres de modèles. Ceux-ci peuvent en effet contenir du code wikipédia et doivent donc être interprétés au même titre que le restegestion des sections (la détection fonctionne, mais elles sont traitées comme du texte)- meilleur gestion de certaines erreurs de syntaxes qui (dans des cas tordus) peuvent ne pas être détectées et conduire à des interprétations erronées de l'article
[modifier] Effets indésirables
Effets pas forcément prévus / maîtrisés du robot sur le texte :
- élimination des commentaires dans les modèles et les liens (pas dans le texte brut). Est-ce un problème ?
[modifier] Exemples
Premier exemple : le diff entre le code d'origine et ce qu'en fait le robot. Notez qu'à l'heure actuelle le robot ne gérant pas les paramètres des modèles ceux-ci sont "abimés" par la modification. Ceci est bien sûr provisoire.
Deuxième exemple : le diff. Gestion des paramètres des modèles, déplacement des interwikis, des catégories et des modifieurs AdQ en fin d'article, résolution des liens vers redirect, élimination des séries de saut de ligne en début et fin.
Troisième exemple : le diff. Insertion des éléments provenant de BioRéférences dans l'article.
[modifier] Des remarques, commentaires ?
Si vous voulez faire des remarques, suggestions, critiques… sur ce programme, merci d'utiliser la page de discussion associée.