Exemple d’utilisation
Le plugin permet sur un site SPIP d’interroger le portail bibliographique HAL et d’afficher des publications scientifiques.
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ètre | Explications | Exemple |
---|---|---|
q |
requête de recherche sur l’API HAL https://api.archives-ouvertes.fr/docs/search |
|
collection |
restreindre à une collection, indiquer l’identifiant de la collection, tel qu’il apparit dans l’URL du portail de la collection |
|
auteur |
restreindre à un auteur à partir de son idHAL , pour une recherche sur le nom d’un auteur, utilisez le paramètre q |
|
max |
nombre maximum de résultats affiché de 0 à 10000. Valeur par défaut défini dans panel de configuration du plugin sinon 10 |
|
tri |
indique le tri de requête. par défaut par pertinence https://api.archives-ouvertes.fr/docs/search/?#sort |
|
debug |
affiche la requête vers l’API HAL pour aider au débogage |
|
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 |
|
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 |
|
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) |
|
doi |
retourne le document unique correspondant au doi |
|
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
Discussions par date d’activité
2 discussions
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
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 :
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.
Suivre les commentaires : |