Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/*
Liste de suivi Deluxe

== Fonctions ==

* Retirer/ajouter des pages de sa liste de suivi plus facilement

* Auteur : Dake
* Ajouts : Dr Brains

== CODE SOURCE ==

{{Boîte déroulante début|titre=Code source}}
<source lang=javascript><nowiki><!--
*/
// -->
// 1 *# [[Special:Watchlist/edit]] Liens pour cocher une série de pages * Auteur : Dake


var suiviManagerAllPages = new Array();

function SuiviManager_SwitchLinkColor(id){
        var Link = $('#'+id);
        if(!Link.length) return;
        if(Link.hasClass("RegexpLinkChecked")) Link.removeClass("RegexpLinkChecked");
        else Link.addClass("RegexpLinkChecked");
}

function SuiviManager_Regexp(regexp, id){
        var match = new RegExp(regexp);
 
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value");
                if (match.test(pageName)) {
                        if(suiviManagerAllPages[i].childNodes[0].checked) suiviManagerAllPages[i].childNodes[0].checked=false;
                        else suiviManagerAllPages[i].childNodes[0].checked=true;
                }
        }
        if(id) SuiviManager_SwitchLinkColor(id);
}

function SuiviManager_countPages(regexp){
        var match = new RegExp(regexp);
        var count = 0;
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value");
                if (match.test(pageName)) {
                        count = (count+1);
                }
        }
        return count;
}
 
function SuiviManager_LiensRouges(id){
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                if (suiviManagerAllPages[i].childNodes[1].className == "new"
                    && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1
                        || suiviManagerAllPages[i].childNodes[3].className == "new") ) {
                        if(suiviManagerAllPages[i].childNodes[0].checked) suiviManagerAllPages[i].childNodes[0].checked=false;
                        else suiviManagerAllPages[i].childNodes[0].checked=true;
                }
        }
        if(id) SuiviManager_SwitchLinkColor(id);
}

function SuiviManager_countLiensRouges(){
        var count = 0;
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                if (suiviManagerAllPages[i].childNodes[1].className == "new"
                    && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1
                        || suiviManagerAllPages[i].childNodes[3].className == "new") ) {

                        count = (count+1);
                }
        }
        return count;
}
 
function SuiviManager_Redirects(id){
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                var Links = $(suiviManagerAllPages[i]).find('a');
                if( (
                       Links.eq(0).hasClass("mw-redirect")
                       &&
                       Links.eq(1).hasClass("mw-redirect")
                    ) || (
                       Links.eq(0).hasClass("mw-redirect")
                       && 
                       Links.eq(1).hasClass("new")
                    ) || (
                       Links.eq(0).hasClass("new")
                       && 
                       Links.eq(1).hasClass("mw-redirect")
                    ) ) {
                        if(suiviManagerAllPages[i].childNodes[0].checked) suiviManagerAllPages[i].childNodes[0].checked=false;
                        else suiviManagerAllPages[i].childNodes[0].checked=true;
                }
        }
        if(id) SuiviManager_SwitchLinkColor(id);
}

function SuiviManager_countRedirects(){
        var count = 0;
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                var Links = $(suiviManagerAllPages[i]).find('a');
                if( (
                       Links.eq(0).hasClass("mw-redirect")
                       &&
                       Links.eq(1).hasClass("mw-redirect")
                    ) || (
                       Links.eq(0).hasClass("mw-redirect")
                       && 
                       Links.eq(1).hasClass("new")
                    ) || (
                       Links.eq(0).hasClass("new")
                       && 
                       Links.eq(1).hasClass("mw-redirect")
                    ) ) {
                        count = (count+1);
                }
        }
        return count;
}
 
function SuiviManager_Deselect(){
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                suiviManagerAllPages[i].childNodes[0].checked=false;
        }
}

function SuiviManager_Invert(){
        for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
                if(suiviManagerAllPages[i].childNodes[0].checked){
                        suiviManagerAllPages[i].childNodes[0].checked=false;
                }else{
                        suiviManagerAllPages[i].childNodes[0].checked="checked";
                }
        }
}

function SuiviManager() {

 
        //////////////////////////////////////////////////
        // Expressions régulières et liens de l'interface
        //
        // besoin d'aide pour les regexp ?
        // http://www.commentcamarche.net/javascript/jsregexp.php3
        //////////////////////////////////////////////////

        var interfaceMsg = new Array();
        var regexpList = new Array();
        var regexpLien = new Array();
        var MainRegexp = new Array();
        for(var NS in mw.config.get('wgFormattedNamespaces')){
                if(NS<1||NS%2==1) continue;
                interfaceMsg.push(mw.config.get('wgFormattedNamespaces')[NS]);
                regexpList.push("^"+mw.config.get('wgFormattedNamespaces')[NS]+":");
                regexpLien.push("#editwatchlist-ns"+NS);
                MainRegexp.push(mw.config.get('wgFormattedNamespaces')[NS]+":");
        }   

        interfaceMsg.unshift("Principal");
        regexpList.unshift("^[^"+MainRegexp.join("|^")+"]+");
        regexpLien.unshift("#editwatchlist-ns0");

// ----------------------------------------------------------

        var m=0;
        var n=0;
        var interfaceMsgTer = new Array();
        var regexpListTer = new Array();

        interfaceMsgTer[m++]       = "Utilisateurs IP";
        regexpListTer[n++]         = "^Utilisateur:[0-9].*";

// ----------------------------------------------------------

        var z=0;
        var y=0;
        var interfaceMsgBis = new Array();
        var regexpListBis = new Array();

        interfaceMsgBis[z++]       = "Mes sous-pages";
        regexpListBis[y++]         = "^"+mw.config.get('wgFormattedNamespaces')[2]+":" + mw.config.get('wgUserName').replace(/_/g," ") + "\/";

        interfaceMsgBis[z++]       = "Sous-pages suppression";
        regexpListBis[y++]         = "\/Suppression$";

        interfaceMsgBis[z++]       = "Sous-pages Bistro";
        regexpListBis[y++]         = "^Wikipédia:Le Bistro\/";

        interfaceMsgBis[z++]       = "Sous-pages Oracle";
        regexpListBis[y++]         = "^Wikipédia:Oracle\/";

        interfaceMsgBis[z++]       = "Sous-pages GdG";
        regexpListBis[y++]         = "^Wikipédia:Guilde des Guides\/";

        interfaceMsgBis[z++]       = "Sous-pages BA";
        regexpListBis[y++]         = "^Wikipédia:Bulletin des administrateurs\/";
 
        //////////////////////////////////////////////////
        var topTag = document.getElementById("contentSub")
 
                // récupère toutes les pages
	var bc = document.getElementById("content");
        if(!bc)bc= document.getElementById("article");
        if(!bc)bc= document.getElementById("mw_contentholder");

        var watchlist = bc.getElementsByTagName("li");
 
        for (var u=0;u<watchlist.length;u++) {
            if(watchlist[u].firstChild.tagName == "INPUT") {
                suiviManagerAllPages.push(watchlist[u]);
            }
        }
 
        // prépare la mini-interface
        var str = "<div id=\"ListeSuiviTop\" ></div>"
                + "<div id=\"ListeSuiviBody\">"

        str += "<a href=\"javascript:SuiviManager_Regexp('^.*')\" title=\"Tout cocher\">"
                + "<b>Tout cocher</b>"
                + "</a> · ";
 
        str += "<a href=\"javascript:SuiviManager_Deselect()\" title=\"Tout décocher\">"
                + "<b>Tout décocher</b>"
                + "</a> · ";

        str += "<a href=\"javascript:SuiviManager_Invert()\" title=\"Inverser la sélection\">"
                + "<b>Inverser la sélection</b>"
                + "</a>";


        str += "<hr />";
        str += "<b>Espaces de noms</b><br/>";
        for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) {
                str += "<a id=\"RegexpLinkNS_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpList[cpt] + "','RegexpLinkNS_"+cpt+"')\" title=\"Cocher les pages de l'espace de noms : " + interfaceMsg[cpt] + "\">"
                        + interfaceMsg[cpt]
                        + "</a> ("
                        + "<a href=\"http://fr.wikipedia.org/wiki/Spécial:Liste_de_suivi/edit"
                        + regexpLien[cpt]
                        + "\" title=\"Voir les pages suivies dans cet espace de noms\">↓</a> "
                        + SuiviManager_countPages(regexpList[cpt])
                        + ") · ";
        }

        str += "<hr />";
        str += "<b>Sous-pages</b><br/>";
        for (var cpt = 0; cpt < interfaceMsgBis.length; cpt ++) {
                str += "<a id=\"RegexpLinkBis_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpListBis[cpt] + "','RegexpLinkBis_"+cpt+"')\" title=\"Cocher : " + interfaceMsgBis[cpt] + "\">"
                        + interfaceMsgBis[cpt]
                        + "</a> ("
                        + SuiviManager_countPages(regexpListBis[cpt])
                        + ") · ";
        }

        str += "<hr />";
        str += "<b>Autres</b><br/>";
        str += "<a id=\"RedLinks\" href=\"javascript:SuiviManager_LiensRouges(\'RedLinks\')\" title=\"Cocher : Liens Rouges\">"
                + "Liens rouges"
                + "</a> ("
                + SuiviManager_countLiensRouges()
                + ") · ";
 
        str += "<a id=\"Redirects\" href=\"javascript:SuiviManager_Redirects(\'Redirects\')\" title=\"Cocher : Redirections\" >"
                + "Redirections"
                + "</a> ("
                + SuiviManager_countRedirects()
                + ") · ";

        for (var cpt = 0; cpt < interfaceMsgTer.length; cpt ++) {
                str += "<a id=\"RegexpLinkTer_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpListTer[cpt] + "', \'RegexpLinkTer_"+cpt+"\')\" title=\"Cocher : " + interfaceMsgTer[cpt] + "\" >"
                        + interfaceMsgTer[cpt]
                        + "</a> ("
                        + SuiviManager_countPages(regexpListTer[cpt])
                        + ") · ";
        }
        str += "<hr />";
        str += "<input type=\"submit\" value=\"Retirer les titres sélectionnés\"\/>";

        var buttonPlus = document.createElement("div");
        buttonPlus.setAttribute("style", "text-align:center;");
        buttonPlus.innerHTML = "<br clear=all />" + str + "</div>";
        var CibleBouton = document.getElementsByTagName("fieldset")[0];
        CibleBouton.insertBefore(buttonPlus,CibleBouton.firstChild);
}
if((mw.config.get('wgCanonicalSpecialPageName') == "Watchlist") && document.URL.indexOf("edit") != -1 ) {
        importStylesheetURI('http://fr.wikipedia.org/w/index.php?title=Utilisateur:Dr_Brains/ListeSuivi.css&action=raw&ctype=text/css');
        addOnloadHook(SuiviManager);                              
}

////////////////////////////////////////////////////////////////////////////////////

//</nowiki></source>
//{{Boîte déroulante fin}}