Bonjour à tous,
Suite à ce post (http://fr.piwigo.org/forum/viewtopic.php?id=23629) je recherche de la documentation sur l'utilisation d'ImageMagik au sein de Piwigo.
J'ai lu sur Piwigo.org qu’ImageMagik avait été incorporé au corps de Piwigo, mais je ne trouve pas comment faire l'appel de la classe, pour utiliser les fonctions "convert" ou autres.
Merci d'avance pour vos réponses.
Hors ligne
Voici mon code :
<?php
$image = new Imagick('image.jpg');
$image->thumbnailImage(100, 0);
echo $image;
?>
Et l'erreur est qu'il ne trouve pas la classe Imagick, ce qui est plutôt normal (je pense), car aucun appel par un "require" vers la classe n'est fait dans mon code.
Mais je ne sais pas comment utiliser cette classe et de plus ou elle se situe afin de faire son appel.
Hors ligne
Bonjour
la question est plutôt que cherchez vous à faire ?
Hors ligne
Le code que j'ai posté est simplement un test d'ImageMagik.
J'aimerais convertir une image tif en jpg que j'ai uploadé sur Piwigo via ImageMagik.
Comme je l'explique dans mon autre poste, j'aimerais donner la possibilité aux utilisateurs de télécharger l'original des images que je mets à disposition (et parfois des tif).
Sachant que les navigateurs ne peuvent afficher des .tif, j'aimerais de ce tif créer un jpeg pour l'affichage web et permettre le téléchargement de l'original (tif).
Voilà.
Hors ligne
Il va donc falloir créer un plugin, comprendre et utiliser les fonctions de Piwigo
Comment voyez vous la chose : l'utilisateur upload son tif par ftp, puis votre script génère le jpeg correspondant dans /pwg_representative ?
Hors ligne
Tout à fait j'ai commencé à me renseigner sur la création d'un plugin (j'ai créé un plugin de test via le tuto de votre wiki).
"Comment voyez vous la chose : l'utilisateur upload son tif par ftp, puis votre script génère le jpeg correspondant dans /pwg_representative ?"
C'est exactement ce que j'aimerais faire sur Piwigo pour que l'utilisation orienté photothèque soit parfaite :).
J'ai un peu de mal pour le moment à comprendre tout les rudiments de code PHP utilisés pour Piwigo, (n'étant pas un expert PHP, je débute la POO sur PHP, mais j'ai très envie d'apprendre donc pas de soucis de ce coté).
Je pense qu'il faut que je me concentre sur deux choses :
- Identifié le .tif à l'upload et générer un .jpeg
- Lié ce jpeg au /pwg_representative correspondant à mon tif de départ
Qu'en pensez-vous?
Hors ligne
Est ce que [extension by julien1311] File Uploader ne répond pas déjà à votre besoin ?
Hors ligne
Pardon, on aimerait ici une solution auto pour la miniature ^^
Il n'y a pas de trigger dans la syncho: donc je pense qu'il faudrait s'inspirer du plugin File Uploader pour automatiquement générer l'image pwg_representative
Il faut donc passer par la compréhension de ce lugin
Hors ligne
Etant fainéant je vais plancher sur quelque chose d'automatique ^^.
Plus sérieusement certains utilisateurs pourront ajouter des images, ce qui m'oblige à automatiser le processus.
Merci pour l'info, je vais regarder le code utilisé pour ce plugin.
Hors ligne
Olala j'ai quand même beaucoup de mal à comprendre le code... ^^
La création d'un dossier "admin" dans l'arbo du plugin faire référence aux interactions avec l'espace d'administration?
Hors ligne
sans vouloir dénigrer le travail de julien, File Uploader est assez mal codé, ce n'est peut-être pas l'idéal pour apprendre l'architecture globale d'un plugin
pour l'aspect général : http://piwigo.org/svn/extensions/skeleton
pour la logique spécifique à l'upload, eh bien File Uploader va bien :-)
Hors ligne
Dac o Dac, je vais voir tout cela!!!
Merci de vos réponses rapide et constructive mistic100 et flop25.
Hors ligne
Bon on avance petit à petit.
Avec le Skeleton sur votre SVN je comprend mieux comment fonctionnent les fichiers entre eux.
Par contre j'ai du mal à comprendre la définition de ces différentes constante au début du main.in.php:
// +-----------------------------------------------------------------------+
// | Define plugin constants |
// +-----------------------------------------------------------------------+
defined('SKELETON_ID') or define('SKELETON_ID', basename(dirname(__FILE__)));
define('SKELETON_PATH' , PHPWG_PLUGINS_PATH . SKELETON_ID . '/');
define('SKELETON_TABLE', $prefixeTable . 'skeleton');
define('SKELETON_ADMIN', get_root_url() . 'admin.php?page=plugin-' . SKELETON_ID);
define('SKELETON_PUBLIC', get_absolute_root_url() . make_index_url(array('section' => 'skeleton')) . '/');
define('SKELETON_DIR', PHPWG_ROOT_PATH . PWG_LOCAL_DIR . 'skeleton/');
define('SKELETON_VERSION', 'auto');
Ces constantes définissent la base (ID, Path et autres, ainsi que les méthode de récupération de ces informations)?
Un semblant de vérité ou je suis complètement à coté de la plaque?
Hors ligne
comment ça "les méthodes de récupération de ces infos" ? je ne vois pas ce que vous voulez dire
ces sont des constantes de type string (même s'il n'y a pas de types en PHP) dont les valeurs "par defaut" sont
SKELETON_ID = "Skeleton"
SKELETON_PATH = "plugins/Skeleton/"
SKELETON_TABLE = "piwigo_skeleton"
SKELETON_ADMIN = "admin.php?page=plugin-Skeleton"
SKELETON_PUBLIC = "http://monsite.com/index.php?/skeleton"
SKELETON_DIR = "local/skeleton/"
SKELETON_VERSION = "auto"
mais on utilise des constantes, variables et fonctions de Piwigo pour les obtenir
Hors ligne
Je me suis mal exprimé en utilisant le mot "méthode".
C'étais en rapport avec le get_root_url() et get_absolute_root_url() dont j'avais du mal à comprendre.
Merci pour votre explication :).
Hors ligne