Faire un don











But

Lors de l’envoi d’une image vers le serveur, création d’une vignette à afficher sur la page, avec un lien sur une plus grande image.

Solution

Le module Minimage :
— Merci de signaler d’éventuels problèmes dans le paragraphe de discussion (vous pouvez le faire en Français), ou par courriel (sur la page originale, pas sur la copie locale, voir les liens en bas de page).

Ajouter la ligne suivante dans le fichier local/config.php

  include_once("cookbook/minimage.php");

Utilisation

écrire Img:image.ext à l’endroit souhaité de la page

Le type d’image est limité à jpeg, gif et png.
Quand on clique sur l’appel ''Img:'', un écran va s’ouvrir pour vous inviter à télécharger votre image et à créer ou modifier les informations IPTC.

Attach:ExImg.png

Après validation de l’entrée, les images sont redimensionnées et stockées sur le disque dur.

Il n’y a pas de limitation de taille (mais votre serveur à probablement des limitations), mais des fichiers défaillants seront automatiquement effacés, et les images sources de trop grande taille seront redimensionnées.

Ce script ne redimensionne pas les images plus petites que (1.15 * taille requise) - pour limiter la perte de qualité lorsque la taille est légèrement supérieure à celle requise.

Site exemple :

Vous pouvez aussi télécharger les images par FTP. Elles seront redimensionnées au premier affichage. Dans ce cas, les informations IPTC seront celles par défaut pour le titre et les instructions spéciales, et le titulaire du copyright sera le premier à afficher les images… (son nom sera lu sur le cookie d’auteur). Pour les fichier envoyés par FTP, l’extension de l’image doit être en minuscule.

  • La petite image est stockée comme image.s.ext (affichée sur la page)
  • L’image normale est stockée comme image.p.ext (la petite image renvoie vers celle-ci)
  • L’image d’archive est stockée image.ext (non affichée)

Si l’image normale est de la même taille que l’image d’archive, l’archive sera automatiquement effaçée.
Cette image d’archive peut être affichée par Attach:image.ext.
Cette archive a une taille maximum et sera redomensionnée si elle dépasse le maximum. Si vous voulez supprimer automatiquement les images d’archive, définissez une taille maximum pour l’archive identique à la taille normale.

Configuration

Sur PmWiki2 seulement. Nécessite d’avoir la librairie GD version 2.03 et au delà (pour permettre le rééchantillonage d’image). Cette librairie fait partie de la distribution PHP mais n’est pas toujours installée parce que son installation est délicate et qu’ elle utilise beaucoup de ressources machine. Si le redimensionnement n’est pas possible, un message sera affiché.

Nécessite l’activation sur PmWiki des envois de fichiers. Le répertoire de stockage est le même que celui des fichiers.
#$WriteGif=FALSE; // Force l'inactivation de la création de fichiers 'gif' # (défaut TRUE, mais vérifie l'existence de la fonction) #$DispIPTC=FALSE; //Stoppe l'entrée interactive des infos IPTC,défaut TRUE $img_smallsize = valeur; //Taille de l'image affichée, défaut 256 $img_plainsize = valeur; //Taille de l'image liée, défaut 768 $img_archsize = valeur; //Taille maxi de l'archive sur disque, défaut 1280 ## Mettre la taille de l'archive égale à la taille de l'image liée ## efface automatiquement les archives #$OverSize = valeur;//surdimension n'entraînant pas de retaillage,défaut 1.15 ## Informations IPTC par défaut (images jpeg seulement) $def_iptc_caption = 'text'; # S'il n'y a pas de titre, par defaut 'Image collected on a PmWiki' $def_iptc_copyright = 'text'; # S'il n'y a pas de copyright et si l'auteur est inconnu, vide par défaut $def_iptc_special = 'text'; # *ajouté* aux instructions speciales déjà existantes, par défaut vide. # Peut être utilisé pour définir une licence (cc ou artistique ou autre).

Les chaînes par défaut définies ci-dessus peuvent être modifié par le module de traduction (voir paragraphe ci-dessous)

Quand la saisie interactive des informations IPTC est désactivée, les valeurs paramétrées sont utilisées, et l’auteur (tel que défini dans le cookie) est défini comme titulaire du copyright, s’il n’y a pas de valeur pas défaut. Pour inactiver cette définition d’auteur, mettez un ‘-‘ ou un autre caractère comme auteur par défaut.

Traduction

Mettre dans votre page XLPage? les lignes suivantes :

### Chaînes pour envoi d'images 'Upload images' => 'Envoyer des images', 'Image for' => 'Image pour', 'Image to upload:' => 'Images à envoyer:', 'Image wiki name:' => '<span style='font-size:86%'>Nom image sur le Wiki</span>', 'Step 1' => '<span style='font-size:83%'>Etape 1</span>', 'Step 2' => '<span style='font-size:83%'>Etape 2</span>', 'Image title' => "Titre de l'image", 'Image copyright' => 'Copyright image', 'Ok' => 'Ok', 'Cancel' => 'Annuler', 'Image special instructions' => "Instructions spéciales de l'image", 'IMGbadtype' => "<span style='color:#ff0000'> - extension du fichier invalide</span>", 'ULnotimage' => "Le fichier envoyé n'est pas d'un format autorisé", 'Image resizing not possible on your server' => "Le redimensionnement d'image n'est pas possible sur votre serveur", 'IMGreload' => "<span style='font-size:88%'>Si ce n'est pas la bonne image, envoyez en une autre</span>",
Attention!, contrairement à la ligne ci-dessus, les chaînes de caractères dans une XLPage doivent être écrites sur une seule ligne - à corriger lors de l’intégration

Limitations

  1. je n’ai pas été capable de réécrire les informations IPTC sur les images qui en possèdent déjà. Aussi dans ce cas, les informations ne sont pas modifiées.
    Je n’ai aucune idée du problème, aussi si vous êtes apte à comprendre ce genre de choses, voici des liens sur le code source de la fonction iptcembed() :
    - www.koders.com
    - lxr.php.net
    Si quelqu’un de compétent peut jeter un oeil…
  2. Même si la création d’image gif est censée fonctionner, ceci n’est pas forcément excact. Chez mon hébergeur, cela conduit a une erreur interne du serveur.
    Pour forcer l’inactivation de la création d’images gif, mettez $WriteGif=FALSE; (dans le fichier de configuration)
  3. Si la création de gif n’est pas autorisée, le module crée des images jpeg avec l’extension ‘.gif’.
    Ceci n’est guère élégant mais c’est géré sans problème par la majorité des navigateurs.

Améliorations potentielles

  1. Gérer la dimension des images de manière interactive (voir PmWiki:PITS.00146), si c’est vraiment nécessaire…
  2. Gérer le format ‘Déjà vu’ (.djvu) ? à plus longue échéance… des commentaires ?

License

GPL

Historique

  • 27 Nov. 2004 V0.1 - 1ère émission - Mon premier script PHP, et ce ne fut pas facile! Il faut dire aussi que je n’ai pas commençé par le plus aisé…
  • 28 Nov. 2004 V0.2 - Résulation des problèmes avec les pages contenant des lettes accentuées.
  • 29 Nov. 2004 V0.3 - Résolution du problème avec l’extension .jpeg. Autorisue l’utilsation des majuscules comme extension (mais stocké en minuscule sur le disque dur)
  • 1 Déc. 2004 V0.4 - Présentation - Ajouté le paramètre $WriteGif pour bloquer l’écriture des gif. Ajouté $DispIPTC pour permettre/bloquer l’entrée interactive des informations IPTC.
  • 26 Déc. 2004 V0.5 - Corrigé pour fonctionner avec PmWiki 2.0Beta10 et au delà
  • 8 Jan. 2005 V1.0 - rechargement vignette fonctionnel - paramètre $OverSize
  • 16 Jan. 2005 - Ajout de la documentation utilisateur dans le fichier zip

Contributeur

PRZ?

Discussion


« | Index doc admin | »


Traduction de PmWiki:Cookbook.ImagesAutoResizing - Page originale sur PmWiki:PmWikiFr.CréationAutomatiqueDeVignettes