Jump to content

Extension:UploadWizard

From mediawiki.org
This page is a translated version of the page Extension:UploadWizard and the translation is 100% complete.
Manuel des extensions MediaWiki
UploadWizard
État de la version : stable
Implémentation Média, Page spéciale
Description Assistant de téléversements multi-fichiers étape par étape
Auteur(s) Neil Kandalgaonkar, Jeroen De Dauw, Mark Holmquist, Ryan Kaldari, Ankur Anand, Yuvi Panda, Michael Dale,
Dernière version continuous updates
MediaWiki >= 1.46
Modifie la base
de données
Oui
Tables uw_campaigns
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
README
Campaign
  • $wgUploadWizardUseCodeEditor
  • $wgUploadWizardUseCodeMirror
  • $wgUploadWizardConfig
  • upwizcampaigns
  • mass-upload
Traduire l’extension UploadWizard sur translatewiki.net si elle y est disponible
Rôle Vagrant uploadwizard
Problèmes Tâches ouvertes · Signaler un bogue

L'extension UploadWizard permet à un utilisateur de téléverser plusieurs fichiers avec un assistant JavaScript, étape par étape, via la page Special:UploadWizard.

Voir aussi la Page de description de l'assistant de téléversement sur Wikimedia Commons.

Installation

Activation des téléversements et des miniatures

Votre MediaWiki doit être capable d'héberger des fichiers multimédias et de créer des vignettes (aperçus plus petits des fichiers multimédias). Si vous pouvez téléverser des images et voir les aperçus réduits sur leur page File:, vous êtes déjà prêt. Sinon, pour des instructions complètes, voir Manuel:Gestion des images , en particulier image miniature.

Pour les utilisateurs de GNU/Linux ou macOS
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = <path to your convert command>;  # à initialiser uniquement si différent de /usr/bin/convert

wfLoadExtension( 'UploadWizard' );

Vous devez aussi installer l'extension EventLogging . Ceci ne sert que si vous utilisez la fonctionnalité des campagnes et doit à l'avenir devenir une dépendance douce à un certain niveau.

Si vous utilisez Internet Explorer, il faudra aussi modifier la variable de configuration du noyau suivante. Voir phab:T41877 :

$wgApiFrameOptions = 'SAMEORIGIN';

Activation des téléversements Flickr

Vous pouvez aussi utiliser UploadWizard pour transférer les fichiers directement de Flickr. Pour activer cette option, vous devez d'abord obtenir une clé d'API de Flickr :

  1. connectez-vous à Flickr
  2. aller à la page Apps By You dans App Garden de Flickr
  3. cliquer sur Get another key pour obtenir une clé
  4. choisir Apply for a non-commercial key pour une clé non commerciale
  5. entrer un nom et une description puis vérifier les deux cases de contrôle avant de soumettre.

Une fois la clé disponible, ajouter ceci à votre LocalSettings.php :

$wgAllowCopyUploads = true;
$wgGroupPermissions['user']['upload_by_url'] = true;
$wgCopyUploadsDomains = ['*.flickr.com', '*.staticflickr.com'];
$wgUploadWizardConfig['flickrApiKey'] = 'YOUR_FLICKR_KEY_HERE';

Autre configuration

  • InstantCommons doit être activé pour accéder au matériel de licence. Pour activer InstantCommons ajouter
    $wgUseInstantCommons = true;
    
    à LocalSettings.php.
  • Vous pouvez définir
    $wgUploadNavigationUrl = '/wiki/Special:UploadWizard';
    
    dans LocalSettings.php, où /wiki/ est le chemin de votre wiki. Voici une façon plus générale de faire ceci et qui fonctionne pour toute configuration du chemin, mais elle nécessite PHP 5.3 ou plus récent :
$wgExtensionFunctions[] = function() {
	$GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor( 'UploadWizard' )->getLocalURL();
	return true;
};

Cela modifie le lien Téléverser un fichier de la barre latérale - et probablement aussi ailleurs. Plus d'informations : Manuel:$wgUploadNavigationUrl .

Plusieurs autres options sont disponibles dans un tableau de configuration. Par exemple :

$wgUploadWizardConfig = [
	'debug' => false,
	'autoAdd' => [
	 	'wikitext' => [
			'This file was uploaded with the UploadWizard extension.'
			],
	 	'categories' => [
	 		 'Uploaded with UploadWizard'	
	 		 ],
		], // doit être traduit dans la langue de l'instance de votre wiki
	'feedbackPage' => 'Feedback about UploadWizard',
	'altUploadForm' => 'Special:Upload',
	'feedbackLink' => false, // désactiver le lien pour les commentaires (pointe sur Commons par défaut)
	'alternativeUploadToolsPage' => false, // désactiver le lien vers des outils de téléchargement alternatifs (pointe sur Commons par défaut)
	'enableFormData' => true, // activer l'utilisation des téléversements de FileAPI sur les navigateurs pris en charge
	'enableMultipleFiles' => true,
	'enableMultiFileSelect' => false,
	'uwLanguages' => [
		'ar' => 'العربية',
		'de' => 'Deutsch',
		'en' => 'English'
		], // langues sélectionnables pour les descriptions de fichiers - par défaut 'en'
	'tutorial' => [
	 	'skip' => true
		], // sauter le tutoriel
	'maxUploads' => 15, // nombre de téléversements dans un formulaire - 50 par défaut
	'fileExtensions' => $wgFileExtensions // peut entraîner des erreurs si ceci est absent
	];

Utilisation dans les environnements sans licence

Si vous installez UploadWizard dans un environnement où les licences ne sont pas utilisées, vous pouvez ajouter la configuration ci-dessous à LocalSettings.php. Cela limitera le choix des licences à une seule option par défaut qui se réfère à la déclaration de non-responsabilité générique du wiki. Noter qu'il existe beaucoup d'autres paramètres de configuration ajoutables en fonction de votre cas d'utilisation.

$wgUploadWizardConfig = [
	'licensing' => [
		'ownWorkDefault' => 'own',
		'ownWork' => [
			'type' => 'or',
			'template' => 'licensing', // ajoute un lien vers Template:Licensing à la page d'information du fichier
			'licenses' => [
				'generic',
			],
		],
	],
];
Ce ne sont que quelques exemples de définitions. Voir le fichier UploadWizard.config.php (aux environs de la ligne 80) pour davantage d'options reconnues dans le tableau $wgUploadWizardConfig.

Modification des messages génériques de l'interface utilisateur

Si vous souhaitez mettre à jour les messages génériques, vous pouvez le faire sur le wiki lui-même en modifiant les pages suivantes :

  • MediaWiki:Mwe-upwiz-source-ownwork
  • MediaWiki:Mwe-upwiz-source-ownwork-assert-generic
  • MediaWiki:Mwe-upwiz-source-ownwork-generic-explain

Modifier les pages de fichiers créées par UploadWizard

Pour modifier le wikicode des pages de fichiers créées par UploadWizard, ajouter une accroche à LocalSettings.php qui sera exécutée à chaque sauvegarde de page, puis vérifier si la page a la structure d'une page créée par UploadWizard, et la modifier à votre goût. Par exemple :

$wgHooks['ParserPreSaveTransformComplete'][] = function ( Parser $parser, string &$text ) {
	if ( preg_match( '/=={{int:filedesc}}==
{{Information
\|description=(.*)
\|date=(.*)
\|source=(.*)
\|author=(.*)
\|permission=(.*)
\|other versions=(.*)
}}

=={{int:license-header}}==
{{(.*)}}
*(.*)/', $text, $matches ) ) {

		// obtenir les données
		$description = $matches[1];
		$date = $matches[2];
		$source = $matches[3];
		$author = $matches[4];
		$permission = $matches[5];
		$otherVersions = $matches[6];
		$license = $matches[7];
		$licenseDetails = $matches[8];

		// traitement des données
		if ( $source === '{{own}}' ) {
			$source = 'Own work';
		}
		if ( preg_match( '/\[\[([^|]+)\|[^]]+\]\]/', $author, $matches ) ) {
			$author = $matches[1]; // Unlink the author
		}
		if ( $licenseDetails ) {
			$license = $licenseDetails;
		}

		// générer le wikicode
		$text = "$description

{{File data
| date = $date
| author = $author
| source = $source
| license = $license
}}";
	}
};

Utilisation

Paramètres de l'URL

Plusieurs paramètres peuvent être spécifiés dans l'URL pour modifier le comportement de UploadWizard :

  • campaign – Spécifie la campagne de téléversement à utiliser.
  • caption – Définit la valeur initiale du champ de la légende (données structurées). Noter que par défaut ceci sera copié dans la description.
  • captionlang – Définit la langue pour le premier champ de la légende.
  • description – Définit la valeur initiale du champ de description. Noter qu'en définissant la description vous désactivez la copie de la légende dans la description.
  • descriptionlang – Définit la langue pour le premier champ de la description.
  • lat – Définit la valeur initiale du champ de latidude.
  • lon – Définit la valeur initiale du champ de longitude.
  • alt – Définit la valeur initiale du champ d'altitude.
  • categories – Définit la valeur initiale des champs catégorie et des catégories multiples séparées par |.
  • fields[] – Valeurs initiales des champs additionnels définis par une campagne. Les valeurs des champs multiples doivent être passées exactement dans le même ordre que celui défini dans la campagne.
(par exemple : fields[]=value_first&fields[]=value_second)
  • objref – Spécifie une référence d'objet pouvant être utilisée pour mettre à jour une page avec la vignette de l'image téléversée. Voir la section Références des objets pour d'autres détails.
  • updateList – Indique si une page de liste doit être mise à jour. Ce paramètre est lié et ne fonctionne qu'avec objref. Voir la section Références des objets pour d'autres détails.

Ces paramètres peuvent être spécifiés ainsi : si vous avez un paramètre nommé campaign et que vous voulez fournir la valeur foobar, ajoutez campaign=foobar à l'URL. Par exemple wiki/Special:UploadWizard?campaign=foobar ou w/index.php?title=Special:UploadWizard&campaign=foobar.

Les paramètres d'URL suivants sont encore pris en charge pour les URL existantes mais sont obsolètes :

  • id – Si elle est présente, cette valeur est utilisée à la place de la première valeur fields[]. Utiliser fields[] à la place.
  • id2 – Si spécifiée, cette valeur est utilisée à la place de la deuxième valeur de fields[]. Utiliser fields[] à la place.

Références des objets

Upload Wizard fournit un moyen de stocker des références des objets - des références aux modèles de listes dans les pages wiki - dans la page de description du fichier. Ceci peut être utilisé par les robots pour insérer une image miniature dans une page de liste. Un robot qui fait cela pour les listes de monuments de la Wikipedia allemande fonctionne sur toolsadmin. Son code se trouve sur GitHub. Bien que son but soit de mettre à jour les listes de monuments sur Wikipedia, il peut être adapté pour servir dans différents scénarios.

Cette fonctionnalité utilise les paramètres objref et updateList. Si les deux paramètres sont passés, UploadWizard affiche une case à cocher pour chaque téléversement, qui peut être utilisée pour sélectionner l'image à laquelle la référence de l'objet est ajoutée. Si le paramètre updateList est omis, les cases à cocher seront désactivées et une information supplémentaire est affichée indiquant qu'une image pour l'objet existe déjà dans la liste.

  • objref - Spécifie une référence d'objet pouvant être utilisée pour mettre à jour une page avec la vignette de l'image téléversée. Ce paramètre est passé sous le format attendu suivant objref=prefix|page_title|object_id
    • prefix - Préfixe interwiki ou interlangue tel qu'il est défini par Special:Interwiki. Le préfixe doit être défini pour que cela fonctionne.
    • page_title - Titre de la page sur laquelle l'objet est listé.
    • object_id - Identifiant unique de l'objet à mettre à jour par robot
  • updateList - Indique si une page de liste doit être mise à jour. S'il est initialisé à n'importe quelle valeur, ce paramètre active une case à cocher

Tests

Si vous testez UploadWizard pour une raison quelconque, et que vous êtes à cours d'images réelles à téléverser pour les cas de test, vous pouvez toujours utiliser l'utilitaire pratique de MediaWiki pour créer ces images de test. Ouvrir un émulateur de terminal, aller dans le répertoire où vous voulez stocker des fichiers JPG de test, et exécuter

$ php path/to/mediawiki/tests/phpunit/includes/api/generateRandomImages.php

Voici un script Bash qui devrait faciliter l'ensemble sans trop de problèmes. Il est bon d'ajouter ceci à votre PATH et (ou) créer un raccourci pratique quelque part pour faciliter la mise à jour de votre liste d'images.

#!/bin/bash

# déclarer quelques chemins (plus faciles à configurer)
PICPATH=/path/to/image/directory
MW_INSTALL_PATH=/path/to/mediawiki

# obtenir le chemin de la photo et supprimer les anciennes images de test
cd $PICPATH
rm *.jpg

# exécuter trois fois le script généré pour obtenir un ensemble d'images
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php

Modèles

Avertissement Avertissement : Cette liste n'est pas complète et d'autres modèles sont nécessaires, sinon l'exécution se terminera avec un message d'erreur du SCRIPT ou d'autres messages d'erreurs qui ne seront pas forcément en anglais !

Upload Wizard va insérer quelques modèles dans les pages de description de fichier générées, qui doivent exister sur le wiki pour que les pages de description soient rendues correctement. Le modèle utilisé comprend :

Voir aussi

Spécifications associées