Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/* Fonctions de manipulation d'image, pour accroître la lisibilité du fac-similé.

Ce script insère deux commandes « Contraste » (lettre C) et « Luminosité » (icône « lampe ») à la fois dans la barre d'outil (section « Aide à la relecture ») du champ d'édition et dans les commandes situées en haut d'écran à côté du lien « Voir l’historique ».
 */

/* Pour le tester, insérer le code suivant dans votre fichier common.js :

    importScript('User:Seudo/image.js')

En cas d’utilisation prolongée, il est recommandé de recopier ce fichier dans votre espace utilisateur
afin de ne pas dépendre de mes éventuelles modifications.
*/

/* Accroît le contraste du fac-similé */
function contraste_facsimile(e) {
    image_facsimile(e, "Contraste", "contrast");
}

function contraste_facsimile_btn() {
    image_facsimile(null, "Contraste", "contrast");
}

/* Modifie la luminosité d'un fac-similé */
function luminosite_facsimile(e) {
    image_facsimile(e, "Luminosité", "brightness");
}

function luminosite_facsimile_btn() {
    image_facsimile(null, "Luminosité", "brightness");
}

function image_facsimile(e, libelle, filter) {
	if(e) {
		e.preventDefault();
	}
	try {
		// 25 janvier 2022 : quelque chose semble avoir changé,
		// $(".ui-draggable") est en display: none
		// facsimile = $(".ui-draggable"); // Page en mode édition
		facsimile = $("canvas");
		if(! facsimile.length) {
            facsimile = $(".prp-page-image > img"); // Page hors mode édition
            // Remarque : le package OO.ui ne semble pas fonctionner hors mode édition
        }
		if(! facsimile.length) {
			alert("Je ne trouve pas le fac-simile.");
			return;
		}

        choix = prompt(libelle + " en % (exemple : 110)");
        if(choix) {
            facsimile[0].style.filter = filter + "(" + choix + "%)";    
        }
	}
	catch(exc) {
		alert("Erreur : " + exc);
		return;
	}
}

function addCommande(libelle, id, desc, fn) {
	mw.util.addPortletLink("p-cactions",
		"#",
		libelle,
		id,
		desc);

	$('#' + id).on('click', function(e) {
		fn(e);
	});
}

/**
 * The initialisation function, run on every load. Ajoute des boutons dans la barre d'outils.
 * Source : https://nap.wikisource.org/wiki/Utente:George2etexte/GoogleOCRFrench.js
 */
function add_buttons_if_notexist() {
	var isPage, useOldToolbar, useBetaToolbar, toolbarLib;
    /* Comprendre à quoi sert sysMessages… */
	var sysMessages = [ 'google-ocr-button-label', 'google-ocr-request-in-progress', 'google-ocr-no-text', 'google-ocr-image-not-found' ];
	mw.loader.using( 'user.options', function () {
		isPage = mw.config.get( 'wgCanonicalNamespace' ) === 'Page';
		useBetaToolbar = mw.user.options.get( 'usebetatoolbar' ) === 1;
		if ( isPage && useBetaToolbar ) {
			toolbarLib = 'ext.wikiEditor';
			mw.loader.using( [ 'mediawiki.api', toolbarLib ], function () {
				new mw.Api().loadMessagesIfMissing( sysMessages ).then( function() { customizeToolbar(); } );
			} );
		}
	} );
}

/**
 * @param {boolean} useBeta Whether the WikiEditor toolbar should be used.
 */
function customizeToolbar( ) {
  $( document ).ready( function () {
	addButtonInToolbar(
		"proofreadpage-tools", 
		"other",
		'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/OOjs_UI_icon_italic-c-progressive.svg/20px-OOjs_UI_icon_italic-c-progressive.svg.png',
		"ModifierContraste",
		contraste_facsimile_btn,
		"Contraste",
		"Modifier le contraste du fac-similé",
		"contraste"
	);

	addButtonInToolbar(
		"proofreadpage-tools", 
		"other",
		'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/OOjs_UI_icon_bulb2-progressive.svg/24px-OOjs_UI_icon_bulb2-progressive.svg.png',
		"ModifierLuminosite",
		luminosite_facsimile_btn,
		"Luminosité",
		"Modifier la luminosité du fac-similé",
		"luminosite"
	);
  } );
}

function addButtonInToolbar(toolbar_section, toolbar_group,
    action_image, action_id, action_fn, 
	action_label, action_tip, action_rel) {

	// Add new-style WikiEditor toolbar button.

			var actionButtonDetails = {
				type: 'button',
				icon: action_image,
				label: mw.msg(action_label),
				action: { type: 'callback', execute: action_fn }
			};
			var actionButton = {
				section: toolbar_section,
				group: toolbar_group,
				tools: { action_rel: actionButtonDetails }
			};
			$( "#wpTextbox1" ).wikiEditor( 'addToToolbar', actionButton );
			$( "a[rel='" + action_rel + "']" ).css("width", "42px");

}


$(function($) {
    /* Insertion des commandes en haut de page */
	addCommande("Contraste", 
		"sd-contraste", 
		"Modifier le contraste du fac-similé", 
		contraste_facsimile);
	addCommande("Luminosité", 
		"sd-luminosite", 
		"Modifier la luminosité du fac-similé", 
		luminosite_facsimile);

    /* Insertion des boutons dans la barre d’outils du champ d’édition */
	add_buttons_if_notexist();
});