Je continue. Donc j'ai regardé du côté des donnée IPTC, effectivement elles sont écritent dans la base de données. Le hic c'est que les photos que je possède ne sont pas renseignée à ce niveau donc, sauf à trouver un programme qui soit capable de m'écrire par lot les données IPTC dans les images depuis un fichier qui contient les valeurs, je n'ai pas trop le choix que de créer une nouvelle table où je pourrais faire mes imports.
Voila j'ai réussi à intégré la vignette la base, dans la table phpwebgallery_images j'ai rajouté un champs blob que j'ai nommé contents et ensuite dans le fichier :
Dans le fichier config_local.inc.php j'ai ajouté :
// Activation/désactivation du stockage de la vignette dans la base $conf['blob_thumbnail'] = true;
dans admin/update.php ligne 381 j'ai rajouté
if($conf['blob_thumbnail'] == true) { // génération de la vignette pour l'import dans la base (blob) $handle = fopen($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename, 'rb'); $contents = addslashes(fread($handle, filesize($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename))); fclose ($handle); $insert{'contents'} = $contents; }
ligne 423 j'ai rajouté
if($conf['blob_thumbnail'] == true) { // génération de la vignette pour l'import dans la base (blob) $handle = fopen($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename, 'rb'); $contents = addslashes(fread($handle, filesize($dirname.'/thumbnail/'.$conf['prefix_thumbnail'].$filename))); fclose ($handle); $insert{'contents'} = $contents; }
ligne 454 remplacé
// inserts all new elements $dbfields = array( 'id','file','storage_category_id','date_available','tn_ext' ,'representative_ext','path' );
Par
if($conf['blob_thumbnail'] == true) { // inserts all new elements $dbfields = array( 'id','file','storage_category_id','date_available','tn_ext' ,'representative_ext','path','contents' ); } else { // inserts all new elements $dbfields = array( 'id','file','storage_category_id','date_available','tn_ext' ,'representative_ext','path' ); }
La génération des listings ne va pas ce faire par PWG mais par excel, crystal report, sql... donc pas moyen de lire les données EXIF dans les fichiers. Mais j'ai un doute tout d'un coups, les données EXIF elles sont transférées dans la base ?
heu...
ou est le problème ?
Le problème c'est qu'il peut arriver que ces informations EXIf j'en ai besoins pour générer des listings contenant toute ces informations.
juste en passant :
J'ai bien pensé au donnée EXIF ou autres, mais je ne suis pas sur qu'il y ai tout les champs necéssaire pour le faire.
4 étapes :
1)il est relativement aisé d'ajouter les champs que tu souhaites dans la table image.
2)Tu dois tout d'abords les identifier (par l'outil tools/metadata..)
3)puis les ajouter dans le fichier include/config_local.inc.php.
4)ajouter dans la page picture.php les lignes commandant leur affichage sous la photo.
eric.
Salut, je suis utilisateur de PWG depuis 2 ans et je trouve cette appli superbement bien conçu. J'envisage de l'utiliser pour gérer une banque d'images dans la société pour laquelle je travail (5 Go d'images). Mais en l'état actuel de PWG il me manque une fonction. Je m'explique, cette banque d'images aura un usage strictement interne et elle aura pour but de stocker toute les images utilisées pour la composition de documents publicitaires, techniques, commercials. Pour parfaire le fonctionnement, je dois faire en sorte que les vignettes soit récupérable par le programme Crystal Report (un générateur d'état utilisé par notre gestion commercial). Le problème avec ce programme est qu'il est incapable de récupérer les fichiers directement, il faut absolument qu'ils soit stockés dans une base de données (champs blob). Maintenant que le contexte est posé, est-il envisageable/réalisable de modifier le comportement de PWG pour qu'il stock les vignettes en base ?
Deuxieme question, en ce qui concerne les informations techniques (dimenssions, poids...) des produits photographiés, il vaut mieux créer une table à part qui contiendras l'id de l'image puis les champs technique ? Ou alors l'intégrer dans phpwebgallery_images ? Je penche plutôt pour la premiere idée puisque cela ne concerne pas l'image en elle même mais plutôt le contenue de l'image. J'ai bien pensé au donnée EXIF ou autres, mais je ne suis pas sur qu'il y ai tout les champs necéssaire pour le faire.
Au fur et à mesure que j'écris ce message je creuse, je viens de penser que la lecture pour l'affichage des vignettes sera surement plus compliquées que l'enregistrement dans la base elle même. Petit supplément, en plus sauvegarder dans la base, je dois garder la vignette physiquement sur le disque pour un autre programme. Donc pour faire simple il y aura :
___ image_01.jpg (original basse définition 72 dpi). |___ /hight_pwg/image_01.jpg (orignal haute définition 300 dpi). |___ /thumbnail/TN-image_01.jpg (vignette physique 72 dpi). |___ DB --> vignette TN-image_01.jpg stocké en base (72 dpi).
Je m'en remets au expert de PWG pour savoir si cela est réalisable (par moi eventuellement) ou alors si il faut que je redev toute une appli entierement dédié à cela.
Philippe.