Le Widget facile (4/4) (MàJ)

10 Sep
closeUne année au moins est passée depuis la publication de ce billet qui peut donc contenir des informations un peu datées.

Résumé des épisodes précédents : nous avons défini un Widget et entamé la page HTML qui va le “porter”, puis nous avons récupéré le code source du formulaire que nous voulons widgetiser.

Si nous déposons notre page HTML sur notre serveur, et allons la lire comme un simple surfeur, oh joie, oh bonheur, nous voyons un widget qui contient TOUT le formulaire de la page de recher OAIster. Autrement dit, pour les plus maximalistes, le boulot est terminé.

Mais comme nous aimons les formulaires légers, avec un champ unique, nous allons nettoyer le code de notre page pour simplifier ledit formulaire.

Là, je ne peux pas m’étendre sur toutes les subtilités, ce n’est pas le but ici, et j’en suis incapable (ces histoires de widget, c’est beaucoup de bricolage aussi… Mais chuuuut). Et puis il faut malgré tout que vous bossiez un peu par vous-même : le vélo ne s’apprend pas dans les livres. Deux précisions pour vous aider, quand même :

  • les balises contenant <input (je coupe) type=”hidden”/> sont à conserver : elles passent des paramètres cachés, mais en général essentiels ;
  • le formulaire final doit être un formulaire standard, respectant les bases HTML.

Dans l’exemple sur lequel nous travaillons, après avoir un peu tâtonné, j’obtiens ceci, pour le formulaire :

<form target=”_blank” action=”http://quod.lib.umich.edu/cgi/b/bib/bib-idx” name=”simple_form” method=”post”/>
<input name=”type” value=”boolean” type=”hidden”/>
<input name=”size” value=”10″ type=”hidden”/>
<input id=”rgn1″ name=”rgn1″ value=”entire record” type=”hidden”/>
<input id=”rgn2″ name=”rgn2″ value=”entire record” type=”hidden”/>
<input id=”rgn3″ name=”rgn3″ value=”entire record” type=”hidden”/>
<input name=”c” value=”oaister” type=”hidden”/>
<input name=”sid” value=”0f466500e44ba2a0697b87b4e29062ea” type=”hidden”/>
<input name=”q1″ class=”saisie-texte” value=”Saisir votre recherche” onFocus=”value=’ ‘” size=”45″ maxlength=”255″ type=”text”/>
<input name=”submit” id=”submit” value=”Rechercher” type=”submit”/>
</form>

On colle tout ça entre les balises body, on dépose sur un serveur et voilà, on a fait un widget pour OAIster que les vrais fainéants trouveront tout chaud ici (avec un petite erreur apparemment si j’en crois les commentaires, d’où : un bon point à celui qui trouve l’erreur)

La méthode est toujours la même. A vous de jouer… C’est en widgetisant que l’on devient widgetiseur.

Tags : ,

Aucune réponse

  1. L'arc-en-cielNo Gravatar says:

    C’est bien expliqué, Monsieur le Professeur, mais comme je suis dans les nuages je ne comprends pas à quoi sert ce biduldget. Je sens que j’vais me faire virer

  2. dbourrionNo Gravatar says:

    @ l’arc-en-ciel : eh bien mon petit arc-en-ciel, ce widget sert à avoir un module de recherche pour OAIster, moteur spécialisé en ressources Open Access, qui s’installe dans ton univers Netvibes ou iGoogle, tout simplement.

  3. davidolibNo Gravatar says:

    La recherche fonctionne correctement, par contre erreur XML lors de l’ajout dans iGoogle ou Netvibes….

  4. dbourrionNo Gravatar says:

    @davidolib : oui, effectivement, je vais voir ce qui coince. Mais faisons pédagogique : qui va trouver le premier ce qui merdouille ?… ;-)

  5. davidolibNo Gravatar says:

    Fermer les balises input et meta et ça marche pour Netvibes. Par contre, y’a toujours une erreur pour iGoogle…

  6. dbourrionNo Gravatar says:

    @davidolib : ahhh, un TBP (Très Bon Point) pour toi. J’ai corrigé mon source. Pour iGoogle, il me semble qu’il y a toujours un temps de latence après correctif, mais c’est une impression non scientifique.
    En tous les cas, merci : preuve est faite de mon incompétence.

  7. davidolibNo Gravatar says:

    Ayé, ça marche. J’ai juste fait un copier-coller depuis la doc Netvibes de l’entête du document. Ne me demande par pourquoi mais

    ne fonctionne pas mais

    avec un espace à la fin fonctionne
    Mon éditeur HTML me le signale aussi en erreur s’il n’y a pas d’espace

  8. davidolibNo Gravatar says:

    Bon, wordpress ne veut pas que je colle du code…
    Pour résoudre le problème pour iGoogle, il suffit d’ajouter un espace à la fin de la balise ouvrante html

  9. dbourrionNo Gravatar says:

    Tu m’envoies ton code que je dépose sur le site ? Mon mail est dans Le Coin du voile là-haut. Merci.

  10. NornaNo Gravatar says:

    Y a plus qu’à s’y mettre !
    Merci.

  11. LullyNo Gravatar says:

    A mon avis, le paramètre sid ressemble trop à un identifiant de session unique pour que ça n’en soit pas un (value=”0f466500e44ba2a0697b87b4e29062ea”). Donc tu devrais pouvoir le virer.
    Par ailleurs, grâce à ce site, je sais qu’OAIster n’est interdit qu’à moi. Donc je peux rien tester du tout.
    Sinon, c’est plus sympa dans la balise de mettre la valeur method=”get” au lieu de method=”post” : ainsi la requête se retrouve dans l’URL (comme lors d’une recherche Google), et on peut pointer vers une liste de résultats si on en a besoin.

  12. dbourrionNo Gravatar says:

    @Norna : Yapluka
    @Lully : Modifs faites.
    @ tous : bon ben on dirait que ça marche. Moralité : on est plus fort à plusieurs

  13. LaurentNo Gravatar says:

    Bonne idée que ce billet!

    C’est ok pour OAIster, mais en revanche comment faire pour http://www.dole.org/medias/medias.aspx?INSTANCE=exploitation par exemple?

    Le formulaire a pour source :

    C’est-à-dire que l’action (le bouton OK) lance du javascript : c’est foutu, non?

  14. dbourrionNo Gravatar says:

    @Laurent : je n’en sais rien, jamais essayé avec ce genre de config. Mais teste, tu verras bien (non non, je ne le ferai pas pour toi ;-) ). Au débotté, je dirais que ça doit marcher…

  15. davidolibNo Gravatar says:

    Ah, le client Bookline d’Archimed…
    Bon c’est à tester mais ça y ressemble :
    http://www-bulco.univ-littoral.fr/AdrInternet/dole.html
    J’essaierai de faire un post demain pour expliquer comment je suis arrivé là, ça m’a pris la matinée quand même.
    Bon j’ai aussi bossé pour ma chapelle puisqu’on utilise Bookline ici aussi

  16. dbourrionNo Gravatar says:

    @davidolib : que demande le peuple ? Des widgets ?…. Merci David ! Ca montre que le principe général marche aussi pour les bidules en javascript :-)

  17. LaurentNo Gravatar says:

    @dbourrion J’ai essayé, sans succès. L’opac archimed n’est pas très… ouvert.

    @davidolib Ça m’intéresse! Cependant, ton widget pour l’instant ne semble pas transmettre les termes qu’on lui soumet à l’opac.

  18. davidolibNo Gravatar says:

    @Laurent : ça marche, tu peux jeter un oeil là :http://www-bulco.univ-littoral.fr/adrinternet/dole.html
    La méthode est expliquée

  19. LaurentNo Gravatar says:

    Excellent ! Merci !

    Prochaine étape : proposer un code à copier/coller pour proposer aux visiteurs d’intégrer notre widget directement sur leur propre site/blog.

    Je vais tenter avec une iframe mais je me demande si c’est le mieux.

Répondre

Face Ecran

Le 'nouveau' blog du taiseux bavard

Get Adobe Flash playerPlugin by wpburn.com wordpress themes