{"word_count": 1125, "character_count": 9472}
[caption id="attachment_199" align="aligncenter" width="311"] Photo originale : Boston Public Library, 28 feb 09 - essygie - CC-BY[/caption]PréambulePlein de bibliothèques ont une page Facebook. Elles servent essentiellement de placard de pub, de carte de visite et d'affichage d'informations pratiques. On y trouve donc logiquement des liens vers le catalogue de la bibliothèque. Et il semble que ça serve : je ne sais plus qui annonçait récemment qu'une part importante des accès au site d'une certaine bibliothèque provenait de Facebook (oui, je sais, [citation needed] et [weasel words]). Mais plutôt que dire : "allez chercher sur notre catalogue", pourquoi ne pas fournir directement le formulaire de recherche ?Créer sur FacebookLe problème de la création sur ce site social, c'est que tout y est verrouillé, propriétaire et bridé. Ne comptez pas y faire ce que vous voulez. La seule solution que j'ai trouvée, c'est de passer par un formulaire HTML.1ère étape : aller chercher l'application "Static FBML" pour l'ajouter à la page de la bibliothèque. Dans la barre de recherche en haut vous cherchez static fbml, et une fois sur la page de l'appli, vous cliquez Ajouter à ma page (à gauche, en haut). Static FBML permet de taper du html bridé ou du FaceBook Markup Language, une sorte d'html arrangé à la sauce FB, pour l'afficher sous un onglet.2ème étape : saisir le code qui s'affichera. Sur la page de la bibliothèque, à gauche en haut cliquez sur Modifier la page, puis Applications. Dans la liste des applis, repérez FBML et cliquez sur Accéder à l'application. Vous devriez tomber sur une page avec 2 zones de texte : Titre de l'encart - c'est là que vous mettrez le titre de l'onglet (inutile d'en trouver un long, FB coupera. "Rechercher" fonctionne) ; FBML - c'est là que vous mettrez votre formulaire. Quand vous enregistrez, c'est publié.Le formulaire de rechercheUn formulaire permet de donner des valeurs (value) à des objets. On va l'utiliser pour fabriquer une URL de recherche sur notre catalogue. On n'est pas obligé d'offrir toutes les nuances de recherches que notre catalogue propose - une fois chez nous, le lecteur fera ce qu'il voudra, et de toutes façons il ne s'en sert pas. On pourra faire, par exemple, une recherche en mots libres, en proposant de chercher dans toute la notice, dans le titre ou comme auteur.Pour retrouver les différents critères nécessaires à la recherche, on étudiera les URL produites par le formulaire du catalogue. En variant les critères que l'on souhaite proposer. Par exemple, je vais chercher "Zola" dans toute la notice, dans le titre puis comme auteur. Les URL de mes pages de résultats seront les suivantes :http://www.bsb.univ-paris3.fr/primo_library/libweb/action/search.do?dscnt=0&#38;fn=search&#38;ct=search&#38;vid=BSB&#38;indx=1&#38;dum=true&#38;vl%28freeText0%29=zola&#38;srt=rank&#38;vl%281UI0%29=contains&#38;frbg=&#38;tab=default_tab&#38;dstmp=1296817722326&#38;vl%282131580UI0%29=any&#38;mode=Basic&#38;scp.scps=&#38;vl%282124146UI1%29=all_itemshttp://www.bsb.univ-paris3.fr/primo_library/libweb/action/search.do?dscnt=0&#38;fn=search&#38;ct=search&#38;vid=BSB&#38;indx=1&#38;dum=true&#38;vl%28freeText0%29=zola&#38;srt=rank&#38;vl%281UI0%29=contains&#38;frbg=&#38;tab=default_tab&#38;dstmp=1296817757125&#38;vl%282131580UI0%29=title&#38;mode=Basic&#38;scp.scps=&#38;vl%282124146UI1%29=all_itemshttp://www.bsb.univ-paris3.fr/primo_library/libweb/action/search.do?dscnt=0&#38;fn=search&#38;ct=search&#38;vid=BSB&#38;indx=1&#38;dum=true&#38;vl%28freeText0%29=zola&#38;srt=rank&#38;vl%281UI0%29=contains&#38;frbg=&#38;tab=default_tab&#38;dstmp=1296817787014&#38;vl%282131580UI0%29=creator&#38;mode=Basic&#38;scp.scps=&#38;vl%282124146UI1%29=all_itemsLes critères apparaissent après la question, qui comme toute bonne question se termine par un point d'interrogation. Ils sont séparés par une esperluette (&#38;), et se présente sous la forme critère=valeur. Il y en a 3 catégories : Ceux qu'on va vouloir modifier :vl%28freeText0%29=zola - C'est le texte saisi dans la zone de recherchevl%282131580UI0%29=any ou title ou creator - Ce sont les différents types de recherche qu'on souhaite proposer Ceux qu'on ne comprend pas toujours et qui ne nous intéressent que moyennement :dscnt=0 ; fn=search ; ct=search ; vid=BSB ; indx=1 ; dum=true ; srt=rank ; vl%281UI0%29=contains ; tab=default_tab ; mode=Basic ; vl%282124146UI1%29=all_itemsIls font des trucs sans doute utiles, dans le doute on va les conserver, avec leurs valeurs Ceux qui servent à rien et qu'on va bazarder :frbg= ; scp.scps= - Quels que soient ces critères, vu qu'ils n'ont aucune valeur associée, c'est qu'ils ne servent à rien (ne me confiez jamais un truc à réparer)dstmp=1296817787014 - C'est un numéro de session, on ne va pas le conserverLe formulaire aura donc cette tête :&#60;form action="http://www.bsb.univ-paris3.fr/primo_library/libweb/action/search.do?"&#62;C'est l'ouverture du formulaire, qui indique où on lui demande d'aller chercher.&#60;input type="text" name="vl(freeText0)" size="35"/&#62;C'est la zone de texte libre, où l'usager saisira les termes recherchés.&#60;input type="hidden" name="vid" value="BSB"/&#62; &#60;input type="hidden" name="ct" value="search"/&#62; &#60;input type="hidden" name="fn" value="search"/&#62; &#60;input type="hidden" name="indx" value="0"/&#62; &#60;input type="hidden" name="dscnt" value="0"/&#62; &#60;input type="hidden" name="vl(2124146UI1)" value="all_items"/&#62; &#60;input type="hidden" name="mode" value="Basic"/&#62; &#60;input type="hidden" name="dum" value="true"/&#62; &#60;input type="hidden" name="vl(1UI0)" value="contains"/&#62;Ce sont les critères nécessaires, non modifiables, qu'on ne va pas montrer (type="hidden") mais conserver.&#60;select name="vl(2131580UI0)"&#62; &#60;option value="any"&#62;dans toute la notice&#60;/option&#62; &#60;option value="title"&#62;dans le titre&#60;/option&#62; &#60;option value="creator"&#62;comme auteur&#60;/option&#62; &#60;/select&#62;C'est le menu déroulant pour permettre à l'usager de choisir son type de recherche.&#60;input type="submit" value="Rechercher dans notre catalogue"&#62; &#60;/form&#62;Le bouton pour envoyer la requête, et la clôture du formulaire.C'est ce formulaire qu'il faudra copier dans l'application Static FBML.Le même formulaire, mais avec une apparence "Facebook"Pour soigner l'apparence du formulaire, on pourrait passer par un CSS. Mais si on veut que le formulaire s'intègre bien dans l'onglet FB, on pourra le réécrire en FBML.Ça donnerait ça :&#60;fb:editor action="http://www.bsb.univ-paris3.fr/primo_library/libweb/action/search.do?" &#62;C'est l'ouverture du formulaire à la FB, qui indique où on lui demande d'aller chercher.&#60;fb:editor-text name="vl(freeText0)" size="35" label="Rechercher dans notre catalogue" /&#62;C'est la zone de texte libre, où l'usager saisira les termes recherchés. Le label intègre un texte mis en forme à gauche de la barre de recherche.&#60;input type="hidden" name="vid" value="BSB"/&#62; &#60;input type="hidden" name="ct" value="search"/&#62; &#60;input type="hidden" name="fn" value="search"/&#62; &#60;input type="hidden" name="indx" value="0"/&#62; &#60;input type="hidden" name="dscnt" value="0"/&#62; &#60;input type="hidden" name="vl(2124146UI1)" value="all_items"/&#62; &#60;input type="hidden" name="mode" value="Basic"/&#62; &#60;input type="hidden" name="dum" value="true"/&#62; &#60;input type="hidden" name="vl(1UI0)" value="contains"/&#62;On conserve les inputs cachés en HTML (le FBML ne semble pas proposer ces balises).&#60;fb:editor-custom&#62; &#60;select name="vl(2131580UI0)"&#62; &#60;option value="any"&#62;dans toute la notice&#60;/option&#62; &#60;option value="title"&#62;dans le titre&#60;/option&#62; &#60;option value="creator"&#62;comme auteur&#60;/option&#62; &#60;/select&#62; &#60;/fb:editor-custom&#62;Le select est encadré par des balises FBML pour la mise en forme.&#60;fb:editor-buttonset&#62; &#60;fb:editor-button value="Rechercher dans notre catalogue"/&#62; &#60;/fb:editor-buttonset&#62; &#60;/fb:editor&#62;Le bouton FB (on notera les balises supplémentaires pour annoncer la zone des boutons), et la clôture du formulaire "à la FB".On copiera ce formulaire dans le champ FBML de l'application Static FBML.Ça ressemblera à ça :ConclusionLa recherche se fait dans le catalogue. Les résultats s'affichent dans le catalogue. Pour être clair, lancer cette recherche fait quitter Facebook pour atterrir sur le catalogue (pas moyen de la lancer dans une autre page). Pour permettre une recherche directement sur Facebook qui afficherait les résultats dans Facebook, il faudrait développer une application complète.Cependant, cette méthode permet :- de ramener sur notre catalogue, plus complet, plus riche et mieux conçu les lecteurs depuis FB.- d'éviter des problèmes&#160; de droits compliqués : notre OPAC est propriétaire, exploiter ses résultats sur FB qui revendique grosso-modo un droit de propriété pour tout ce qu'on y met est-il légal ?- d'éviter que Facebook sache exactement quels livres sont recherchés par chacun de nos lecteurs, puisqu'ils font ce qu'ils veulent de ce genre de données (en plus d'être obligés de les communiquer au gouvernement états-unien grâce au USA Patriot Act, auquel les bibs françaises échappent pour le moment).Quelques bibliothèques doivent déjà le faire, mais pas toutes. Si vous avez une page FB, ça n'est vraiment pas compliqué, ça serait dommage de s'en passer.