WATERBEAR:Imagettes

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

But

Dans les écrans de recherche de documents, une image de la page de couverture est affichée par document. A l'origine, ces images sont recherchées à chaque passage sur cette page sur le site d'Amazon. Pour diminuer les interrogations sur un site externe, on peut vouloir les récupérer sur son propre serveur.


Procédure de récupération

La première étape consiste à récupérer ces images et à récupérer les nouvelles qui manqueraient encore suite par exemple à l'ajout d'un nouveau document. Nous avons choisi de la faire via un script sous Linux et à l'exécuter à intervalles réguliers.

Le nécessaire pour effectuer ce qui suit se trouve dans le fichier ZIP ci-dessous.

Télécharger le fichier ZIP des modifications concernant ces imagettes

La première étape consiste à créer l'arborescence nécessaire sous Linux.

  • Dans l'arborescence des fichiers du site WEB de Waterbear, il faut créer un répertoire qui regroupera les images. Nous garderons la base utilisée lors de l'installation.
mkdir /web/waterbear/IMG/isbn10
  • Nous allons placer les scripts Linux, écrits en Bash, dans un répertoire spécifique hors des fichiers du site WEB. En dessous de ce répertoire, on en place d'autres nécessaires au bon fonctionnement des scripts. Nous avons pour habitude de créer un répertoire de base qui accueille ces scripts de gestion: "/manager".
mkdir /manager
mkdir /manager/waterbear
mkdir /manager/waterbear/new
mkdir /manager/waterbear/image10
mkdir /manager/waterbear/autre10
mkdir /manager/waterbear/inconnu

Fonction de ces répertoires:

- new : recueille les images récupérées; elles seront déplacées dans l'arborescence du site WEB "/web/waterbear/IMG/isbn10"
- image10 : images déjà récupérées
- inconnu : images non trouvées
- autre10 : images récupérées mais non valides

Il y a deux scripts:

- isbn.bat : essaye de récupérer toutes les images non encore récupérées. Il est à exécuter rarement (une fois par semaine ou par mois par exemple).
- isbnred.bat : essaye de récupérer les images non encore récupérées sans chercher à le faire pour des images dont la recherche est restée infructueuse par le passé.

Le principe consiste à effectuer plusieurs tâches:

- récupérer la liste des codes ISBN de la base de données, de les mettre en une colonne et d'éliminer les doubles
- convertir ces codes en un code ISBN de 10 caractères. Sur le site d'Amazon, le nom des images est constitué de ce code.
- tester si les images (petites et moyennes) ont déjà été récupérées
- récupérer les images manquantes.
- les déplacer dans l'arborescence du site WEB
  • Pour exécuter de façon régulière ces scripts, il faut ajouter quelques lignes dans le fichier Linux "/etc/crontab" géré par le service crond.service. Dans l'exemple, la recherche complète est effectuée chaque dimanche à 22h, la recherche rapide, chaque heure.

# Waterbear : récupération d'imagettes
15 22 * * 0 root /manager/waterbear/isbn.bat    > /manager/waterbear/isbn.cron.log
5  *  * * * root /manager/waterbear/isbnred.bat > /manager/waterbear/isbnred.cron.log

Note: Dans ces scripts, il faut adapter le mot de passe du user "root" de MySql.


Plugin get_ISBN10.php

Pour les documents dont les imagettes n'ont pas été récupérées, le script PHP existant émettra un Warning et l'affichage sera imparfait. Pour cette raison il faudra la remplacer par une petite image vide la la même couleur que le fond de l'écran. On placera ces deux images spéciales, nommées videS.jpg et videM.jpg, dans le répertoire "/web/waterbear/IMG/isbn10". Ensuite il faut adapter le plugin "/web/waterbear/include/plugins/catalogue/marcxml/get_ISBN10.php". Il teste la présence de l'imagette sur base du code ISBN 10; dans le cas contraire, on remplace le code ISBN 10 par le mot "vide". Par la même occasion, on introduit deux nouveaux paramètres "avant" et "apres" afin de reconstituer le nom du fichier image dont on veut tester la présence. Ce script PHP est compris dans le fichier ZIP ainsi que les deux images vides.


Registre

Enfin il faut adapter le registre. On remplace les URLs de recherche sur Amazon par des références sur notre serveur et on ajoute les deux paramètres demandés par le plugin changé ci-dessus.

Ces modifications se font à deux endroits; l'un pour les imagettes "small" (référence: "profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/biblio/elem_notice/contenu/imagette_small") et l'autre pour les imagettes "medium" (référence: "profiles/defaut/plugins/plugins/catalogue/marcxml/formatage/biblio/elem_notice/contenu/imagette_medium"). Les principales modifications sont au niveau des noeuds "avant", "apres" et parametres".

  • arborescence "small"
=> imagette_small
=> chemin_fichier = catalogue/marcxml
=> nom_fonction = get_datafields
=> parametres
=> champs
=> 01 - 010
=> idx = 1
=> sous-champs
=> 01 - a
=> apres = S.jpg" />
=> avant = <img src="IMG/image10/
=> code = a
=> ids = 1
=> plugin_formate
=> alias
=> texte = chaine
=> alias_retour
=> ISBN = texte
=> nom_plugin = catalogue/marcxml/get_ISBN10
=> parametres
=> apres = S.jpg
=> avant = IMG/image10/


Le code à injecter via l'outil d'importation dans le registre est:


[{"type":"supprimer_noeud","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small","nom":"imagette_small","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu","nom":"imagette_small","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small","nom":"chemin_fichier","valeur":"catalogue\\/marcxml","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small","nom":"nom_fonction","valeur":"get_datafields","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small","nom":"parametres","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres","nom":"champs","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs","nom":"01 - 010","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010","nom":"idx","valeur":"1","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010","nom":"sous-champs","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs","nom":"01 - a","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"apres","valeur":"S.jpg\\" \\/>","description":"avant:\\n.08._SCTHUMBZZZ_.jpg\\" \\/>\\n\\napr\\u00e8s:\\nS.jpg\\" \\/>"}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"avant","valeur":"<img src=\\"IMG\\/image10\\/","description":"avant:\\n<img src=\\"http:\\/\\/ec1.images-amazon.com\\/images\\/P\\/\\n\\napres:\\n<img src=\\"IMG\\/image10\\/"}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"code","valeur":"a","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"idx","valeur":"1","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"plugin_formate","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"alias","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/alias","nom":"texte","valeur":"chaine","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"alias_retour","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/alias_retour","nom":"ISBN","valeur":"texte","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"nom_plugin","valeur":"catalogue\\/marcxml\\/get_ISBN10","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"parametres","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/parametres","nom":"apres","valeur":"S.jpg","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/parametres","nom":"avant","valeur":"IMG\\/image10\\/","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_small\\/parametres\\/champs\\/01 - 010","nom":"tag","valeur":"010","description":""}
]


  • arborescence "medium"
=> imagette_medium
=> chemin_fichier = catalogue/marcxml
=> nom_fonction = get_datafields
=> parametres
=> champs
=> 01 - 010
=> idx = 1
=> sous-champs
=> 01 - a
=> apres = M.jpg" />
=> avant = <img src="IMG/image10/
=> code = a
=> ids = 1
=> plugin_formate
=> alias
=> texte = chaine
=> alias_retour
=> ISBN = texte
=> nom_plugin = catalogue/marcxml/get_ISBN10
=> parametres
=> apres = M.jpg
=> avant = IMG/image10/


Le code à injecter via l'outil d'importation dans le registre est:


[{"type":"supprimer_noeud","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium","nom":"imagette_medium","valeur":"","description":""},{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu","nom":"imagette_medium","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium","nom":"chemin_fichier","valeur":"catalogue\\/marcxml","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium","nom":"nom_fonction","valeur":"get_datafields","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium","nom":"parametres","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres","nom":"champs","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs","nom":"01 - 010","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010","nom":"idx","valeur":"1","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010","nom":"sous-champs","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs","nom":"01 - a","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"apres","valeur":"M.jpg\\" \\/>","description":"avant:\\n.08._AA240_SCLZZZZZZZ_.jpg\\" \\/>\\n\\napr\\u00e8s:\\nM.jpg\\" \\/>"}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"avant","valeur":"<img src=\\"IMG\\/image10\\/","description":"avant:\\n<img src=\\"http:\\/\\/ec1.images-amazon.com\\/images\\/P\\/\\n\\napres:\\n<img src=\\"IMG\\/image10\\/"}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"code","valeur":"a","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"idx","valeur":"1","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a","nom":"plugin_formate","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"alias","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/alias","nom":"texte","valeur":"chaine","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"alias_retour","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/alias_retour","nom":"ISBN","valeur":"texte","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"nom_plugin","valeur":"catalogue\\/marcxml\\/get_ISBN10","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate","nom":"parametres","valeur":"","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/parametres","nom":"apres","valeur":"M.jpg","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010\\/sous-champs\\/01 - a\\/plugin_formate\\/parametres","nom":"avant","valeur":"IMG\\/image10\\/","description":""}
,{"type":"niv2_create_node","chemin":"profiles\\/defaut\\/plugins\\/plugins\\/catalogue\\/marcxml\\/formatage\\/biblio\\/elem_notice\\/contenu\\/imagette_medium\\/parametres\\/champs\\/01 - 010","nom":"tag","valeur":"010","description":""}
]



->retour au menu Documents de Waterbear