Manuel:Gestion des images

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Image administration and the translation is 60% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎français • ‎português • ‎português do Brasil • ‎русский • ‎العربية • ‎中文 • ‎日本語 • ‎한국어

Cet article décrit comment MediaWiki manipule et stocke les fichiers, et donne des informations de configuration.

Il s'applique aux images aussi bien qu'à tous les autres types de fichiers qui peuvent être téléversés. Tous les fichiers sont stockés avec un article qui leur correspond dans l'espace de noms "Fichier:". Dans les versions antérieures à MediaWiki 1.14, l'espace de noms "Image:" était utilisé à la place. "Image:" est toujours conservé en tant qu'alias dans un but de rétrocompatibilité.

Téléversement et utilisation des images

Voir Aide:Images

Activation du téléversement des images

Pour téléverser des images, ces conditions doivent être réunies:

  1. MediaWiki doit avoir le téléversement activé. Paramétrer $wgEnableUploads sur true.
  2. Le type de fichier doit être autorisé. Pour plus d'informations: $wgFileExtensions .
  3. L'utilisateur doit appartenir à un groupe qui détient les droits de téléversement. Par défaut, ils sont alloués à tous les utilisateurs logués.

Les téléversements se font en utilisant Special:Upload.

Voir Manuel:Configuration du téléversement de fichiers , Manual:Mime type detection et Manual:Adding support for new filetypes

Paramètres pertinents pour la manipulation des fichiers

Ces paramètres sont pertinents:

Affichage de miniatures pour les images

La syntaxe étendue pour les images (en) autorise les images à être automatiquement affichées en miniatures (voir Manuel:Configuration du téléversement de fichiers pour de l'aide concernant le téléversement).

La mise en miniature d'une image nécessite soit ImageMagick soit GD library - aucun des deux ne sont inclus par défaut dans l'installation de MediaWiki, bien que certaines versions de PHP incluent GD. ImageMagick est recommandé si une meilleure qualité des miniatures est requise; il peut être téléchargé depuis imagemagick.org. GD est inclus dans certaines versions de PHP, et il est recommandé d'utiliser GD pour les systèmes Windows. Un téléchargement direct de GD est disponible depuis LibGD GitHub. Pour les version plus récentes, ce n'est pas nécessaire.

Si vous utilisez ImageMagick, paramétrez $wgUseImageMagick sur true dans le fichier LocalSettings.php. Vérifiez que la variable $wgImageMagickConvertCommand pointe vers le lien (absolu) de la commande de conversion de votre installation et que la commande est exécutable par le processus web du serveur. Par exemple, les utilisateurs de Windows devront changer la valeur par défaut par "C:\ImageMagick\convert.exe" (ou similaire).

Pour recréer les anciens fichiers de miniatures qui existaient avant que vous utilisiez ImageMagick, vous pouvez utiliser $wgThumbnailEpoch .

Si le rendu des images ne s'actualise pas, vérifiez la variable $wgMaxShellMemory et augmentez sa valeur.

Voir la page d'aide Les miniatures des images ne fonctionnent pas pour le dépannage.

GraphicsMagick peut maintenant aussi être utilisé comme alternative à ImageMagick. Vous devrez initialiser $wgCustomConvertCommand à ce qui suit. Ex.:

$wgUseImageMagick = false;
$wgCustomConvertCommand = "gm convert %s -resize %wx%h %d";

GIF

Pour mettre en miniature les animations GIF sous Windows, vous devrez installer ImageMagick comme décrit plus haut.

SVG

Présentation Wikimania 2016 sur Dynamic SVG

MediaWiki supporte l'affichage des images SVG: lorsqu'elle sont activées, les images SVG peuvent être utilisées comme les autres fichiers image - elles seront automatiquement affichées comme des fichiers PNG et miniaturisées si besoin. Si vous utilisez un hébergement mutualisé et qu'aucun module d'affichage n'est préinstallé, vous devrez probablement demander à votre hébergeur de l'installer pour vous.

Pour activer le support SVG:

  1. Autoriser le téléversement de fichiers SVG dans le fichier LocalSettings.php: $wgFileExtensions [] = 'svg'; Notez que MediaWiki refusera les fichiers SVG qui contiennent du JavaScript, pour des raisons de sécurité.
    Pour éviter un faux positif, ajoutez la valeur $wgAllowTitlesInSVG = true; au fichier LocalSettings.php .
    If you are using MediaWiki 1.34 or higher, $wgAllowTitlesInSVG is never applied and now always true. You can safely remove this in your LocalSettings.php file.
    Si une erreur concernant le fait que le fichier est corrompu est renvoyée, vérifiez que l'identification du format de données MIME fonctionne correctement.
  2. Ajoutez la valeur $wgSVGConverter à LocalSettings.php et paramétrez le module d'affichage que vous souhaitez utiliser.
    Les options disponibles sont ImageMagick, ImagickExt, sodipodi, inkscape, batik, rsvg, et imgserv.
    Par exemple: $wgSVGConverter = 'ImageMagick';
    • Si le programme de conversion n'est pas dans le chemin d'accès système, vous devez spécifier le "répertoire" qui contient le programme qui utilise $wgSVGConverterPath ..
    • librsvg est rapide mais pas très précis. Il dépend d'un grand nombre de bibliothèques. Pour installer toutes ces bibliothèques, vous pouvez utiliser un gestionnaire de paquets. Le projet Wikimedia utilise rsvg.
    • Batik est le module d'affichage SVG le plus précis, bien que son anti-aliasing soit quelquefois sous-optimal. Son parseur SVG est plus strict, ce qui est à l'origine d'un refus des fichiers SVG "presque valides" que les autres modules d'affichage acceptent (ex: commons:File:UbuntuCoF.svg). Batik dépend de Java, et est plus lent que rsvg, mais ça ne devrait pas être un gros problème à moins que vous n'ajoutiez en permanence des fichiers SVG. Voir SVG benchmarks. Demande beaucoup de travail pour être fonctionnel s'il n'est pas inclus dans votre distribution.
    • Inkscape fait également un travail précis pour les SVGs, moitié moins rapide que rsvg, mais il était prévu pour une utilisation graphique interactive; cependant il est associé à inkview qui est un programme de visualisation/conversion - il nécessite des droits d'écritures sur le répertoire 'home' pour l'utilisateur qui l'appelle. Tant qu'il sera lancé en tant qu'utilisateur www ou quelque chose du même type, il essaiera de créer les répertoires .inkscape/ et .gnome2/ dans les répertoires home correspondants, et va échouer silencieusement, crasher ou rester indéfiniment suspendu s'il n'y arrive pas. Inkscape est préférable à rsvg (a) sur Windows (il est disponible en tant que paquet indépendant) ou (b) si vous avez des SVGs importants dessinés avec Inkscape dont le rendu n'est pas correct avec rsvg. Inkscape a des chaînes de dépendances aussi compliquées que &mdash de librsvg; utilisez-le s'il est compris dans votre distribution ou disponible en tant que paquet complet indépendant.
    • Sodipodi est le fork de Inkscape. Les mêmes considérations s'appliquent. Sodipod ne fait plus l'objet d'un développement actif.
    • Depuis la version 6.x.x ImageMagick affiche les SVGs, mais de manière imparfaite. C'est l'option par défaut, mais évitez-le si possible. Toutefois, il fonctionne. Sur Windows, $wgConvertPath doit être paramétré pour éviter un conflit avec le convert.exe propre de Windows. Une alternative simple à ce scenario est au fichier LocalSettings.php la ligne de code $wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -background white -thumbnail $widthx$height^! $input PNG:$output';, qui autorise aussi les espaces dans les chemins d'accès.
      • To prevent thumbnail creation errors with ImageMagick, if it's ≥ 7.0.9-25, then Inkscape must also be ≥ 1.x.x. Likewise, if ImageMagick is < 7.0.9-25, then Inkscape must also be < 1.x.x.

Voir problème ImageMagick.

    • L'extension PHP Imagick extension supporte l'affichage SVG, toutefois les mêmes considérations régulières que pour ImageMagick s'appliquent.
    • La bibliothèque GD ne sait pas convertir les images SVG en format PNG, du moins d'après ce que disait le blog NoScope de Joen Asmussen en juin 2008.
    • La plupart des navigateurs web sauf Internet Explorer (jusqu'à la version 9) peuvent afficher les SVGs directement. En utilisant librsvg pour convertir les SVGs en PNG, les résultats sont beaucoup plus précis et la bande passante consommée est moins importante. Direct SVG display is not supported in MediaWiki by default (tâche T5593), unless you install NativeSvgHandler extension.

Set $wgSVGConverter = false if SVG rendering is not needed and you wish to make your users download the svg file in order to view it.

Résolution des problèmes

If you see a blank square instead of SVG (Chrome) or no image at all (Firefox) and all PNG links lead to 404 error and you don't see any other error message anywhere please check $wgGenerateThumbnailOnParse variable. En le fixant à false la transformation SVG peut être indéfiniement différée. Make sure that proc_open and symlink PHP methods are enabled (they may be disabled in php.ini for security or performance reasons).

JPEG (utilisant GD)

Simply add the following line to LocalSettings.php, this will cause auto fall back to GD library.

$wgUseImageMagick = false;

Concernant les erreurs avec les vignettes JPEG, voir JPEG (utilisant GD).

TIFF

Pour générer les vignettes des fichiers TIFF, vous devez disposer de MediaWiki 1.15.0 ou plus récent.

  1. Autoriser le téléversement des fichiers TIFF dans le fichier LocalSettings.php : $wgFileExtensions [] = 'tif';
  1. Add $wgTiffThumbnailType to LocalSettings.php and set to either jpg or png to specify which type of thumbnail you wish to have generated.
  1. Making thumbnails of TIFF files may require system resources beyond those needed for thumbnailing JPEG, GIF, or PNG files.

Tenez-compte de valeurs bien adaptées pour $wgMaxImageArea et $wgMaxShellMemory

DjVu


Suppression d'images

Files, like wiki pages, can only be deleted by users with the "Supprimer des pages (delete)" permission (administrateurs by default). Deletion of files is done by deleting the associated description page (or by clicking the "supprimer tout" link in the "Historique du fichier" table).

Supprimer une révision spécifique

If a file has been altered, there is a revision history of the files which is displayed on the file article page. Each revision has a "supprimer" link. If this is clicked, the revision and the file are deleted.

The versions of files are separate from the page history of the file description page.

Information about old revisions of files are stored in the oldimage table while information on old revisions of the pages are stored in the revision table.

Restituer les fichiers supprimés

Files can be undeleted in exactly the same way as normal wiki pages. The directory in which deleted files are stored is defined by Manuel:$wgDeletedDirectory . Information about deleted images are stored in the filearchive table.

Supprimer des fichiers archivés

Since MediaWiki version 1.11, deleted images are still stored on the server by default. If you want to delete selected archived images, you can do so using the eraseArchivedFile.php maintenance script. If you want to delete all of them completely, you can do that with the deleteArchivedFiles.php script. If you delete archived files, you can not undelete those files anymore.

Motifs de suppression d'un fichier

When choosing to delete a file, as described above, users will be asked to provide a reason for deletion. The available reasons can be edited on the MediaWiki:Filedelete-reason-dropdown of your wiki.

Stockage des données

Dès qu'une image est téléversée, plusieurs éléments sont créés :

  1. An article in the file namespace with the name of the file, e.g. File:MyPicture.png.

This page is stored and can be edited like any other page.

  1. The file itself is stored in a folder on the file system with whitespaces merged and replaced with _.
  1. If necessary and thumbnailing is available, thumbnailed versions of the file will be created when necessary (such as for the usage on the file description page.

These are stored in the thumb directory of the image directory, in a separate directory for each main file.

If $wgHashedUploadDirectory is enabled (by default), MediaWiki creates several subdirectories in the images directory.

The directory names are from the first two characters of the md5 hash of the final filename.

Répertoires

Tous les fichiers d'image sont stockés dans un répertoire déterminé par $wgUploadPath (par défaut images/).

Description of named image subfolders:

archive
This is the storage place for files that have been replaced by newer versions.
temp
utilisé pour le stockage temporaire des fichiers pendant le téléversement des images. (Due to tâche T11018, these files may not always be automatically deleted)
thumb
Thumbnails (automatically generated) for the files.

If these are deleted, they are automatically regenerated when needed.

Depending on the configuration, there may be additional image subfolders:

math
Folder to store your rendered TeX input, see also Manual:Enable TeX or Math.
x/xy
If $wgHashedUploadDirectory is set to true (which is the default), images will be stored in subfolders of the images, thus making file paths look like images/a/ab/filename.jpg.

See Manuel:$wgHashedUploadDirectory for more details on why this might be desired and how this system works.

Tables de la base de données

  • The file description page is stored as any page in the page, text, revision etc. tables
  • image table: contient quelques métadonnées telles que la taille du fichier et la date du téléversement.
  • oldimage table: This is stores information for files that have been replaced with newer versions.

Utilisation de l'espace

Files need considerably more space than articles. The following calculations assume a block size of 4KB with Linux/Unix servers.

The default setting is $wgHashedUploadDirectory = true.

Space requirements for all directories:

  • image directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
  • archive directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
  • thumb directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
  • temp directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB

Pour cela, la quantité d'espace nécessaire à la base sans aucune image téléversée est de 4 MB en théorie (bien que les répertoires soient créés seulement quand c'est nécessaire).

Pour chaque fichier, nous avons besoin de :

  • size of the original image file + 2 KB average overhead

For files that need to be thumbnailed:

  • size of the created thumbnail(s) + 2 KB average overhead (each)
  • directory for thumbnail (4KB) (each image has its own thumbnail directory)

Exemples :

  • image 20778 Byte png (small size, no thumb): 24 KB for the image: Total 24 KB
  • image 123.000 Byte jpeg (big size, auto thumb): 124 KB for the image, 4KB for the thumb directory, 64 KB for the thumb: Total: 192 KB

Accès aux fichiers

Les fichiers téléversés sont généralement distribués directement par le serveur web, et non pas via MediaWiki. While there may be a minimal level of security through obscurity with path encryption (e.g. /c/c4/...) if $wgHashedUploadDirectory is set, the path can be calculated easily from the file name and does not provide true protection.

Pour limiter l'accès aux utilisateurs autorisés, voir Manual:Image authorization .

Upload form

Gestion des licences

Une fonctionnalité de MediaWiki permet à la page Special:Upload de centraliser les licences des images. Wikipedia's Upload Page has a Licensing drop down box below image summary. Cette fonctionnalité est désactivée par défaut dans MediaWiki. To turn this feature on a sysop needs to edit Licenses in the MediaWiki namespace (example: MediaWiki:Licenses). They can do this by going to the MediaWiki:Licenses page of their wiki and clicking 'create' or 'edit'.

The page MediaWiki:Licenses expects a certain format in a wiki list.

*subst:license 1|license 2|License text
* Header 1:
** cc-by-sa-2.5|Attribution ShareAlike 2.5

Line 1 will produce "License text" and substitute the license 1 template in the image page and transclude license 2.
Line 2 will show a greyed out header with text "Header 1:"
Line 3 will produce "Attribution ShareAlike 2.5" and transclude template cc-by-sa-2.5 on the image page.

For detailed real world example, see Wikipedia:MediaWiki:Licenses or Commons:MediaWiki:Licenses.

Dépôts externes

Il est possible d'accèder aux fichiers stockés sur les dépôts externes, sans avoir à les téléverser sur le wiki, en initialisant le tableau $wgForeignFileRepos . Cette fonctionnalité offre plusieurs possibilités :

  • ForeignAPIRepo accesses files from a remote MediaWiki installation, such as Wikimedia Commons, through its API
  • ForeignDBRepo accesses files through a database, and is useful for creating wiki families
  • FSRepo accesses files from a local folder

In all cases, one would be able to embed files into a page using ordinary image syntax and specifying the name of the file in the foreign repository. Note that some of the above implementations are still experimental, and might not be suitable for production sites.