Please wait, Page is Loading...
 

Premiers pas avec phBIB

Ce package a été originellement défini pour parser des documents BibTeX (eg. ayant l’extension .bib), et de fournir différents moyens d’intégrations à vos pages web.

Un exemple simple

Une fois que vous avez intallé phpBIB dans l’endroit qui convient, accessible à vos pages web, vous pouvez exploiter vos fichiers .bib.
L’exemple suivant décrit un moyen simple d’intégrer toute une bibliographie dans vos pages:

<?php
//Indiquez le chemin vers le gestionnaire de bibliographie
require_once("path/to/bibliography.php");
...
//Indiquez les fichiers BibTeX nécessaire (autant de fichier que vous le souhaitez)
$BIB_BIBFILES=array("path/to/mybiblio.bib",...);
// Génération de la biblio
$myBIB=new Bibliography($BIB_BIBFILES);
...
//affichage de toutes les références bibliographique
echo $myBIB->dump();
...
?>

Pour voir un exemple de génération et d'utilisation des fonctionnalités offertes par phpBIB jeté oeil au fichier nommé PhpBib/references.php[PhpBib/references.php] Type: application/x-php Taille:7,86 Ko Dernière modification: 24/10/2007, 12:22:25Mime:php. Le fichier PhpBib/references.php[PhpBib/references.php] Type: application/x-php Taille:7,86 Ko Dernière modification: 24/10/2007, 12:22:25Mime:php est exemple de script PHP exploitant les fonctionalité de phpBIB. Vous pouvez tout simplement inclure ce fichier à vos pages pour intégrer efficacement vos bibliographies à votre site web, vous pouvez aussi personnaliser ce fichier, ou vous en inspirer pour intégrer phpBIB à votre projet, applications ou site web.

Comment ça marche

phpBIB fournit une classe nommée Bibliography dans laquelle différentes méthode de manipulation de vos entrées bibliographiques sont définies. Mais, avant de pouvoir les utiliser, il vous faut indiquer vos fichiers BibTeX que vous souhaitez inclure. Pour cela, phpBIB vous permet soit:

  • d'inclure un simple fichier BibTeX, en indiquant le chemin vers le fichier BibTeX sous forme de chaîne de caractère $BIB_BIBFILES='path/to/biblio.bib';
  • d'inclure plusieurs fichier BibTeX, en indiquant le chemin vers les fichiers BibTeX au sein d'un tableau. Exemple: $BIB_BIBFILES=array('path/to/biblioA.bib','path/to/biblioB.bib',...);

Puis il s'agit de créer un objet de la classe Bibliography, en indiquant les fichiers BibTeX que vous désirez, soit simplement:

  $biblio=new Bibliography($BIB_BIBFILES);

En créant ainsi l'objet $biblio, les fichiers BibTeX sont automatiquement analyser et leurs contenus se trouvent dans l'objet $biblio. Pour ce faire, la classe Bibliography fait appel à la classe bibtexParser qui est la classe fournissant les capacités d'analyse des fichiers BibTeX. Le résultat de l'analyse se trouve alors dans un tableau (interne à l'objet $biblio) de la forme suivante:

array(
       'category'=>array('bibkey'=>'la categorie correspondant à bibkey',...),
       'un champ'=>array('bibkey'=>'le champs correspondant à bibkey',...),
        ...
      );

ou encore un exemple un peu plus concret:

array(
       'category'=>array('bibkeyA'=>'@ARTICLE','bibkeyB'=>'@BOOK',...),
        'author'=>array('bibkeyA'=>'A. Author and An Othor','bibkeyB'=>'authors list'...),
        'year'=>array('bibkeyA'=>'2007','bibkeyB'=>'2006'...),
        ...
      );

Une fois les fichiers BibTeX analysés et que le tableau résultat est disponible vous pouvez, à travers les différentes méthodes de la classe Bibliography, faire appel aux différentes fonctionnalités pour manipuler vos références bibliographique. En premier lieu, comme indiqué dans l'exemple ci-dessus, pour afficher l'ensemble des entrées bibliographique de vos fichiers BibTeX, if suffit de faire appel à la méthode dump() de la classe Bibliography:

 echo $biblio->dump();

En fait cette méthode peut prendre trois paramètres:

  • (String) $sortBib: définit l'ordre dans lequel les références sont affichés (ie le critère de trie). S'il n'est pas définit, la bibliographie ne sera pas trié. S'il est déini, la valeur spécifiée doit être l'un des critères défini dans BIB_SORT_LIST. BIB_SORT_LIST est une constante définit dans le fichier constants.php, et à pour valeur (par defaut): define("BIB_SORT_LIST", "category,year,author,rcategory,ryear,rauthor"); qui est une liste de critère séparé par des virgules, et où les critères préfixés par 'r' définissent le trie 'inverse'. Par défaut, il existe trois critères possibles par catégorie (category), année (year) et auteur (author).
  • (Boolean) $showBib: permet d'indiquer si vous souhaitez afficher l'entrée BibTeX. Notez que phpBIB affichera l'entrée dans la forme qu'elle aura reconnu et que l'entrée ne correspondra pas forcément à la façon dont elle figure dans vos fichiers BibTeX
  • (Boolean) $showSubItem: permet l'affichage de champs supplémentaire (abstract, keywords…)

Indexe des références

Pour des bibliographies contenant un grand nombre d'éléments, il est utile de pouvoir accèder facilement aux entrées. Ainsi, phpBIB offre la possibilité de généré des indexes selon différents critères: année de publication, catégorie de publication, mots-clé et auteurs.

Pour pouvoir naviguer entre les indexes et la bibliographie phpBIB envoie des variables QUERY STRING. Ainsi, il suffit que les éléments de vos indexes exploitent ces query string pour sélectionner les éléments adequat de votre bibliographie. Pour plus de précision regarder le fichier exemple references.php.

En attendant, voyons un petit exemple d'utilisation des query string. Pour cela, il vous faut définir un lien tel que:

...
<a href="mypage?...&keyword=my+keyword&..." > my keyword </a>
...

Puis vous pourrez la récupérer dans votre script PHP:

...
if(isset($_REQUEST["keyword"])){
//display only the keyword entry 
  echo $biblio->keywordView($_REQUEST["keyword"]);
}
...

Sinon, pour plus de simpliciter, vous pouvez utiliser les fonctions définit dans phpBIB

Les différentes vues

phpBIB permet de générer différents type d'indexe, ainsi que la bibliographie correspondante.

Par exemple pour construire la liste des mots-clé, utiliser la méthode:

  echo $biblio->keywordsList();

Cette fonction retourne la liste des mots-clé avec des références permettant l'accès aux entrées bibliographique correspondante. Toutefois, pour que la liste de mots-clé soit disponible, il est nécessaire que les entrées bibliographiques de vos fichiers BibTeX contiennent le champ keyword (au moins un).

De la même manière vous pouvez obtenir les listes des catégories, des années de publication et des auteurs en remplaçant keywordsList par categoriesList, yearsList et authorsList respectivement.

Pour construire la vue correspondant à un mot-clé spécifique vous avez la méthode:

 echo $biblio->keywordView( String $keyword= "",
                           [Boolean $showBib= FALSE],[Boolean $showSubItem= FALSE]);
  • String $keyword: le mot-clé sélectionné. Si ce paramètre est vide toute la bibliographie est affichée.
  • [Boolean $showBib]: si fixée à TRUE, permet l'inclusion de des champs correspondant au format BibTeX.
  • [Boolean $showSubItem]: si fixé à TRUE permet l'inclusion des champs additionnels (abstract, keywords…)

Cette fonction retourne une chaîne de caractère (que vous devrez afficher avec les fonctions echo, ou print).

De la même manière vous pouvez obtenir les autres vues en remplaçant keywordView par categoryView, yearView et authorView respectivement.



Commentaires

Laissez vos commentaires ou impression au sujet de PhpBib:

mario05 mars 2009, 06:57http://ut.grt.com

ktIrd7 h1! nice site! oxyutelno

marc peltier03 dcembre 2010, 17:17en cour de production

Bonjour j’ai lu ton tuto sur phpbib, c’est super utile, mais il y a un point où je sèche … Je t’explique dans mon projet je doit faire un site de multishairing (site d’échange de fichiers exemple : article) et donc on ma conseillé ou plutôt vivement imposé ^^ de travaillé avec des fichiers .bib afin que les utilisateurs lors d’un dépôt puissent aussi uploader leurs fichiers .bib, jusque là tout va à peut près je pense m’en sortir. Cependant s’il non pas de fichiers bibtex ils peuvent en créer un sur le site en renseignant des input par exemple, et c’est la que cela coince je ne sait pas créer de fichiers BiBtex à partir de php. Est-ce que tu aurais une solution pour m’aiguiller Merci cordialement Marc PELTIER marc.peltier@etu.univ-poitiers.fr

Warllock25 janvier 2011, 16:30

bonjour j’ai un petit problème avec la fonction dump() : je fournis à la variable $BIB_BIBFILES un array avec tous les fichiers bib à aller trouver ex : $BIB_BIBFILES = array(“upload/bibtex/bibtex-1.bib”,”upload/bibtex/bibtex-2.bib”); Et si après l’appel du constructeur j’utilise la fonction dump() : echo $biblio→dump(); je n’est ke les infos du dernier fichier bibtex qui sont affichés et as les précédents, ce qui inclus que dans mes vus je n’ai que les différents champs (auteur année …) de ce fichier bibtex qui apparaissent. Si vous ave des idées je suis preneur Merci

Signer en tant qu'auteur 
Website 

Veuillez indiquer un nom d'auteur, et entrer la valeur du code (limite le spam...). Merci.


  • Add This
  • Add
  • Get
  • Google

phpBIB