plugin refbase

refbase est une application PHP/MySQL permettant de gérer une base de références bibliographiques en ligne.

Ce plugin fournit un modèle <refbase> permettant d’extraire des références d’une base refbase en ligne et de les intégrer ainsi dans SPIP.

Présentation de refbase

refbase est une application libre et gratuite, écrite en PHP / MySQL, permettant de gérer une base de références bibliographiques en ligne.

refbase peut importer et exporter des références bibliographiques dans différents format (incluant BibTeX, EndNote, RIS, PubMed, ISI Web of Science, CSA Illumina, RefWorks, MODS XML, OpenOffice, and MS Word).

Il peut mettre en forme une liste de citations en HTML, RTF, PDF, or LaTeX, et il offre des outils puissants de recherche ainsi que la possibilité de transformer sa recherche en flux RSS.

Par ailleurs, il génère nativement des COinS ce qui permet, entre autres, d’importer très facilement des références avec l’excellent Zotero ou encore de récupérer facilement la version complète d’une référence à partir des technologies OpenURL [1].

Il est également possible de tester refbase en ligne : http://demo.refbase.net/.

Pré-requis et installation

Attention : ce plugin ne contient pas le logiciel refbase. Il permet simplement d’interroger une base de données refbase externe et d’afficher les résultats dans SPIP. Pour pouvoir utiliser ce plugin, vous devez donc disposer d’une installation externe de refbase. Si vous souhaitez simplement et facilement ajouter des références bibliographiques à vos articles, le plugin Cite : des modèles pour les références bibliographiques sera peut-être plus adapté.

La base refbase n’a pas besoin d’être installée sur le même serveur que SPIP.

Le comportement par défaut du plugin peut être configuré à l’aide du plugin cfg. Si le plugin cfg n’est pas indispensable au fonctionnement du plugin, son utilisation est fortement conseillée.

MÀJ : à partir de la version 2 (SPIP 3 minimum), le plugin CFG n’est plus nécessaire pour la configuration du plugin refbase. Le formulaire de configuration est directement accessible dans le menu Squelettes.

L’installation du plugin refbase est classique (voir la documentation officielle).

Le plugin refbase est développé sur SPIP-Zone et peut donc être récupéré par SVN.

Vous pouvez aussi récupérer le fichier ZIP (voir ci-contre) produit à partir de SPIP-Zone ou bien utiliser la fonction auto de SPIP 2.0.

Vos squelettes doivent intégrer la balise #INSERT_HEAD afin que soient appelés dans vos pages les styles css nécessaires au modèle et la fonction javascript utilisée pour déplier les blocs de la vue Citations.

Pourquoi ce plugin ?

refbase propose différents moyens pour intégrer des références dans son site web (voir http://www.refbase.net/index.php/In...), via une <iframe> (voir exemple ou en AJAX (voir exemple).

Cependant, une iframe ne s’intègre pas toujours de manière judicieuse dans une page web, notamment car on ne peut prédire sa taille à l’avance. Dans le cas du recours aux technologies AJAX, les COinS ne sont pas forcément détectés par le navigateur et, en particulier, par des outils tels que Zotero.

Ce plugin est né de l’objectif de fournir un modèle permettant d’insérer simplement dans un article une liste de références extraites de refbase en les intégrant directement dans le code HTML générés par SPIP. De fait, la liste apparaît comme faisant partie intégrante de la page. les COinS sont correctement détectés et la liste est indexée par les moteurs de recherche.

Configuration du comportement par défaut

À l’aide du plugin cfg, il est possible de configurer une liste de paramètres utilisés par défaut lors d’un appel au modèle <refbase>. Chacun de ses paramètres peut également être passé directement lors de l’appel du modèle. Une valeur passée directement au modèle a priorité sur la valeur par défaut.

On peut par exemple décider que par défaut les doublons ne sont pas affichés. Néanmoins, il est possible, dans un article donné par exemple, de forcer l’affichage des doublons en passant directement ce paramètre au modèle : <refbase|doublons=oui>.

Configuration du plugin avec CFG

url_refbase

Il s’agit de l’URL de la base refbase d’où sont extraites les références. Elle doit être fournie avec avec un http:// initial et un / final. Par exemple : http://demo.refbase.net/.

ATTENTION : si aucune URL par défaut n’a été définie avec CFG, il sera nécessaire de préciser ce paramètre à chaque appel du modèle.

vue

Quatre vues différentes sont possibles lors de l’affichage d’une liste de références. Ce paramètre accepte donc quatre valeurs possibles : citations (par défaut), liste, details et recap.

La vue recap étant particulière et nécessitant d’être accompagnée du paramètre par, elle n’est pas proposée dans la configuration par défaut avec cfg.

<refbase|vue=citations> produira :

Vue Citations

Note : certains remarqueront un lien Check OpenResolver à côté des références. Ce lien est rajouté par l’extension OpenURL Referrer installée sur mon navigateur internet. Cela traduit la présence d’un COinS. En l’absence de cette extension, le lien sera simplement absent.

Dans la vue Citations, il y a sous chaque référence un bloc dépliable avec l’abstract de la référence, ses mots-clés et différentes options d’export. Voir un exemple ci-dessous :

Vue Citations, avec les options dépliées

<refbase|vue=liste> produira :

Vue Liste

<refbase|vue=details> produira :

Vue Détails

La vue recap permet de présenter un comptage des différentes références bibliographiques selon un champs donné qui doit être passé au modèle à l’aide du paramètre par. Le nom de ce champs doit correspondre à l’un des champs SQL de la base refbase (par exemple : author, publication, type, issue, series_title, created_date, edition, serial...).

<refbase|vue=recap|par=author> produira :

Vue Récap

liens

À droite des citations sont affichés différents liens externes renvoyant vers différents outils en ligne (résolveur OpenURL, résolveur de DOI, version PDF en ligne...). Il est possible de ne pas afficher ces liens avec le paramètre liens=non.

<refbase|vue=citations|liens=non> produira :

Vue Citations, sans les liens externes

max

Permet de spécifier le nombre maximum de références affichées. Prend un nombre entier comme valeur. Par exemple : <refbase|max=20>

doublons

Permet de spécifier les références entrées en double doivent être affichées ou non. Deux valeurs possibles : oui ou non.

tri

Spécifie l’ordre d’affichage des références. Cinq valeurs possibles :

  • annee : tri par année décroissante.
  • auteur : tri alphabétique par auteur.
  • type : tri par type de références (articles, livres, chapitres, thèses...)
  • type-annee : tri par type de références puis par année décroissante.
  • date-creation : tri par date de création dans la base décroissante.

Exemple : <refbase|tri=annee> produira :

Tri par année

style

Ce paramètre n’a d’effet que sur la vue citations. Il précise le style de référence à utiliser. Les styles installés par défaut avec refbase sont :

  • APA
  • AMA
  • MLA
  • Chicago
  • Harvard 1
  • Harvard 2
  • Harvard 3
  • Vancouver
  • Deep Sea res
  • J Glaciol
  • Mar Biol

Exemple : <refbase|style=MLA> produira :

Style MLA

liens_exports

Ce paramètre n’a d’effet que sur la vue citations. Il permet d’afficher ou de masquer le bloc dépliant avec l’abstract et les options d’exports. Deux valeurs possibles : oui ou non.

Exemple : <refbase|liens_exports=non> produira :

Citations sans les options d’export

css

Les résultats importés depuis refbase sont englobés dans un <div> avec la classe refbasecss. Suivant vos squelettes, il est possible que le modèle soit affiché avec des caractères trop petits ou trop grands. Il est possible, avec le paramètre css, de passer des informations de style au <div> englobant.

Par exemple, pour afficher le texte du modèle dans une police plus grande, on pourra faire : <refbase|css=font-size:1.25em;>.

Les paramètres de sélection

Bien entendu, le plus souvent on ne souhaite pas afficher toutes les références de la base dans une sélection de celles-ci. Plusieurs paramètres de sélection sont disponibles.

voir

Le paramètre voir=tout permet de sélectionner toutes les références de la base.

auteur

Permet de sélectionner les références d’un auteur en particulier. <refbase|auteur=Einstein> sélectionnera toutes les références écrites par une personne s’appelant Einstein. En cas d’homonymie, on pourra préciser le prénom ainsi : <refbase|auteur=Einstein, Albert>.

institution

Permet d’afficher une bibliographie institutionnelle en passant au paramètre le sigle de l’institution. Par exemple : <refbase|institution=IPO>. Pour plus d’informations sur cette fonctionnalité, voir la documentation de refbase.

type

Permet de sélectionner un type de références. Le nom du type doit être entré en anglais tel qu’il apparaît dans refbase. Pour voir les différents types disponibles dans une base, aller dans la recherche avancée sur le site de la base en question. Les types les plus courants sont Journal Article, Book Whole, Book Chapter, Thesis...

Pour n’afficher que des articles de revue scientifique, on écrira <refbase|type=Journal Article>.

titre

Permet d’effectuer une recherche sur un ou plusieurs mots du titre. <refbase|titre=nucleotide> pour les références dont le titre contient nucleotide. On peut également transmettre une expression régulière. Ainsi, <refbase|titre=^nucleotide> ne renverra que les références dont le titre commence par nucleotide.

motcle

Sélectionne les références partageant le mot-clé entré.

journal

Sélectionne les articles parus dans une revue particulière. Par exemple, pour sélectionner les articles parus dans The Lancet : <refbase|journal=Lancet>.

identifiants

Chaque référence dispose d’un identifiant unique dans refbase. Cet identifiant est visible dans la vue details. Il s’agit du dernier champs, en bas à droite, intitulé Serial. L’identifiant d’une référence est également visible dans le lien permanent vers cette référence. En effet, ce lien permanent est de la forme show.php?record=1234 où 1234 est l’identifiant de la référence.

Le paramètre identifiants permet de sélectionner une ou plusieurs références à partir de leur identifiant. <refbase|identifiants=12> pour sélectionner la référence 12. <refbase|identifiants=12,18,54,35> pour sélectionner les références 12, 18, 35 et 54.

doi

Permet de sélectionner une référence à partir de son DOI. Par exemple : <refbase|doi=10.1002/Fps.1582>. On peut également passer uniquement une partie d’un DOI. <refbase|doi=10.1002> sélectionnera toutes les références dont le DOI contient 10.1002.

annee

Sélectionne les publications d’une année donnée. <refbase|annee=2005> sélectionnera toutes les publications parues en 2005.

depuis

Ce paramètre peut prendre deux formes :

  • <refbase|depuis=2007> sélectionnera les références publiées à partir de 2007.
  • <refbase|depuis=3ans> sélectionnera les références publiées cette année et les deux années précédentes.

where

Ce paramètre est le plus puissant. Il permet de réaliser des sélections avancées. Par exemple, pour sélectionner des chapitres d’ouvrage parus avant 2005 et dont le nom de l’auteur commence par un A on fera : <refbase|where=author RLIKE "^A" AND year < 2005 AND type RLIKE "Book Chapter">.

Le plus simple pour connaître la syntaxe à utiliser consiste à effectuer la recherche en question sur le site de la base refbase en question. Sur la page présentant les résultats de votre recherche, refbase vous proposera un lien vers un flux RSS correspondant à cette recherche. Ce lien sera de la forme http://mabaserefbase.net/rss.php?where=author RLIKE "^A" AND year < 2005 AND type RLIKE "Book Chapter"&showRows=5. Il suffit dès lors de recopier la valeur du paramètre where de l’URL.

Note : il est possible, pour ce paramètre, de lui passer directement une version « URL encodée ». Ainsi, l’exemple précédent devient : <refbase|where=author%20RLIKE%20%22%5EA%22%20AND%20year%20%3C%202005%20AND%20type%20RLIKE%20%22Book%20Chapter%22>.

Tableau récapitulatif des paramètres du modèle

Paramètre Description Valeurs possibles
Paramètres de sélection
voir Affiche toutes les références. une seule : voir=tout
auteur Sélectionne les références d’un auteur donné. texte
institution Sélectionne les références d’une institution, typiquement celles d’un laboratoire de recherche. Sigle de l’institution
type Sélectionne les références d’un type précis (livres, articles...). Le nom du type en anglais tel qu’il est utilisé dans refbase. Par exemple : Journal Article
titre Recherche sur le titre des ouvrages. texte
motcle Sélectionne les références ayant le mot-clé spécifié. texte
journal Sélectionne les articles parus dans la revue spécifiée. texte
identifiants Sélectionne des références à partir de leur identifiant. Un entier (12) ou une liste d’entiers séparés par une virgule (12,45,67) .
doi Sélectionne des références à partir de leur DOI. texte
annee Sélectionne les références publiées cette année-là. nombre entier
depuis Sélectionne les références publiées depuis une certaine durée ou depuis une année donnée. Soit une année (2003), soit une durée en année (3ans sans espace).
where Sélection avancée à partir de critères SQL. condition SQL (voir plus haut)
Paramètres d’affichage
url_refbase URL de la base refbase à interroger. URL commençant par http:// et se terminant par /.
vue Détermine la vue affichée. 4 possibilités : citations, liste, details ou recap
par Critère de regroupement (vue=recap seulement) nom d’un des champs SQL de refbase
liens Afficher les liens externes. oui ou non
max Nombre maximum de résultats affichés nombre entier
doublons Afficher les références en double. oui ou non
tri Ordre d’affichage des résultats. Cinq possibilités : annee, auteur, type, type-annee, date-creation
style Style de mise en forme des références (vue citations uniquement) texte (doit correspondre à l’un des styles disponibles sur cette base refbase)
liens_exports Afficher l’abstract et les options d’exports (vue citations uniquement) oui ou non
css Styles CSS à appliquer au <div> englobant les résultats. code CSS

Citer une seule référence

Il est également possible d’appeler le modèle de manière plus classique en lui passant un identifiant de référence, par exemple <refbase14225>. Dès lors, le modèle renvoie simplement la référence mise en forme et accompagnée d’un COinS. Le résultat est inséré dans le flux de texte. On obtient avec notre exemple :
Aalkjaer, C., & Cragoe, E. J. J. (1988). Intracellular pH regulation in resting and contracting segments of rat mesenteric resistance vessels. Journal of Physiology-London, 402, 391–410.

On peut également utiliser cette référence dans une note de bas de page. ATTENTION : l’écriture [[<refbase14225>]] ne fonctionnera pas mais produira : [2]. Il faut mettre du texte en début de note pour éviter que SPIP interprète le modèle comme le nom de l’appel de note. Un simple espace suffit.
Ainsi [[ <refbase14225>]] produira [3].
On peut également faire un appel de note personnalisé : [[<Aalkjaer 1998><refbase14225>]] produira [4].

Personnalisation

Il est possible de personnaliser la mise en forme du modèle en surchargeant le fichier refbase.css.

Syntaxe anglaise alternative

Afin que le modèle soit d’un usage simple pour les utilisateurs anglophones, les différents paramètres existent également dans leur forme anglaise. Dans cette version, nous avons privilégié l’API native de refbase (voir la documentation de refbase).

Si un même paramètre est passé au modèle à la fois sous sa forme française et sa forme anglaise, alors la forme anglaise est privilégiée.

Le tableau ci-dessous fournit la correspondance entre la syntaxe française et la syntaxe anglaise.

Syntaxe française Syntaxe anglaise
Paramètres de sélection
voir=tout records=all
auteur author
institution contribution_id
type type
titre title
motcle keywords
journal publication
identifiants=12 records=12
identifiants=12,15,34 records=12,15,34
doi doi
annee year
depuis=2003 since=2003
depuis=1an since=1y ou since=1year
depuis=3ans since=3y ou since=3years
where where
Paramètres d’affichage
url_refbase url_refbase
vue=citations submit=Cite
vue=liste submit=List
vue=details submit=Display
vue=recap submit=Browse
par by
liens=non showLinks=0 ou showLinks=no
liens=oui showLinks=1 ou showLinks=yes
max=20 showRows=20
doublons=oui showDups=1 or showDups=yes
doublons=non without=dups ou showDups=0 or showDups=no
tri=annee citeOrder=year
tri=auteur citeOrder=author
tri=type citeOrder=type
tri=type-annee citeOrder=type-year
tri=date-creation citeOrder=creation-date
style citeStyle
liens_exports=oui showAbstract=1 ou showAbstract=yes
liens_exports=non showAbstract=0 ou showAbstract=no
css css

Aide à la saisie avec Insérer Modèles

Si le plugin Insérer Modèles est installé sur votre site, alors vous disposerez d’un formulaire vous permettant de générer l’appel au modèle dans vos articles.

Pour plus d’informations, voir la documentation du plugin Insérer Modèles.

Notes

[1Je vous conseille à ce sujet OpenURL Referrer, une extension pour Firefox et Internet Explorer détectant les COinS contenus dans une page web.

[2<refbase14225>

[3Aalkjaer, C., & Cragoe, E. J. J. (1988). Intracellular pH regulation in resting and contracting segments of rat mesenteric resistance vessels. Journal of Physiology-London, 402, 391–410.

[4<Aalkjaer 1998>Aalkjaer, C., & Cragoe, E. J. J. (1988). Intracellular pH regulation in resting and contracting segments of rat mesenteric resistance vessels. Journal of Physiology-London, 402, 391–410.

Discussion

22 discussions

  • 3

    Bonjour !

    Savez-vous si ce plugin fonctionne en 3.1 ? Qui à testé la bidouille du marqueur de compatibilité du plugin ?… Je dois mettre à jour un site, et ce plugin m’est juste indispensable…

    Merci d’avance !

    • Bonjour,

      je ne pense pas que quelqu’un a déjà essayé ce plugin sous la dernière version de Spip.

      A priori, je ne pense pas qu’il y ait de problème mais il faudrait faire des tests. Pour cela, tu peux télécharger le plugin et juste modifier la limite de compatibilité avec SPIP dans le fichier paquet.xml afin de pouvoir l’activer sur un SPIP récent.

      Si jamais cela fonctionne sans problème, n’hésite pas à le mentionner ici sur le forum.

    • Autant pour moi, dans les commentaires, quelqu’un a signalé en décembre 2019 des problèmes de compatibilité (https://contrib.spip.net/plugin-refbase#comment503384-503356) mais sans identifier la source du problème.

    • Ah zut merci pour l’info !.
      En 3.2 on a donc la réponse… Un test en 3.1 serait encore nécessaire du coup, je vais peut-être essayer, si je teste je viens donner l’info ici.

      Merci !

    Répondre à ce message

  • 3

    Bonjour,
    Les inclusions refbase par le plugin ne fonctionnent pas sous spip 3.2, est-il prévu une mise à jour de compatibilité ?
    Merci,

    • Bonjour,

      le logiciel Refbase n’a pas été mis à jour depuis 2008. Pour ma part, je n’ai plus que très peu de temps à consacrer au suivi des plugins.

      A moins que quelqu’un décide de faire évoluer ce plugin sur la zone, il y a des chances qu’il n’y ait plus d’évolution.

      Ceci dit, il me semble que le plugin Zotspip est une bonne alternative, et plus pérenne.

      Cdlt

    • PS : peux-tu décrire un peu plus précisément le problème que tu rencontres ? Est-ce juste que le plugin ne s’active pas sous SPIP 3.2 car pas indiqué comme compatible ?

      Si c’est le cas, essaie de modifier la borne de compatibilité dans le fichier paquet.xml et de voir si tu peux l’activer sous SPIP 3.2.

      Cdlt

    • Merci Joseph pour ce retour.
      Le plugin est bien activé (et mis en compatibilité 3.2.* dans le fichier paquet.xml) et tout a l’air de fonctionner (je n’ai pas réussi à trouver d’erreur sur le serveur par exemple) mais rien ne s’affiche sur les pages à l’emplacement des balises d’inclusion . Je n’ai pas trouvé comment débugger efficacement pour trouver là où l’inclusion bloque.

      je vais regarder du côté de Zotspip qui semble en effet intéressant.

    Répondre à ce message

  • 2

    Bonjour Joseph, je suis actuellement sur un site de chercheurs, on me demande s’il est possible en cas d’ajout de publication sur refbase, d’avoir une création automatique d’un article spip annonçant cette publication ? Qui lui même serait relayé ensuite sur une mailing list etc.. Merci !

    • Refbase devrait avoir un flux RSS des derniers ajouts. Ce flux peut être syndiqué dans SPIP. Il suffit de faire une mailing liste automatique à partir des derniers articles syndiqués.

    • Regarde le paramètre where des modèles dans la doc.

    Répondre à ce message

  • 4

    merci pour le plugin.
    j’ai eu un petit soucis si l’on tente d’intégrer la balise directement dans un squelette si on veut passer des arguments à #REFBASE.
    La solution [(#MODELE{refbase}{param})] ne semble pas passer non plus.

    J’ai peut-être mal compris l’utilisation du modèle ...
    Actuellement, j’ai ajouté un patch qui teste si des options sont passées pour les prendre comme variable d’environnement
    cela permet des écritures du type

    [(#REFBASE{style=MLA|vue=citations|par=notes|max=10|auteur=#GET{like_search}})]

    le code dans refbalise_balise.php

    function calculer_balise_REFBASE($env, $option=''){
      /*
      patch pour appel depuis squelette 
       on convertit les options en variable environnement
    
      */
      if ($option!="") {
            $env_parts = explode("|",$option);
            foreach ($env_parts as $env_part) {
                  $env_part_val = explode("=",$env_part);
                  if (isset($env_part_val[1])) {                    
                         $env[$env_part_val[0]] = $env_part_val[1];
                  } 
            }
        
      }
      // le reste de la balise. 
     // ....
    • L’usage usuel est en premier l’appel du modèle via le texte d’un article.
      La balise #REFBASE cherche en fait l’ensemble des paramètres parmi les variables d’environnement. La seule option que l’on peut passer directement à la balise est #REFBASE’lien_requete’ pour ne renvoyer que le lien de la requête vers RefBase et non le résultat du lien.

      Si tu as besoin d’utiliser directement le modèle dans un squelette, je te suggère de faire : <INCLURE{fond=modeles/refbase,style=MLA&vue=citations&par=notes&max=10}>

      Ca devrait marcher (à vérifier).

      Pour info, j’ai pour ma part abandonné RefBase (le développement étant peu actif et quelques soucis avec PHP5, l’internationalisation ou les possibilités d’import/export) pour Zotero, en couplant une biblio Zotero avec SPIP. Voir Le plugin ZotSpip.

      Cordialement

    • J’oubliai, concernant ton patch, tu peux commiter sans problème. Je n’y ai aucune opopposition. C’est même une idée ingénieuse (pour ma part je n’ai jamais eu ce besoin).

      Il faut juste assurer la rétrocompatibilité de #REFBASE{’lien_requete’} pour ceux qui l’utilise.

      Amicalement

    • Merci beaucoup à Joseph pour le plugin, et un autre merci pour ce patch à erational, car c’est une fonction à avoir en natif qui à bien marché pour moi !

    • Bonjour !

      J’essaye de faire ceci avec le patch actif :

      <!-- #SET{ma_regexpauteur, [(#NOM|match{^\w+?})], [(#NOM|match{#GET{ma_regexp}, Uims}|couper{1})] -->
       (me retourne un truc du genre Dupond, R)
      
      [		<h3>Publications 2</h3>
      (#REFBASE{style=MLA|vue=citations|par=notes|max=100|auteur=[(#GET{ma_regexpauteur})]})<hr>]

      Mais ça me retourne je crois toutes les publis, ou un grand nombre…

      Vous avez une idée ? (ps : je suis obligé d’utiliser ce logiciel, et pas zotero dans mon cas.) merci !

    Répondre à ce message

  • 2

    Pour Info :
    Refbase 0.9.6 vient de sortir http://sourceforge.net/p/refbase/news/
    Des modifs ont été faites sur le fichier search.php : http://sourceforge.net/p/refbase/code/1378/

    Et le plugin ne fonctionne plus depuis.

    Jean-Yves

    • En fait, plus précisément je constate que c’est la « Vue Recap » qui ne fonctionne plus.

      JYves

    • Bonjour, je n’utilise plus refbase depuis plusieurs années, ayant adopté ZotSpip.

      Il semble que la nouvelle version de l’API de refbase ne permette plus de faire ce genre de recherche. Dès lors, il faut soit se passer de la vue recap soit modifier Refbase pour l’autoriser à nouveau pour un non admin.

      Cordialement

    Répondre à ce message

  • 2

    Pour info

    j’ai eu un certain nombre de problèmes lors de la mise a jour de notre serveur, l’ancienne version de refbase (encore sur l’ancien serveur) que nous utilisions n’était plus compatible (avec le plug-in). Je suppose une incompatibilité de version php.

    -  le plugin fonctionnait correctement sur l’ancien serveur avec spip3+refbase plug-in.
    -  Sur le nouveau serveur spip3+refbase plug-in acceptait de fonctionner avec le site demo.refbase.net.

    du coup j’ai du faire une copie de la base sql de refbase sur le nouveau serveur et installer la version bleeding-edge de refbase ( svn sourceforge ), maintenant tout fonctionne.

    • Bonjour,

      RefBase n’a pas évolué depuis plusieurs années, restant toujours en version 0.9.5 non compatible avec PHP 5. Il y a certes une version de développement mais le projet n’est plus dynamique.

      Personnellement, j’ai décidé de migrer vers Zotero pour gérer les références bibliographiques en l’interfaçant avec SPIP via le plugin ZotSpip. Cela s’avère beaucoup plus puissant et efficace et l’intégration dans SPIP est bien meilleure.

      Du coup, je ne suis plus que de loin RefBase.

      Bien cordialement

    • olivier

      oui j’avais déjà lu ton commentaire précédent , mais comme il y a beaucoup d’inertie, on va continuer a l’utiliser quelque temps . J’aime beaucoup zotero mais le coté quasi impossible (car non documenté ) de disposer de son propre serveur me décourage de le mettre en place comme ressource communautaire.

      j’avais pensé un moment regarder du coté de jabref qui propose un sauvegarde dans un base sql, mais je n’ai pas eu le temps de creuser ça.

      donc tant que refbase marche ca me va. :)

    Répondre à ce message

  • Quelques petites astuces :

    • comme la gestion des groupes/tag est mauvaise dans refbase, et comme souvent on a envie d’effectuer une recherche sur un groupe d’individus, le moyen le plus simple d’y arriver est d’utiliser le filtre « where »
      <refbase|where= author RLIKE "Einstein" OR author RLIKE "Landau" OR author RLIKE "Moi" >
    • les notes de pied de page sont très pratique , on peut copier partiellement leur fonctionnement en utilisant les ancres présentes dans le code de refabse.
      Si l’article a l’id 2453 ( regarder vers ou pointe la loupe/lien ) on peut créer un lien [1] dans le corps du texte.

    [[1]->#ref2453]

    j’espère que cela aidera quelqu’un

    Répondre à ce message

  • 7

    Bonjour,

    Tout d’abords, merci pour votre plugin.

    Je vous contacte car j’ai un souci, mais je pense qu’il s’agit plutot de refbase (mais peut être pouvez-vous m’aider ?).
    J’ai installé refbase sur une CentOS 5, php 5.3, MySQL 5, en manuel et avec l’installation automatique.
    La base est bien en UTF-8 mais malgré cela les accents ne sont pas prit en compte dans l’affichage, que ce soit sur refbase ou via le plugin (logique).
    Par contre, si je saisi directement une entrée dans la base (via phpmyadmin par exemple), les accents sont bien affichés par refbase.
    Auriez-vous une idée d’où regarder svp ?

    Merci d’avance pour votre aide.

    • Apres divers essai,
      J’ai fini par trouver :
      Donc c’était bien au niveau de refbase et pas du plugin qu’il fallait faire les manips :

      Apres une installation de la base en UTF-8, il faut modifier dans initialize/ini.inc.php la variable « $contentTypeCharset » en UTF-8 puis réencoder ini.inc.php en « unicode (UTF-8, no BOM) »

      Après cette opération les accents apparaissent parfaitement.

      Merci encore pour votre plugin !

    • Bonjour,

      il s’agissait effectivement d’une question de configuration de RefBase. Attention, vous pouvez parfois avoir des problèmes avec PHP 5, RefBase ayant été développé avec PHP 4.

      Le principale souci de Refbase est le manque de dévelopemment : aucune nouvelle version n’est sortie depuis longtemps.

      Pour ma part, je m’otiente vers une alternative reposant sur Zotero. La base bibliographique est alors une librairie Zotero partagée qui se synchronise avec Spip. J’ai un prototype de plugin qui devrait pouvoir être distribué d’ici quelques semaines.

      Cordialement

    • Merci pour vos indications.

      Il me semblait que Zotero n’était qu’un plugin pour firefox.
      Comment assurez vous la disponibilité de la base ?

      Je serait interessé par votre expérience si vous le voulez bien. Notre projet est visiblement proche du votre (assurez la disponibilité des publications via notre site web) et j’en suis au choix du logiciel.
      Refbase c’est imposé grâce à votre plugin mais je ne suis pas fermé sur le choix.

      Merci d’avance !

    • Zotero est à la fois une application client (appli autonome ou extension firefox) et un serveur. En se créant un compte sur le site de Zotero, ses références sont alors synchorniser entre ses différents clients et le serveur. Il est aussi possible de consulter/modifier la librairie en ligne. Enfin, on peut créer des groupes qui sont des librairies paratgées entre plusieurs utilisateurs. Le serveur Zotero dispose d’une API.

      J’ai créé un plugin ZotSpip qui permet de synchroniser une librairie (personnelle ou partagée) avec un site SPIP. Le plugin est toujours en dev mais est fonctionnel. Mais tout n’est pas finalisé.

      Pour le moment, la synchronisation avec Zotero est opérationnelle. Des modèles sont déjà disponibles pour inclure une biblio dans un article. Par exemple <biblio|auteur=Larmarange, Joseph|depuis=3ans>. La mise en forme des références utilise les styles CSL (donc un choix de plusieurs milliers de styles). L’export est géré vers les principaux formats (RIS, BibTeX, RDF Zotero, Dublin Core, MODS...).

      Il reste encore à prendre en charge les collections, finaliser les modèles, personnaliser l’ordre de tri des types de références, des squelettes pour une recherche avancée dans les références, une iterface privé pour gérer auteurs et mots-clés (et permettre la fusion d’auteurs...)

      En parrallèle, je suis en train de développer un second plugin pour faciliter la production d’une biblio pour une évaluation AERES. La biblio de l’unité est présenté dans le format AERES. Par ailleurs, les membres de l’unité peuvent consulter leur biblio personnelle et indiquer les corrections et ajouts à effectuer (le tout étant lié au plugin tickets kiss).

      C’est fonctionnel mais en développement, non encore suffisamment finalisé pour être diffusé sur Contrib et il peut encore y avoir des bugs.

      Si vous le souhaitez, avec tous les risques que représentent une version en dev, je peux la déposer sur le SVN de la zone ou vous envoyer une copie par emaiol pour test.

      Cordialement

    • Bonjour et merci pour votre réponse,

      Je ne suis pas sur que cela corresponde réellement à notre besoin pour l’instant. La base de biblio devant être maintenue par une secrétaire, il faut vraiment que le tout soit très facile à gérer.

      RefBase correspondait presque parfaitement à nos besoins, mais le fait qu’il ne soit pas maintenu m’inquiète un peu d’un point de vue sécurité et utilisation sur le long terme...

      Zotero me semble un peu complexe à utiliser. Je vais tout de même suivre votre projet de pret.

      Merci !

    • En terme de gestion de base, c’est pour le coup plus simple que RefBase. La secrétaire n’intervient que sous Zotero, il existe de très nombreux tutoriel pour ce logiciel. Les imports et la gestion des références sont bp plus aisés.

      ZotSPIP n’intervient qu’après pour afficher les publications dans le SPIP. La version alpha est disponible sur spip-zone : http://zone.spip.org/trac/spip-zone/browser/_plugins_/zotspip/trunk

      Cordialement

      PS : si tout va bien, finalisation et documentation d’ici moins de deux mois

    • Pierre.

      Ok merci beaucoup, je vais me pencher serieusement dessus alors !

    Répondre à ce message

  • 5

    Help !
    Bonjour,
    j’essaie de faire le même plugin mais pour winkindx, également pour mon labo. J’arrive à récupérer les infos de wikindx mais j’ai du mal à interfacer avec spip (je ne suis pas un grand habitué du développement sous spip mais je connais très correctement php).
    Je voudrais « un petit coup de main » pour voir par où je dois passer / quels outils je dois utiliser. Voici où j’en suis. En plagiant sur votre plugin RefBase, j’ai créé un modèle wikindx.html dans lequel j’ai mis une balise #WIKINDX et j’ai créé une fonction balise_wikindx dans mes_fonctions.php
    là, j’arrive à récupérer les data de la base de données wikindx si je mets dans le texte d’un article spip. Donc « tout va bien ». La où ca se corse c’est si j’essaie de faire passer des paramètres, par exemple <wikindx|author=234|order=year> : impossible de récupérer la valeur 234 associée au parametre author ou la chaine year associée au paramètre order.
    Pourtant, si je tape #ENV dans le modèle, je les vois ...
    J’ai vu que vous aviez fait ainsi :
    vous avez mis #WIKINDX’’ dans le modèle et il y a un gros fichier yaml. Est-ce que je dois absolument passer par « cette usine » pour arriver à ce résultat ou y-a-t-il quelque chose de plus simple ? dans tous les cas, vous -etes vous basé sur un tuto quelconque ? (j’ai un mal fou à me documenter sur « les entrailles » de spip, faut il aller jusqu’à lire le code de spip pour se documenter ??).

    Merci !
    Mikhael

    • Pour la programmation avec spip, il y a déjà l’excellent site : http://programmer.spip.org/ sans compter la liste de discussion SPIP Zone.

      Vous pouvez oublier le fichier YAML en premier lieu. Il n’est pas nécessaire au fonctionnement du plugin. Il sert au Plugin Insérer Modèles pour fournir dans l’espace privé un formulaire d’aide à la saisie du modèle.

      le point de départ est le modele modeles/refbase.html (http://zone.spip.org/trac/spip-zone...) qui ne contient qu’un appel à la balise #REFBASE.

      Cette balise est définie dans le fichier refbase_fonctions.php.

      Voici le code de la balise : http://zone.spip.org/trac/spip-zone...

    • C’est la fonction balise_REFBASE_dist($p) qui définit la balise. Cette fonction est un peu particulière car on joue sur le compilateur. Autrement dit, on ne produit pas directement le résultat (cette fonction est appelée au moment où on interprète le squelette et non au calcul du résultat final) mais du code PHP qui va produire ce résultat. C’est pourquoi, grosso modo, on lui dit d’appeler la fonction calculer_balise_REFBASE en lui passant l’ensemble des paramètres disponibles (\$Pile[0]). Au passage, on s’autorise même à lui passer des options additionnelles (ici, utilisé seulement pour débugguer si on veut juste la requete #REFBASE’lien_requete’.).

      Vous pouvez donc créer une fonction balise_WIKINDX_dist($p) quasiment identique. Le boulot sera effectuer par calculer_balise_WIKINDX qui est une fonction PHP plus classique renvoyant un texte (le code HTML produit par la balise).

    • Les variables d’environnement sont dispos via le tableau $env (puisqu’on a transmis tout le tableau, au besoin on aurait ne transmettre que les variables nécessaires).

      Dans le cadre de refbase, on a prévu en plus des valeurs par défaut configurées dans l’espace privé (et accessibles via lire_config). Pour refbase c’est assez simple, en fonction des paramètres (y en a bp c’ets vrai) on construit une URL de requête, on télécharge le résultat avec spip_file_get_contents, on fait un peu de nettoyage et on renvoie le HTML obtenu.

      Si tout cela n’est pas assez clair, je suis joignable par Skype ou tel (en afrique du sud et oui). Pour cela, prendre cntact avec moi par email via http://www.spip-contrib.net/Joseph?....

      Cordialement

    • Bonjour et merci pour ces infos.
      En fait c’est exactement ce que j’avais fait en m’inspirant de votre code à un détail près :
      j’avais écrit dans balise_WIKINDX_dist :
      $params = $Pile[0] ;
      $string=mon_texte($params) ;
      $p->code = « \ »« . »$string« . »\« » ;

      Et bien sûr $params était vide ...

      or dans votre code il y a plutot un truc du genre :
      $p->code=« mon_texte(\$Pile[0]) » ;

      autrement dit spip doit faire bénéficier à p->code un environnement différent de celui que voit balise_WIKINDX_dist, c’est là que je me suis fait piéger.

      J’avais posé la question sur la ML spip-rezo mais sans succès, et je n’ai pas vu ce genre de chose abordé sur le site de développement. Je trouve globalement que spip souffre d’un manque de documentation un peu propre/un peu complet à travers des tutoriaux par exemple, je pense que c’est un frein à son développement.

      En tout cas merci de votre aide, j’ai maintenant bel et bien accès à mes paramètres !
      Cordialement,
      Mikhael

    • Je vous invite vraiment à aller lire http://programmer.spip.org/. Certe ce n’est pas complet mais vous y trouverez déjà beaucoup. La doc ne demande qu’à être complétée, par ceux qui en ont le temps et l’envie.

      oui, l’environnement est différent. On transmet à $p->code une chaine de caractères correspondant à du code PHP qui sera exécuté ultérieurement (au calcul du squelette). On touche ici à un niveau d’abstraction supplémentaire.

    Répondre à ce message

  • 4
    archi02

    Ce plugin a l’air ma foi très intéressant et puissant. Mais, j’ai quelques difficultés à en voir les applications possibles, surtout pour un site Spip. Quel public de webmaster peut-il être intéressé ? Peut-on voir un exemple Spip+Refbase en action ?

    Ai-je bien compris sinon le principe ? Il s’agirait en pratique de disposer d’une base de donnée bibliographique en parallèle à son site spip. Et le plugin interviendrait pour faire le lien entre les deux. Notamment pour éviter de réécrire à la main une référence fréquente, si celle est en base, à l’aide d’un raccourcis ; ou pour présenter un ensemble organisé de référence... non ?

    • J’ai développé ce plugin pour les besoins du site web de mon laboratoire de recherche, ce qui peut constituer un des publics cibles de refbase. Dans le cas présent, nous utilisons Refbase pour référencer les publications des chercheurs du laboratoire et les publications dont le laboratoire est éditeur.

      Refbase est en cours de déploiement mais on peut d’ores-et-déjà consulter la base refbase ici : http://www.ceped.org/biblio et le site web du laboratoire ici : http://www.ceped.org.

      Refbase présente l’avantage de pouvoir exporter les références dans un grand nombre de formats et le rend ainsi compatible avec une grande variété de gestionnaires personnelles de références biblio (Zotero, BibTeX, EndNote, ...). De plus les fonctionnalités de recherche sont puissantes.

      Un des intérêts du plugin est de pouvoir extraire automatiquement des références de la base biblio. Par exemple, si avec un collègue je publie un ouvrage dans une des collections internes de mon laboratoire, il suffit juste de saisir une référence dans Refbase. Cette référence apparaîtra à la fois sur la page chercheur de mon collègue, sur ma page chercheur, et sur la page présentant cette collection.

      Voici un exemple concret : j’ai écrit il y a peu un numéro de la Chronique du CEPED, une revue interne au laboratoire. La référence (et le PDF associé) de ce numéro ont été saisis dans Refbase : http://www.ceped.org/biblio/show.ph.... De fait, cette référence apparaît sur ma fiche chercheur (http://www.ceped.org/LARMARANGE-Jos...) et sur la page dédiée à la Chronique (http://www.ceped.org/La-Chronique-d....

      Ce plugin n’a bien sur d’intérêts que si l’on utilise de nombreuses références bibliographiques sur un site web et qu’elles doivent apparaître en de nombreux endroits du site. Si l’objectif est simplement de mettre en forme de manière adéquate des références bibliographiques, une autre approche est envisageable (que je souhaite développer pour mon site personnel dès que j’aurais suffisamment de temps), celle des Citation templates de Wikipedia (voir http://en.wikipedia.org/wiki/Citati...). Il s’agit d’une série de modèles où l’on précise les différents éléments d’une référence bibliographique. Le modèle les mets en forme, génère un COinS et, le cas échant, ajoute un lien vers un résolveur de DOI ou d’ISBN.

      L’intérêt du Citation templates de Wikepedia réside dans le fait que la syntaxe est proche de celle d’un modèle SPIP (d’ailleurs les modèles de SPIP sont inspirés des modèles Wikipedia : http://www.spip.net/fr_article3454.html). Il suffit de remplacer les accolades encadrant la syntaxe du modèle par les symboles inférieurs et supérieurs. Par exemple, une référence dans SPIP deviendrait quelque chose comme :

      <cite journal
        | last = Bailey
        | first = David H.
        | authorlink = David H. Bailey
        | coauthors = [[Peter Borwein|Borwein…
        | title = The Quest for Pi
        | journal = Mathematical Intelligencer
        | volume = 19
        | issue = 1
        | pages = 50–57
        | publisher = Springer-Verlag
        | location = Berlin
        | date = [[1999-06-25]]
        | url = http://crd.lbl.gov/…-quest.pdf
        | format = [[Portable Document Format|PDF]]
        | issn = 0343-6993
        | accessdate = 2006-06-29 >

      ce qui produirait :

      Bailey, David H.; Borwein, Peter B., and Borwein, Jonathan M. (1999-06-25). "The Quest for Pi" (PDF). Mathematical Intelligencer (Berlin: Springer-Verlag) 19 (1): 50–57. ISSN 0343-6993. http://crd.lbl.gov/~dhbailey/dhbpapers/pi-quest.pdf. Retrieved on 2006-06-29.

      .

      De cette manière, l’intégralité des éléments constituant la référence bibliographique est contenu dans l’article. De plus, pour ceux qui utilisent Zotero, la fonction de Copie Rapide (ALT + CTRL + C) permet de mettre en forme très rapidement une référence au format Wikipedia Citation Template.

      Bien cordialement

    • Bonjour,

      Avez-vous pu développer ce modèle, qui me semble encore plus intéressant que refbase pour l’intégration dans SPIP des références et des citations.

      Merci

    • Bonjour,
      désolé mais je n’ai pas encore pris le temps de m’y pencher, étant actuellement sur un autre projet.
      Mais je ne l’oublie pas.

    • J’avais oublié de le préciser, mais ce plugin existe maintenant : Cite : des modèles pour les références bibliographiques.

    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