Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Prétraitement et mise à jour automatisée des images préparées

De AJLSM
Aller à la navigation Aller à la recherche

Introduction

Un nouveau script permet de générer automatiquement l'ensemble des versions des images préparées. Il est aussi capable de mettre à jour les images préparées lorsque l'image originale change.

Ce script est disponible sur le SVN à l'emplacement @pleade-libre-sdx-2.5/script-pre-traitement/ImagePretraitement/ImagePretraitement.jar

Principe de fonctionnement

Il s'agit d'un script java qui se lance avec la commande java -jar (compatibilité java >= 6). Pour l'automatiser complètement, il faut l'enregistrer dans le crontab.

Le script offre les fonctionnalités ci-dessous:

  • Création des versions miniature (60x60), vignette (300x300) default (2500x2500) et hidef (taux de compression 45%).
  • Regénération des images pré-taritement dont l'image originale a été mise à jour.
  • Possibilité d'utiliser vips ou imageMagick (par défaut) pour le traitement.
  • Possibilité de supprimer les images préparées pour lesquels l'image originale n'existe plus.

Exécution du script

Le script se lance de cette façon

java -jar imagesPretraitement.jar <python> '<racines>' <pretrait> '<formats>' <vips> <delete>

<python> : emplacement absolue du script python plus. Exemple: /home/mdia/pretraitement_images_plus.py <racines> : entre cote, la liste des racines d'images séparée par ; . Exemple : '/home/test-images;/home/mdia/test-images2' <pretrait> : emplacement absolue du répertoire image préparées. Exemple : /home/mdia/test-images-preparees <formats> : entre cote, la liste des formats d'images préparées à générer séparée par ; . Exemple : 'default;vignette;hidef' <vips> : si true travail avec vips. Sinon, travail avec imageMagick <delete> : Si true le script supprime les images préparées dont l'image original n'existe plus. Si false, le script indique juste les images préparées à supprimer sans rien faire.

Exemple d’exécution du script:

java -jar ImagePretraitement.jar /home/mdia/pretraitement_images_plus.py '/home/mdia/test-images;/home/mdia/test-images2' /home/mdia/test-images-preparees 'default;vignette;hidef' vips true

Exemple de programmation dans le crontab

0 20 * * * java -jar ImagePretraitement.jar /home/mdia/pretraitement_images_plus.py '/home/mdia/test-images;/home/mdia/test-images2' /home/mdia/test-images-preparees 'default;vignette;hidef' vips true >> /home/mdia/test.log

Avec ce cron, le script se lance tout les jours à 20h00 et écrit ses log dans le fichier /home/mdia/test.log

Message de log par rapport au traitement des images

Quand il donne juste l'info des éléments à supprimer sans faire l'action

  • [INFO NO DELETE] Répertoire vide :
  • [INFO NO DELETE] Image originale inexistant pour :

Quand il supprime réellement

  • [INFO DELETE] Suppression répertoire vide:
  • [INFO DELETE] Suppression image préparée :

Quand il crée de nouvelles images préparées qui n'existaient pas avant

  • [INFO CREATE DEFAULT|MINIATURE|HIDEF|VIGNETTE] Création image préparée :

Quand il met à jour une image préparée dont l'image original a changé

  • [INFO UPDATE DEFAULT|MINIATURE|HIDEF|VIGNETTE] Mise à jour image préparée

Quand une image originale ne peut pas être traitée

  • Erreur [0][!!IMAGE ILLISIBLE!!]
  • Syntax error:
  • ou d'autres messages d'erreurs