InstantCommons

This page is a translated version of the page InstantCommons and the translation is 100% complete.

InstantCommons est une fonctionnalité de MediaWiki qui permet l'utilisation de n'importe quel fichier multimédia téléversé sur Wikimedia Commons dans toute installation de MediaWiki n'importe où dans le monde.

Entrez le nom d'une image de Commons sur toute installation MediaWiki ...
... et l'image est extraite de Commons et intégrée dans la page.

Principe

Depuis novembre 2023, Wikimedia Commons, le référentiel central des médias hébergé par la Fondation Wikimedia, contient plus de 100 millions de fichiers. Chacun de ces fichiers est disponible sous une licence de contenu libre ou dans le domaine public ; il n'y a pas d'autres restrictions d'utilisation autres que celles relatives à l'utilisation de marques commerciales ou d'insignes officiels. Les licences qui limitent l'utilisation commerciale sont considérées comme non-libres.

Comme la réputation de Commons grandit, le désir des sites externes à utiliser son contenu se développe, et contribue au nouveau matériel. Il est actuellement techniquement possible de charger des images directement depuis les serveurs Wikimedia dans n'importe quelle page web. Cette liaison directe est autorisée, mais elle est problématique pour plusieurs raisons :

  • Elle ne respecte pas les termes de licence de l'image, et ne permet pas à d'autres métadonnées d'être transportées de manière fiable
  • En plus de ne pas créditer correctement l'auteur du fichier multimédia, elle ne donne pas, non plus, de crédits à Wikimedia
  • Elle consomme de la bande passante Wikimedia sur chaque page vue (à moins que l'image n'ait été mise en cache côté client ou via un proxy ; cette fonctionnalité est actuellement désactivée par défaut)
  • Elle ne facilite pas les opérations utiles sur les images telles que la génération de vignettes et le sous-titrage et reste difficile à utiliser dans le contexte d'un wiki, particulièrement pour les opérations de mise en page classiques
  • Elle est liée à des URL comme des identificateurs de ressources, ce qui complique la mise en miroir
  • Elle crée un usage web externe intraçable, où tout changement du côté de Wikimedia affecte nécessairement ces utilisateurs externes
  • Elle ne permet pas une consultation hors ligne, ce qui est crucial dans les pays qui n'ont qu'un accès intermittent au réseau Internet.

InstantCommons vise à répondre à tout cela en fournissant une méthode facile pour le chargement en mémoire cache des images et des métadonnées depuis les serveurs Wikimedia. Bien que les fonctionnalités de mise en cache soient une partie de l'objectif, cette fonction est désactivée depuis les versions 1.27.2 / 1.28.1 de MediaWiki. InstantCommons a d'abord été implémenté dans MediaWiki pour permettre de réaliser toutes les opérations sur les images MediaWiki (vignettes, légendes, galeries, etc.) de manière transparente. Cependant, d'autres moteurs de wiki peuvent implémenter des fonctionnalités d'InstantCommons-like en utilisant les opérations de l'API décrites ci-dessous.

Ensemble de fonctionnalités de base

Lors de l'installation, l'administrateur du site peut choisir d'activer InstantCommons. Idéalement, la fonction doit être activée par défaut (si un répertoire de téléversement en écriture a été spécifié) pour permettre au plus grand nombre possible de contributeurs d'utiliser le contenu Wikimedia Commons.

Si la fonction est activée, le wiki se comporte comme un projet Wikimedia, c'est à dire, si un fichier image ou autre média existant sur Commons est appelé, il peut être inclus dans une page wiki comme un fichier téléchargé localement en spécifiant son nom. Les noms de fichiers locaux ont priorité sur les noms de fichiers de Commons.

Configuration

Méthode par défaut : $wgUseInstantCommons

Pour activer InstantCommons sur MediaWiki 1.16 ou supérieur, il suffit d'ajouter cette ligne à votre LocalSettings.php (voir $wgUseInstantCommons pour plus de détails) :

$wgUseInstantCommons = true;

Pour l'activer dans les versions MediaWiki de 1.13 à 1.15, voir ForeignAPIRepo .

Cette fonctionalité doit être opérationnelle immédiatement. Si elle ne fonctionne pas, vérifiez si la fonction PHP curl_exec() est désactivée sur votre serveur web. A HTTP Proxy is configured for cURL with $wgHTTPProxy .

Fonctionnement standard de InstantCommons avec mise en cache des vignettes

Le fonctionnement par défaut de InstantCommons lorsqu'il est activé par $wgUseInstantCommons utilise les images des vignettes appelées directement de Wikimedia.[1] Cela peut être lent et interférer avec la mise en cache des fichiers (liens cassés). Si vous voulez générer et vous servir des vignettes sur votre serveur local, n'utiliser pas $wgUseInstantCommons. A la place, insérer le code suivant dans LocalSettings.php tel que décrit dans $wgForeignFileRepos.

$wgForeignFileRepos[] = [
	'class' => ForeignAPIRepo::class,
	'name' => 'commonswiki', // Le nom doit être distinct.
	'apibase' => 'https://commons.wikimedia.org/w/api.php',
	'hashLevels' => 2,
	'fetchDescription' => true, // Optionnel
	'descriptionCacheExpiry' => 43200, // 12 heures, optionnel (valeurs en secondes)
	'apiThumbCacheExpiry' => 86400, // 24 heures, optionnel, mais nécessaire pour la mise en cache des vignettes
];

HTTPS

À partir de juin 2015, Wikimedia Commons ne peut être consulté que par HTTPS. Certaines installations peuvent avoir perdu leur stockage de certificats racine, ce qui empêche MediaWiki de communiquer avec Commons via HTTPS. Si InstantCommons a cessé de fonctionner, essayez :

  • En installant l'extension php curl (il est généralement plus fiable, et plus probable d'avoir les certificats appropriés déjà installés). Sur Debian/Ubuntu : sudo apt-get install php-curl
  • Vérifiez que vous avez un magasin de certificats à jour. Si l'extension PHP 'curl' est installée, suivez les instructions de webaware ou Talk:InstantCommons#Stop_working.

SElinux

Si le système d'exploitation de votre serveur implémente SElinux, prenez le temps de regarder la section dédiée sur la SELinux , et assurez-vous que les scripts de HTTPD et les modules peuvent accéder au réseau avec succès. Si SElinux empêche les scripts HTTPD et les modules de se connecter au dépôt Wikimedia Commons, les caractéristiques d'InstantCommons ne fonctionnent tout simplement pas.

Derrière un pare-feu

Si le serveur sur lequel le wiki s'exécute est derrière un pare-feu, le serveur wiki doit avoir l'autorisation de faire des requêtes sortantes http / https vers commons.wikimedia.org et upload.wikimedia.org, pour qu'InstantCommons puisse fonctionner. Les plages d'adresses IP se trouvent à wikitech:IP addresses.

Utilisation de fichiers via InstantCommons

Avec InstantCommons activé, vous pouvez choisir une image de Wikimedia Commons (par exemple celle-ci), cliquez sur le bouton « Utiliser ce fichier » (le bouton avec l'icône wiki   à côté) et collez le balisage dans votre wiki. Dans notre exemple, coller

[[File:Wikipedia-Marker-commons.svg|thumb|Une photo de Wikimedia Commons intégrée dans ce Wiki]]
 
Une photo de Wikimedia Commons intégrée dans ce Wiki

rendra la vignette (comme on peut le voir sur le côté droit de cette page).

Notez que lors de l'utilisation de fichiers de cette façon, vous aurez toujours besoin de respecter toutes les licences et autres exigences légales d'utilisation de fichiers - voir la réutilisation de contenu en dehors de Wikimedia.

Considérations d'évolution

Étant donné que la fonctionnalité InstantCommons permet à un utilisateur de wiki de télécharger des ressources à partir des serveurs Wikimedia, il est crucial qu'il n'y ait aucune possibilité d'attaque de déni de service contre l'utilisation du wiki ou de Wikimedia Commons, par exemple en collant 30 Ko de liens vers les fichiers les plus gros de Wikimedia Commons dans une page wiki et en appuyant sur « Prévisualisation ». Par conséquent, chaque demande réussie de InstantCommons devra être journalisée par le wiki où se trouve InstantCommons, avec l'utilisateur ou l'adresse d'origine, et l'heure de la demande. Si un utilisateur individuel dépasse une limitation généreuse de la bande passante interne (pouvant atteindre 1 Go par défaut, mais restant configurable par l'utilisateur), les images suivantes ne pourront être téléchargées avant un délai de 24 heures. Cette limitation ne doit pas s'appliquer aux administrateurs wiki (si un administrateur wiki veut mener une attaque de déni de service sur son propre wiki, on ne doit pas l'empêcher; s'il veut mener une attaque contre Wikimedia, il ne peut pas être empêché, sauf du côté de Wikimedia). En plus de la limite de bande passante par utilisateur, il peut y avoir une limite sur la taille des fichiers qui doivent être téléchargés de manière transparente. Cela vient principalement du fait que les fichiers au-dessus d'une certaine taille retardent considérablement l'affichage des pages et peuvent même provoquer le débordement de la temporisation de demande de page. Il serait souhaitable d'utiliser une application externe dans le but de télécharger ces fichiers, de sorte que le téléchargement puisse se faire en arrière-plan sans que la demande de page ne soit toujours en cours. Enfin, il pourrait y avoir une taille totale maximale pour le cache InstantCommons ; Si cette taille est dépassée, aucun autre fichier ne serait téléchargé.

Bien qu'il soit peu probable que les wikis individuels utilisant la fonction InstantCommons entraînent une augmentation significative des coûts pour la Fondation Wikimedia (puisque tous les fichiers doivent être téléchargés une fois, et qu'il existe des limitations de bande passante par utilisateur), il serait néanmoins juste et raisonnable pour les projets utilisant la fonction d'inclure un avis sur les pages de description d'InstantCommons tel que : « Ce fichier provient de Wikimedia Commons, une archive multimédia hébergée par la Fondation Wikimedia. Si vous souhaitez soutenir la Fondation Wikimedia, vous pouvez faire un don ici ... »

Possibilités futures

À l'avenir, il serait judicieux de proposer un modèle éditeurs/souscripteurs des modifications, ce qui nécessiterait une authentification de wiki à wiki, ainsi qu'une base de données des images utilisées dans les wikis abonnés. Ceci ouvrirait aussi le sujet du vandalisme inter-wiki (attaques par rebonds successifs) dont il serait possible de limiter l'impact via une synchronisation décalée de 24 heures ou plus, avant que les changements ne soient réalisés. Une autre possibilité serait d'avoir une fonctionalité dans les deux sens c'est à dire, d'autoriser le téléversement de médias libres de droit vers Commons à partir d'une installation wiki quelconque. Cependant, cela nécessiterait au minimum de fédérer les autorisations de connexion. Cela nécessiterait également des moyens de communication inter-wikis, afin d'avertir les utilisateurs des autres wikis à propos de la politique d'utilisation de Wikimédia Commons ; ce qui pourrait faire partie d'un projet plus vaste, comme l'extension LiquidThreads .

Voir aussi

Références