1 <html xmlns="http://www.w3.org/1999/xhtml">
8 <h1>Filtres d'importation personnalisés</h1>
10 <p>JabRef vous permet de définir et d'utiliser vos
11 propres formats d'importation, d'une façon très
12 similaire aux filtres d'importation standard qui sont
13 définis. Un filtre d'importation est défini par
14 une ou plusieurs <i>classes</i> Java qui analyse le contenu
15 d'un fichier à partir d'un flux d'entrée et
16 crée des entrées BibTeX. Ainsi, avec un peu de
17 programmation de base en Java, vous pouvez ajouter un format
18 d'importation correspondant à votre source de
19 références favorite ou enregistrer une version
20 améliorée d'un format d'importation existant. De
21 plus, cela vous permet d'ajouter des formats d'importation
22 personnalisés compilés que vous pourriez obtenir
23 à partir de SourceForge (par exemple) sans avoir
24 à recompiler JabRef (voir plus bas "Partager votre
27 <p>Les formats d'importation personnalisés sont
28 prioritaires sur les formats d'importation standard. De cette
29 façon, vous pouvez remplacer les formats d'importations
30 existants pour les fonctions d'auto-détection et de
31 ligne de commande de JabRef. Les formats d'importation
32 personnalisés sont classés par nom.</p>
34 <h2>Ajouter un filtre d'importation personnalisé</h2>
36 <p>Assurez-vous que vous avez un filtre d'importation
37 personnalisé compilé (un ou plusieurs fichiers
38 <code>.class</code> sont décrits ci-dessous) et que les
39 fichiers de classe soient dans la structure des
40 répertoires selon la structure de leur paquetage. Pour
41 ajouter un nouveau filtre d'importation personnalisé,
42 ouvrez la boîte de dialogue <b>Options -> Gérer
43 les importations personnalisées</b>, et cliquez
44 <b>Ajouter à partir du répertoire</b>. Une
45 fenêtre de sélection de fichier apparaîtra,
46 vous permettant de sélectionner le chemin de classe de
47 votre filtre d'importation, c'est à dire le
48 répertoire où se trouve le répertoire
49 supérieur de votre structure de paquetage. Vous ouvrirez
50 autant de fenêtres que nécessaire pour
51 sélectionner votre fichier de classe de filtre
52 d'importation, lequel doit dériver de
53 <code>ImportFormat</code>. Cela permettra ainsi d'indiquer le
54 chemin complet d'accès au fichier de classe. En cliquant
55 sur <b>Sélectionner une nouvelle sous-classe de format
56 d'importation</b>, votre nouveau filtre d'importation
57 apparaîtra dans la liste des filtres d'importation
58 personnalisés. Tous les filtres d'importations
59 personnalisés apparaîtront dans le menu <b>Fichier
60 -> Importer -> Filtres d'importation
61 personnalisés</b> et <b>Fichier -> Importer et
62 joindre -> Filtres d'importation personnalisés</b> de
63 la fenêtre de JabRef.</p>
65 <p>S'il vous plaît, notez que si vous déplacez la
66 classe vers un autre répertoire, vous aurez à
67 supprimer et à ré-ajouter le filtre
68 d'importation. Si vous ajoutez un filtre d'importation
69 personnalisé sous un nom qui existe déjà,
70 le filtre d'importation existant sera remplacé. De plus,
71 dans certains cas, il est possible de mettre à jour un
72 filtre d'importation personnali sé existant sans
73 redémarrer JabRef (lorsque le filtre d'importation n'est
74 pas dans le chemin de classe). Cependant, nous recommandons de
75 redémarrer JabRef après la mise à jour
76 d'un filtre d'importation personnalisé. Vous pouvez
77 aussi ajouter des filtres d'importation contenu dans un fichier
78 ZIP ou JAR ; sélectionnez simplement l'archive Zip
79 ou Jar, puis l'entrée (fichier de classe) qui correspond
80 au nouveau filtre d'importation.</p>
82 <h2>Créer un filtre d'importation</h2>
85 et quelques fichiers utiles sur la façon de construire
86 vos propres filtres d'importation, consultez s'il vous
87 plaît la page de téléchargement.</p>
89 <h3>Un exemple simple</h3>
91 <p>Supposons que vous vouliez importer des fichiers de la forme
94 1936;John Maynard Keynes;The General Theory of Employment, Interest and Money
95 2003;Boldrin & Levine;Case Against Intellectual Monopoly
96 2004;ROBERT HUNT AND JAMES BESSEN;The Software Patent Experiment
99 <p>Dans votre outil de développement ou éditeur
100 de texte préféré, créez une classe
101 dérivée de <code>ImportFormat</code> qui
102 implémente les méthodes
103 <code>getFormatName()</code>, <code>isRecognizedFormat</code>
104 and <code>importEntries()</code>. En voici un
109 import net.sf.jabref.*;
110 import net.sf.jabref.imports.ImportFormat;
111 import net.sf.jabref.imports.ImportFormatReader;
113 public class SimpleCsvImporter extends ImportFormat {
115 public String getFormatName() {
116 return "Simple CSV Importer";
119 public boolean isRecognizedFormat(InputStream stream) throws IOException {
120 return true; // ceci est déconseillé sauf pour les besoins de la démonstration
123 public List importEntries(InputStream stream) throws IOException {
124 ArrayList bibitems = new ArrayList();
125 BufferedReader in = new BufferedReader(ImportFormatReader.getReaderDefaultEncoding(stream));
127 String line = in.readLine();
128 while (line != null) {
129 if (!"".equals(line.trim())) {
130 String[] fields = line.split(";");
131 BibtexEntry be = new BibtexEntry(Util.createNeutralId());
132 be.setType(BibtexEntryType.getType("techreport"));
133 be.setField("year", fields[0]);
134 be.setField("author", fields[1]);
135 be.setField("title", fields[2]);
137 line = in.readLine();
145 <p>Notez que l'exemple est dans le paquetage par défaut.
146 Supposez que vous l'avez sauvé sous
147 <code>/mypath/SimpleCsvImporter.java</code>. Supposez aussi que
148 JabRef-2.0.jar est dans le même répertoire que
149 <code>SimpleCsvImporter.java</code> et que Java est dans votre
150 chemin d'exécutables. Compilez-le en utilisant par
151 exemple JSDK 1.4 avec</p>
153 javac -classpath JabRef-2.0.jar SimpleCsvImporter.java
154 </pre>A présent il doit y avoir un fichier
155 <code>/mypath/SimpleCsvImporter.class</code>.
157 <p>Dans JabRef, ouvrez <b>Options -> Gérer les
158 importations personnalisées</b>, et cliquez sur
159 <b>Ajouter à partir du répertoire</b>. Allez dans
160 <code>/mypath</code> et cliquez le bouton
161 <b>Sélectionner...</b>. Sélectionnez
162 <code>SimpleCsvImporter.class</code> et cliquez sur le bouton
163 <b>Sélectionner...</b>. Votre filtre d'importation
164 devrait maintenant apparaître dans la liste des filtres
165 d'importation personnalisés sous le nom "Simple CSV
166 Importer" et, après avoir cliqué sur
167 <b>Fermer</b>, aussi dans les menus <b>Fichier -> Importer
168 -> Filtres d'importation personnalisés</b> et
169 <b>Fichier -> Importer et joindre -> Filtres
170 d'importation personnalisés</b> de la fenêtre de
173 <h2>Partager votre travail</h2>
175 <p>Avec des fichiers de filtres d'importation
176 personnalisés, il est vraiment simple de partager des
177 formats d'importation personnalisés entre utilisateurs.
178 Si vous écrivez un filtre d'importation pour un format
179 non supporté par JabRef, ou l'amélioration d'un
180 filtre existant, nous vous encourageons à soumettre
181 votre travail sur notre page SourceForge.net. Nous serons
182 heureux de distribuer la collection des fichiers d'importation
183 soumis, ou d'en ajouter à la sélection de filtres
184 d'importation standard.</p>