Bibiographie HAL

Le plugin HAL permet d’interroger le portail bibliographique HAL et d’afficher des publications à travers un modèle SPIP unique <hal|param1|param2|...>.

Exemple d’utilisation

Le plugin permet sur un site SPIP d’interroger le portail bibliographique HAL et d’afficher des publications scientifiques.

Voir la page en ligne

Installation

Activer simplement le plugin.

Le plugin utilise les données distantes de HAL (via la boucle DATA). Le plugin n’installe aucune table SQL. Vous pouvez donc installer et le tester (ou désinstaller ...) sans aucune crainte.

Le menu de configuration permet de saisir le nombre d’items que l’on souhaite lister par défaut.

Utilisation du modèle <hal>

Pour les rédacteurs
Pour générer un bibliographie, il suffit d’utiliser le modèle <hal>

Il est possible de combiner les paramètres pour créer une requête complexe par exemple :

<hal|q=Mali|auteur=joseph-larmarange|max=4>

Pour les webmestres
Il est possible d’utiliser ce modèle pour l’intégrer dynamiquement dans vos squelettes.

<INCLURE{fond=public/hal,q=Mali,auteur=joseph-larmarange,max=4}>

Listes des paramètres

Tous les paramètres sont facultatifs. Si plusieurs paramètres sont indiqués, seules les références remplissant TOUTES les conditions seront sélectionnées.

ParamètreExplications Exemple
q requête de recherche sur l’API HAL
https://api.archives-ouvertes.fr/docs/search
<hal|q=Mali>
collection restreindre à une collection, indiquer l’identifiant de la collection, tel qu’il apparit dans l’URL du portail de la collection
<hal|collection=CEPED>
auteur restreindre à un auteur à partir de son idHAL, pour une recherche sur le nom d’un auteur, utilisez le paramètre q
<hal|auteur=joseph-larmarange>
max nombre maximum de résultats affiché de 0 à 10000.
Valeur par défaut défini dans panel de configuration du plugin sinon 10
<hal|max=4>
tri indique le tri de requête.
par défaut par pertinence
https://api.archives-ouvertes.fr/docs/search/?#sort
<hal|tri=submittedDate_tdate desc>
debug affiche la requête vers l’API HAL pour aider au débogage
<hal|debug=oui>
dernieres_publications ajouté comme une classe (voir exemple),
si renseigné, on force le tri sur le critère publicationDate_tdate et on ajoute un lien vers le CV de l’auteur et/ou le portail de la collection
<hal|dernieres_publications|collection=CEPED>
masquer_lien valable uniquement si dernieres_publications est renseigné.
si masquer_lien=oui, on n’affiche pas les liens voir toutes publications après la liste des résultats
<hal|dernieres_publications|auteur=joseph-larmarange|masquer_lien=oui>
halid retourne le document unique correspondant au HALid (attention à ne pas confondre le HALid d’une référence et l’idHAL d’un auteur)
<hal|halid=ird-03950125>
doi retourne le document unique correspondant au doi
<hal|doi=10.1371/journal.pone.0280479>

Insérer le modèle

Le plugin est compatible avec Plugin Insérer Modèles

Il facilite l’insertion du modèle dans votre site

Avec un assistant pour accompagner vos rédacteurs

Personnaliser le modèle

Pour l’aspect graphique, il suffit de définir vos propres CSS pour habiller graphiquement le modèle. Le modèle fourni par défaut est très proche du rendu du portail hal.science.

Si le modèle ne vous convient pas en terme de balisage HTML ou de choix des champs à afficher, il est possible de le surcharger en modifiant le fichier

public/hal.html

Alternatives

Le présent plugin est une évolution de HAL Pub et a vocation à le remplacer.

Il existe deux autres plugins SPIP liés à HAL, mais non référencés sur Contrib. Ces plugins continuent à être maintenu par kent1D et sont compatibles SPIP 4+.

  • SPIP HAL qui ajoute les références en HAL en base de données
  • HAL auteurs qui permet de lier les auteurs et des publications HAL

Discussion

2 discussions

  • 4

    Bonjour

    Je viens de tester cette nouvelle version en remplacement de la version HAL_Pub. C’est très bien parce qu’elle est fonctionnelle avec spip 4.2.4 contrairement à l’autre.
    Elle fonctionne mais sur la mise en ligne des publications d’une structure, avant j’avais la possibilité d’avoir un tri , par Année, par type de publication. Et j’avais l’ensemble des publications sous format paginé. Idem pour la recherche par un auteur

    Sur cette version, par défaut, non. Est-ce que vous pourriez m’indiquer ce qu’il faut mettre pour les récupérer ? je cherche dans la doc Hal, mais je ne trouve pas.

    J’avais avec Hal_pub la requete <hal_pub|q=XXXX|cacher_q=oui> que j’ai transformé en <hal|q=labo|cacher_q=oui>.
    cf image en PJ pour le tri avec Hal_pub
    avec Hal_m j’ai directement les publications de la structure, jusq’ua nombre max indiqué dans la conf.

    Que dois je mettre pour récupérer les éléments de tri et la pagination ?

    merci de votre aide

    • Bonjour,

      la logique de cette version est volontairement plus simple que ce que proposait HAL Pub. Il n’y a pas de liste paginée ou de formulaire de personnalisation. On part du principe que HAL fournit déjà un portail pour les collections de labo permettant d’effectuer tout type de recherche avancée.

      Il s’agit donc ici de proposer une intégration plus simple pour un site de labo, qui s’appuie en même temps sur les portails HAL.

      Voici un exemple d’intégration pour l’UMR Ceped :

      Sur la page d’accueil https://www.ceped.org/, le squelette liste les dernières publications et renvoie vers le portail complet de l’unité https://hal.science/CEPED. C’est l’équivalent du modèle <hal|dernieres_publications|collection=CEPED>

      Sur une page chercheur, exemple https://www.ceped.org/?larmarange-joseph, on affiche ses dernières publications et on ajoute un lien vers son CV (https://cv.hal.science/joseph-larmarange), avec le modèle <hal|dernieres_publications|auteur=joseph-larmarange>.

      Sur une page projet de recherche, exemple https://www.ceped.org/princesse, quand le projet a créé sa propre collection dédiée, on affiche les dernières publications et le lien vers la collection dédiée https://hal.science/ANRS_12381_PRINCESSE avec le modèle <hal|dernieres_publications|collection=ANRS_12381_PRINCESSE>

      Cette approche, plus simple, facilite grandement la maintenance sur le long terme et évite d’avoir à recréer tout un système de recherche, pagination, tri.

      Comme les fonctionnalités sont différentes, c’est une des raisons pour laquelle il a été choisi de faire un nouveau plugin et non une évolution de HAL pub. Les paramètres du modèle sont également simplifiés (puisque l’on peut la plupart du temps éviter d’avoir à utiliser la requête générique q).

      Il me semble qu’un portage de HAL pub en 4.2 posait également un souci car il n’est plus possible d’inclure un formulaire dans un modèle, mais Erational sera mieux à même que moi de répondre sur ce point.

    • Merci pour ce retour rapide. je comprends la démarche de simplification, et je note les exemples de mises en oeuvre. Le renvoi vers la page HAL du labo est certainement plus pertinente (on gagne aussi en ressources serveur sur le tri et affichage de la page, c’est indéniable).
      Cela dit, c’était bien utile de pouvoir rester dans l’environnement du site de labo pour avoir les infos globales selon le besoin.

    • Je laisserai erational revenir sur ce point, et les aspects techniques impliqués.

      Il me semble que cela passerait plutôt par un squelette (qui peut appeler les modèles de HAL bibliographie) plutôt que par un modèle avec formulaire.

      Dans tous les cas, ce type de fonctionnalité relèverait plutôt d’un plugin complémentaire que d’une complexification de ce modèle.

      Peut-être faudrait-il plus voir du côté de https://github.com/kent1D/spip_hal qui synchronise la collection en base de données et permet du coup de faire des requêtes plus complexes ensuite ?

    • Bonjour

      Je rejoins les remarques de Joseph.

      Ce nouveau plugin fait le choix de simplifier le modèle d’affichage.
      Le modèle affiche uniquement la requête demandée et on évite ainsi d’avoir un formulaire et une pagination qui complique la mise en œuvre.
      Cela permet un affichage simple sur les pages des laboratoires.
      On profite aussi du cache de SPIP.

      De plus la partie recherche et pagination est l’apanage du portail HAL.search qui le fait très bien.

    Répondre à ce message

  • 2

    J’ai pas encore trop pigé en lisant les deux docs + les deux codes sources : sans parler des plugins de kent1 qui changent la base, il y avait déjà le plugin « hal_pub » que tu as utilisé aussi, du coup c’est quoi la différence ?
    https://git.spip.net/spip-contrib-extensions/hal_pub

    S’il y a deux utilisations légèrement différentes avec deux modèles, n’y avait-il pas la possibilité d’avoir tout simplement les deux modèles fournis dans le même plugin, plutôt que deux plugins totalement différents qui font 99% la même chose : aller chercher dans l’API JSON dans une boucle DATA, et en générer du HTML dans un modèle.

    Pourquoi donc deux plugins si proches ? (et donc deux dépôts, deux documentations, etc)

    • Tu as raison dans l’absolu .... Mais les paramètres des deux plugins ont totalement changé et il n’y avait aucune compatibilité entre les deux modèles. J’ai archivé l’ancien dépôt. Et au moins on a un plugin propre et documenté (contrairement à des plugins fantômes trouvé sur github ou sur nombreux plugins sur la zone sans aucune doc).

    • Ah ok pigé, donc il remplace plutôt l’autre, et désormais il faut maintenir celui là. :)

      (Pour info, en principe il est parfaitement légitime et faisable, si on veut, de casser la compatibilité d’un plugin en changeant sa version majeure, et du coup continuer de n’avoir qu’un seul dépôt et rubrique qui remonte sur contrib.)

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom