Utilisateur:EDUCA33E/javascript

Une page de Wikipédia, l'encyclopédie libre.

Les scripts ci-après permettent d'effectuer de façon semi-automatisée des remplacements de texte dans une série d'article. Ils permettent ainsi de pouvoir :

  • corriger des fautes d'orthographe,
  • résoudre des homonymies,
  • recatégoriser des articles,
  • renommer des modèles,
  • correction des liens internes pour les pages liées suite à renommage d'un article,
  • etc...
Il est très important de lire attentivement la section #Liste des choses auxquelles il faut faire (très) attention

Liste des utilisateurs utilisant le script[modifier | modifier le code]

Avec statut de Bot[modifier | modifier le code]

Sans statut de Bot[modifier | modifier le code]

Pré-requis[modifier | modifier le code]

  • Firefox.
  • Intégrer les scripts ci-après dans votre monobook.js

Utilisation[modifier | modifier le code]

L'utilisation peut paraître lourde ou complexe lorsque vous lirez ces étapes. Mais à l'usage, ces manipulations sont rapides et relativement simples.

Page Search[modifier | modifier le code]

Sur cette page, les scripts permettent essentiellement la correction orthographique.

Étape 1 : Recherche[modifier | modifier le code]

  • Astuce : pour avoir plus de résultats sur la page de recherche, on peut modifier l'URL par fr.wikipedia.org/w/index.php?title=Special:Search&search=coeur&fulltext=Search&offset=0&limit=100

De façon à passer de 100 en 100 par page (ou un autre nombre à votre convenance).

Étape 2 : Expression à chercher & remplacer[modifier | modifier le code]

  • Cette boîte de dialogue permet de saisir la chaine de caractère que l'on veut chercher. Pour la syntaxe des expressions régulières veuillez-vous reporter ci-après.

Étape 3 : Texte de remplacement[modifier | modifier le code]

Étape 4 : Choix des articles à modifier[modifier | modifier le code]

  • regarder les articles ayant l'expression recherchée en rouge.
  • choisir en fonction du sens, s'il faut ou pas modifier l'article.
  • Faire bouton 3 sur les liens [s:/.../.../] , pour lancer les modifications à la chaîne en sélectionnant (bouton 3) tous les articles concernés.
  • ATTENTION : les articles ouverts via le lien [s:/.../.../] avec le bouton 3, vont s'auto-modifier et s'auto-enregistrer.

Étape 5 : Gestion des onglets (firefox)[modifier | modifier le code]

  • CTRL-TAB pour passer d'un article à l'autre rapidement
  • ou CTRL-F4, pour les fermer un à un.
  • ou (mieux), sur l'onglet recherche sur lequel vous êtes (page Search) faire, bouton droit et choisir "Fermer tous les autres onglets".

Étape 6 : Vérification[modifier | modifier le code]

Il est conseillé de vérifier les modifications lorsque celles-ci peuvent prêter à erreur. Pour ce faire, voici une méthode très rapide :

  • allez dans "vos contributions",
  • faire bouton droit sur le (diff) des articles précédemment modifiés,
  • (Sous Firefox) Faire CTRL-TAB pour passer d'un onglet à l'autre en vérifiant les modifications.
  • ou CTRL-F4 pour les fermer au fur et à mesure du contrôle.

Si des modifications ne sont pas bonnes, modifier l'article à la main ou au pire révoquez vos modifications (si vous avez le godlight-mode).

Page Whatlinkshere[modifier | modifier le code]

Sur cette page, les scripts permettent essentiellement la résolution d'homonymie, le renommage de modèle, la correction de lien interne suite au renommage d'une page (pages liées).

Page Catégorie[modifier | modifier le code]

Sur cette page, les scripts permettent essentiellement recatégoriser les articles (lorsqu'il faut remplacer la catégorie utilisée par une autre).

Expressions régulières[modifier | modifier le code]

Syntaxe[modifier | modifier le code]

Notation[modifier | modifier le code]

La notation utilisée pour le résumé de la modification est la suivante :

  • s:/expression regulière/à remplacer par/

Exemples[modifier | modifier le code]

Correction du modèle SF (pour Portail SF) à partir de Special
Whatlinkshere (Special:Whatlinkshere/Modèle:SF)
  • s:/{{(Du|du|Tri|tri)o portail(.*?)\|SF(.*?)}}/{{$1o portail$2|Portail SF$3}}/
    • Pour remplacer :
      • {{duo portail|qqchose|SF)}} par {{duo portail|qqchose|Portail SF}}
      • {{Duo portail|qqchose|SF)}} par {{Duo portail|qqchose|Portail SF}}
      • {{duo portail|SF|qqchose)}} par {{duo portail|Portail SF|qqchose}}
      • {{Duo portail|SF|qqchose)}} par {{Duo portail|Portail SF|qqchose}}
      • {{trio portail|SF|qqchose|qqchose)}} par {{trio portail|Portail SF|qqchose|qqchose}}
      • {{Trio portail|SF|qqchose|qqchose)}} par {{Trio portail|Portail SF|qqchose|qqchose}}
      • {{trio portail|qqchose|SF|qqchose)}} par {{trio portail|qqchose|Portail SF|qqchose}}
      • {{Trio portail|qqchose|SF|qqchose)}} par {{Trio portail|qqchose|Portail SF|qqchose}}
      • {{trio portail|qqchose|qqchose|SF)}} par {{trio portail|qqchose|qqchose|Portail SF}}
      • {{Trio portail|qqchose|qqchose|SF)}} par {{Trio portail|qqchose|qqchose|Portail SF}}
Correction du mot « intérêt »
s:/([Ii])ntér[éèe]t/$1ntérêt/
Correction du mot « français »
s:/\b([Ff])rancais/$1rançais/
Correction du mot « conquête »
s:/([Cc])onqu[eéè][t]{1,2}e/$1onquête/
Remplacement des guillemets anglais par les guillemets francais
s:/"(.*?)"/« $1 »/

Avantages[modifier | modifier le code]

  • les articles sélectionnés mais dont l'expression régulière ne trouve pas d'occurrence ne sont pas modifiés et l'historique de l'article n'est pas modifié.

Inconvénients & limitations[modifier | modifier le code]

  • Générer un grand nombre de modifications en très peu de temps peut géner les utilisateurs consultant les RC. D'autant que ces modifications n'ont pas statut de BOT et ne sont donc pas masquables.
  • Les pages bloquées ou protégées ne peuvent pas être éditées.

Page Search[modifier | modifier le code]

Ce moteur de recherche n'est pas exhaustif et ne permet pas de balayer correctement tous les articles contenant l'expression recherchée. A la différence d'un bot, il est donc impossible via la page Search de balayer l'ensemble des articles contenant une même expression.

Page Whatlinkshere[modifier | modifier le code]

Page Catégorie[modifier | modifier le code]

Liste des bugs connus et à résoudre[modifier | modifier le code]

  • Les articles avec un "&" dans le nom ne passent pas.
  • le caractère ^ pour désigner un début de mot ne passe pas (via l'url ?) utiliser \b

Liste des choses auxquelles il faut faire (très) attention[modifier | modifier le code]

  • Ne jamais modifier les catégories pour y mettre des accents. (je me suis déjà fait avoir - mea culpa)
    • Exemple : Château <> Catégorie:blabla|Chateau
      • Donc essayer de faire en sorte que l'expression régulière ôte les catégories (dur, dur)
        • s:/(\s+|=|:|#)(C|c)hateau/$1$2hâteau/
  • Phrases en anglais (ou autre), phrases en français.
    • Exemple : this language is good signifie ce language est bon.
    • Il ne faut corriger que le deuxième "language".
    • this language is good signifie ce langage est bon.
      • pas de solution automatique, il faut y aller à la main.
  • Étre sur que toutes les occurrences trouvées dans les articles doivent être changées.
  • Ne pas transformer les minuscules en majuscules et inversement (sauf cas spécifique).
    • Solution : s:/([Tt])rompete/$1rompette/
  • Ne pas modifier les liens d'images (sauf description), hormis si le lien du nom de l'image à lui-même été modifié (ainsi que dans ses pages liées).

Script pour monobook.js version du 08/07/06[modifier | modifier le code]

/* ****************************************** */
/* EDUCA33E : 23/03/06                        */
/* MAJ : 08/07/06                             */
/* Fonction de remplacement automatisé        */
/* à partir des pages search et Whatlinkshere */
/* et Catégorie (lettre par lettre)           */
/* ****************************************** */
/* searchreplace */
document.write('<script type="text/javascript" src="' 
             + 'http://fr.wikipedia.org/w/index.php?title=Utilisateur:EDUCA33E/searchreplace.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

function ORTHOPatrol()
{
	if ( window.location.href.indexOf('Search') < 0 && window.location.href.indexOf('Special:Whatlinkshere') < 0 && window.location.href.indexOf('Cat%C3%A9gorie:') < 0 && 
window.location.href.indexOf('Image:') < 0) return;        

        var page_nom = document.getElementById( 'content' ).getElementsByTagName( 'h1' )[ 0 ];
        var page_name = page_nom.firstChild.nodeValue;

	var items, item, ulitems, i, links, user, name, talk, contribs, insertLoc, link;

	function NewLink( txt, url, plainlinks, linkColor )
	{
         	var a = document.createElement( 'a' );
		a.appendChild( document.createTextNode( txt ) );
		a.href = url;
		if ( plainlinks ) a.className = 'plainlinks';
		if ( linkColor )
		{	if ( typeof linkColor == "string" )
					a.style.color = linkColor;
			else	a.style.color = '#FF0000'; // old default behavior
		}
		return a;
	}

ulitems = document.getElementById( 'bodyContent' ).getElementsByTagName( 'ul' );
	for ( w = 0; w < ulitems.length; w++ )
	{
        items = ulitems[w].getElementsByTagName( 'li' );
	for ( i = 0; i < items.length; i++ )
	{
		item = items[ i ];		
		links = item.getElementsByTagName( 'a' );
		user = links[ 0 ]; name = user.firstChild.nodeValue;
		insertLoc = user.nextSibling; // ' newusers '

		item.insertBefore( NewLink( '  [S&R]', 'javascript:SearchPrompt();', true, 'green' ), insertLoc );

		item.insertBefore( NewLink( '  [Diff]', '/w/index.php?title='+name+'&action=edit&searchreplace=diff', true, 'blue' ), insertLoc );

		item.insertBefore( NewLink( '  [Save]', '/w/index.php?title='+name+'&action=edit&searchreplace=save', true, 'red' ), insertLoc );

	}
        }
}
if ( window.addEventListener ) window.addEventListener( 'load', ORTHOPatrol, false );
else if ( window.attachEvent ) window.attachEvent( 'onload', ORTHOPatrol );