add subject edition
authorymh <ymh.work@gmail.com>
Thu, 03 Mar 2016 17:34:12 +0100
changeset 137 1baa7c6bd370
parent 136 5fed7e1716c2
child 138 3079cbf80006
add subject edition
common/corpus-common-addon/addon/helpers/get-link-type.js
common/corpus-common-addon/addon/utils/constants.js
common/corpus-common-addon/addon/utils/utils.js
server/bo_client/app/models/document.js
server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/component.js
server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/template.hbs
server/bo_client/app/pods/components/bo-doc-contributor-nameurl-cell/component.js
server/bo_client/app/pods/components/bo-doc-contributor-nameurl-cell/styles.scss
server/bo_client/app/pods/components/bo-doc-contributor-row/component.js
server/bo_client/app/pods/components/bo-doc-contributor-row/styles.scss
server/bo_client/app/pods/components/bo-doc-new-subject/component.js
server/bo_client/app/pods/components/bo-doc-new-subject/template.hbs
server/bo_client/app/pods/components/bo-doc-subject-row/component.js
server/bo_client/app/pods/components/bo-doc-subject-row/styles.scss
server/bo_client/app/pods/components/bo-doc-subject-row/template.hbs
server/bo_client/app/pods/components/bo-doc-subjects/component.js
server/bo_client/app/pods/components/bo-doc-subjects/styles.scss
server/bo_client/app/pods/components/bo-doc-subjects/template.hbs
server/bo_client/app/styles/_icons.scss
server/bo_client/app/styles/app.scss
server/bo_client/config/environment.js
server/bo_client/package.json
server/bo_client/public/assets/img/bnf-logo-32x32.png
server/bo_client/server/fixtures/bnf.js
server/bo_client/server/proxies/bnf-sparql.js
server/bo_client/server/proxies/bnf.js
--- a/common/corpus-common-addon/addon/helpers/get-link-type.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/common/corpus-common-addon/addon/helpers/get-link-type.js	Thu Mar 03 17:34:12 2016 +0100
@@ -4,6 +4,9 @@
 export function getLinkType(params/*, hash*/) {
   let url = params[0];
 
+  if(!url) {
+    return 'doc-generic';  
+  }
   if(url.startsWith(constants.LEXVO_BASE_URL)) {
     return 'doc-language';
   }
--- a/common/corpus-common-addon/addon/utils/constants.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/common/corpus-common-addon/addon/utils/constants.js	Thu Mar 03 17:34:12 2016 +0100
@@ -6,3 +6,13 @@
 export const BNF_ARK_BASE_URL = "http://ark.bnf.fr/";
 export const BNF_ARK_BASE_ID = "ark:/12148/";
 export const DEFAULT_STORE_EXP = 3600000;
+export const NOID_CHARS = [
+  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+	'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'm', 'n',
+	'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z'
+];
+export const NOID_CHARS_POS = {
+  '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,
+	'b': 10, 'c': 11, 'd': 12, 'f': 13, 'g': 14, 'h': 15, 'j': 16, 'k': 17, 'm': 18, 'n': 19,
+	'p': 20, 'q': 21, 'r': 22, 's': 23, 't': 24, 'v': 25, 'w': 26, 'x': 27, 'z': 28
+};
--- a/common/corpus-common-addon/addon/utils/utils.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/common/corpus-common-addon/addon/utils/utils.js	Thu Mar 03 17:34:12 2016 +0100
@@ -1,5 +1,33 @@
 import * as constants from 'corpus-common-addon/utils/constants';
+import _ from "lodash/lodash";
 
 export function isBnfLink(s) {
-  return s.startsWith(constants.BNF_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_ID);
+  return s && (s.startsWith(constants.BNF_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_ID));
+};
+
+export function isArkBnfLink(s) {
+  return s && (s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID) || s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID));
 };
+
+export function switchArkBnfLink(s) {
+  if(!s) {
+    return s;
+  }
+  if(s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID)) {
+    return constants.BNF_ARK_BASE_URL + s.slice(constants.BNF_BASE_URL.length);
+  } else if (s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID)) {
+    return constants.BNF_BASE_URL + s.slice(constants.BNF_ARK_BASE_URL.length);
+  } else {
+    return s;
+  }
+};
+
+export function calculateBnfArkControlChar(id) {
+  if(!id) {
+    return null;
+  }
+  var sum = _.reduce(id, function(s, c, i) {
+    return s + (i+1) * (c in constants.NOID_CHARS_POS ? constants.NOID_CHARS_POS[c] : 0);
+  }, 0);
+  return constants.NOID_CHARS[sum % constants.NOID_CHARS.length];
+};
--- a/server/bo_client/app/models/document.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/models/document.js	Thu Mar 03 17:34:12 2016 +0100
@@ -1,6 +1,7 @@
 import DS from 'ember-data';
 import Ember from 'ember';
 import _ from 'lodash/lodash';
+import * as utils from 'corpus-common-addon/utils/utils';
 
 export default DS.Model.extend({
   //id: attr('string'),
@@ -70,6 +71,23 @@
     }
     //must set dirty only if needed
     this.set('contributors', _.clone(this.get('contributors')));
-  }
+  },
+  removeSubject: function(subject_def) {
+    var subjects = this.get('subjects');
+    var index = _.findIndex(subjects, function(s) { return _.isEqual(s, subject_def);});
+    if(index >= 0) {
+      subjects.removeAt(index);
+    }
+    //must set dirty
+    this.set('subjects', _.clone(subjects));
+  },
+  addSubject: function(subject_def) {
+    var subjects = this.get('subjects');
+    if(_.findIndex(subjects, function(s) { return _.isEqual(s, subject_def) || _.isEqual(s, utils.switchArkBnfLink(subject_def));}) < 0) {
+      subjects.pushObject(subject_def);
+    }
+    // must set dirty
+    this.set('subjects', _.clone(subjects));
+  },
 
 });
--- a/server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -2,24 +2,33 @@
 import URI from 'urijs';
 import suggestionTemplate from 'bo-client/templates/components/bo-doc-bnf-autocomplete/suggestion';
 import _ from 'lodash/lodash';
+import config from 'bo-client/config/environment';
+import * as utils from 'corpus-common-addon/utils/utils';
+import * as constants from 'corpus-common-addon/utils/constants';
 
 export default Ember.Component.extend({
-  env: function() {
-    return Ember.getOwner(this).resolveRegistration('config:environment');
-  },
   actions: {
     setBnfId: function(value) {
-      if(_.isString(value)) {
+      console.log('setBnfId', value);
+      if(_.isString(value) && utils.isArkBnfLink(value)) {
         this.set('bnfId', {
-          label: value,
-          value: value,
-          id: "",
-          url: "",
-          nametype: "" }
-        );
+          label: null,
+          url: value
+        });
       }
-      else {
-        this.set('bnfId', value);
+      else if (value) {
+        if(utils.isBnfLink(value.url)) {
+          var bnfFrId = value.url.slice(constants.BNF_BASE_URL.length);
+          var query = "SELECT ?s WHERE { ?s <http://data.bnf.fr/ontology/bnf-onto/FRBNF> \""+bnfFrId+"\"^^<http://www.w3.org/2001/XMLSchema#integer> }";
+          var url = URI(config.APP['bo-doc-bnf-autocomplete'].bnfSparqlUrl).query({query: query, format: "application/sparql-results+json"}).toString();
+          var _this = this;
+          Ember.$.getJSON(url, function(data) {
+            _this.set('bnfId', {
+              label: value.label,
+              url: data.results.bindings[0].s.value
+            });
+          });
+        }
       }
     },
   },
@@ -27,21 +36,11 @@
   limit: 15,
 
   display(selection) {
-    return selection.value;
+    return selection.label;
   },
 
   setValue(selection) {
-    let typeahead = Ember.$(this.$(), ".aupac-typeahead");
-    if(selection) {
-      if(_.isString(selection)) {
-        typeahead.typeahead('val', selection);
-      } else {
-        typeahead.typeahead('val', selection.value);
-      }
-
-    } else {
-      typeahead.typeahead('val', '');
-    }
+    return;
   },
 
   keyDown(event) {
@@ -60,36 +59,36 @@
 
 
   bnfSource : function(query, syncResults, asyncResults) {
-    var url = URI(this.env().APP['bo-doc-bnf-autocomplete'].bnfQueryUrl).query({term: query}).toString();
+    //var url = URI().query({term: query}).toString();
+    if(!query || query.length < 4 || query.match(/http?:?/)) {
+      syncResults(null);
+      return;
+    }
+    var url = URI(config.APP['bo-doc-bnf-autocomplete'].bnfQueryUrl).query({term: query}).toString();
     Ember.$.ajax({
       url: url,
-      dataType: "jsonp",
+      dataType: "json",
+      jsonp: false,
       success: function(data) {
-        var queryTextRes = {
-          label: query,
-          value: query,
-          id: "",
-          url: "",
-          nametype: ""
-        };
-        if (data.result) {
-          var results = Ember.$.map( data.result, function(item) {
-            var retLbl = item.term + " [" + item.nametype + "]",
-                bnfurl = this.env().APP['bo-doc-viaf-autocomplete'].viafBaseUrl + item.bnfid;
+        console.log("AUTOCOMPLETE", data);
+        if (data) {
+          var results = _(data).filter(function(r) {
+            return r.raw_category === 'Rameau';
+          }).map(function(r) {
             return {
-              label: retLbl,
-              value: item.term,
-              id: item.bnfid,
-              url: bnfurl,
-              nametype: item.nametype
+              label: r.label,
+              url: r.value
             };
-          });
-          results.unshift(queryTextRes);
+          }).value();
+          console.log("AUTOCOMPLETE results", results);
           asyncResults( results );
         } else {
-          asyncResults([queryTextRes]);
+          asyncResults([]);
         }
       },
+      error: function(jqXHR, textStatus, errorThrown) {
+        console.log("ERROR", jqXHR, textStatus, errorThrown);
+      }
     });
   }
 
--- a/server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/template.hbs	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-bnf-autocomplete/template.hbs	Thu Mar 03 17:34:12 2016 +0100
@@ -7,7 +7,8 @@
     hint=false
     suggestionTemplate=suggestionTemplate
     selection=(readonly initialBnfId)
-    allowFreeInput=false
+    allowFreeInput=true
+    minLength=4
     limit=15
     setValue=setValue
 }}
--- a/server/bo_client/app/pods/components/bo-doc-contributor-nameurl-cell/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-contributor-nameurl-cell/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -3,6 +3,7 @@
 export default Ember.Component.extend({
 
   tagName: "td",
+  classNames: ['bo-doc-contributor-nameurl-cell'],
   _colspan: 2,
   attributeBindings: [ '_colspan:colspan'],
   viafId: null,
--- a/server/bo_client/app/pods/components/bo-doc-contributor-nameurl-cell/styles.scss	Wed Mar 02 13:47:07 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-$nameurl-gutter: 10px;
-
-.row {
-  margin-left: -($nameurl-gutter / 2);
-  margin-right: -($nameurl-gutter / 2);
-}
-.nameurl-col {
-  position: static;
-  float: left;
-  display: table-cell;
-  min-height: 1px;
-  padding: 0 (($nameurl-gutter / 2)-2 ) 0 (($nameurl-gutter / 2)-2);
-}
-
-.nameurl-col-name {
-  @extend .nameurl-col;
-  width: percentage(4.5 / 8);
-}
-
-.nameurl-col-url {
-  @extend .nameurl-col;
-  width: percentage(3.5 / 8);
-}
-
-.nameurl-col-autocomplete {
-  @extend .nameurl-col;
-  width: percentage(11/12);
-}
-
-.nameurl-col-icon {
-  @extend .nameurl-col;
-  width: percentage(1/12);
-}
-
-.nameurl-col-icon:focus {
-  outline: 0;
-}
--- a/server/bo_client/app/pods/components/bo-doc-contributor-row/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-contributor-row/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -5,7 +5,6 @@
   tagName: "tr",
   actions: {
     removeContributor: function(contributor) {
-      console.log("REMOVE CONTRIBUTOR", contributor);
       this.get('removeContributor')(contributor);
     },
     saveContributor: function(contributor, index) {
--- a/server/bo_client/app/pods/components/bo-doc-contributor-row/styles.scss	Wed Mar 02 13:47:07 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-.bo-doc-edit-icons-save-dirty {
-	color: red;
-}
--- a/server/bo_client/app/pods/components/bo-doc-new-subject/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-new-subject/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -5,9 +5,9 @@
   bnfId: null,
   initialBnfId: null,
   actions: {
-    addNewContributor: function() {
+    addNewSubject: function() {
       if(!this.get('valuesNotSet')) {
-        this.get('onAdd')(this.getProperties('label','url'));
+        this.get('onAdd')(this.get('url'));
         this.clearProperties();
       }
     }
@@ -27,13 +27,11 @@
     });
   }.on('init'),
 
-  valuesNotSet: Ember.computed('url', function() {
-    return !( this.get('url') );
-  }),
+  valuesNotSet: Ember.computed.not("urlPresent"),
 
   label: Ember.computed('bnfId', function() {
     var bnfId = this.get('bnfId');
-    return (bnfId == null)?"":bnfId.value;
+    return (bnfId == null)?"":bnfId.label;
   }),
 
   url: Ember.computed('bnfId', function() {
--- a/server/bo_client/app/pods/components/bo-doc-new-subject/template.hbs	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-new-subject/template.hbs	Thu Mar 03 17:34:12 2016 +0100
@@ -1,7 +1,7 @@
 <td class="col-md-1">&nbsp;</td>
 <td class="col-md-10" colspan="2">
   <div class='row'>
-    {{bo-doc-viaf-autocomplete inputclass="form-control" placeholder=(t 'bo.contributors_th_name') viafId=viafId initialViafId=initialViafId class='col-md-11'}}
+    {{bo-doc-bnf-autocomplete inputclass="form-control" placeholder=(t 'bo.subjects_th_label') bnfId=bnfId initialBnfId=initialBnfId class='col-md-11'}}
     {{#if urlPresent }}
     <a target="_blank" href="{{url}}" class="col-md-1 bo-client-bnf-32x32-icon bo-client-force-block" title="{{url}}">&nbsp;</a>
     {{ else }}
@@ -9,4 +9,4 @@
     {{/if}}
   </div>
 </td>
-<td class='bo-doc-actions-col col-md-1'>{{fa-icon "plus" class=(if valuesNotSet "bo-doc-no-edit-icons" "bo-doc-edit-icons") click=(action "addNewContributor")}}</td>
+<td class='bo-doc-actions-col col-md-1'>{{fa-icon "plus" class=(if valuesNotSet "bo-doc-no-edit-icons" "bo-doc-edit-icons") click=(action "addNewSubject")}}</td>
--- a/server/bo_client/app/pods/components/bo-doc-subject-row/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-subject-row/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -7,5 +7,10 @@
   isBnfLink: Ember.computed('subject', function() {
     return utils.isBnfLink(this.get('subject'));
   }),
-  isNotBnfLink: Ember.computed.not("isBnfLink")
+  isNotBnfLink: Ember.computed.not("isBnfLink"),
+  actions: {
+    removeSubject: function(subject) {
+      this.get('removeSubject')(subject);
+    }
+  }
 });
--- a/server/bo_client/app/pods/components/bo-doc-subject-row/styles.scss	Wed Mar 02 13:47:07 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-.bo-doc-subject-not-bnf {
-  color: $gray;
-}
--- a/server/bo_client/app/pods/components/bo-doc-subject-row/template.hbs	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-subject-row/template.hbs	Thu Mar 03 17:34:12 2016 +0100
@@ -1,6 +1,6 @@
 <td class="col-md-1">{{add-one index}}</td>
-<td {{bind-attr class=":col-md-5 :bo-doc-subject-label isNotBnfLink:bo-doc-subject-not-bnf"}}>{{component (get-link-type subject) url=subject}}</td>
-<td {{bind-attr class=":col-md-5 isNotBnfLink:bo-doc-subject-not-bnf"}}>{{#if isSubjectLink}}{{subject}}{{/if}}</td>
+<td class="col-md-5 bo-doc-subject-label {{if isNotBnfLink 'bo-doc-subject-not-bnf'}}">{{component (get-link-type subject) url=subject}}</td>
+<td class="col-md-5 {{if isNotBnfLink 'bo-doc-subject-not-bnf'}}">{{#if isSubjectLink}}{{subject}}{{/if}}</td>
 <td class='bo-doc-actions-col col-md-1'>
-  {{#if isBnfLink }}{{fa-icon "trash-o" class="bo-doc-edit-icons" }}{{/if}}
+  {{#if isBnfLink }}{{fa-icon "trash-o" class="bo-doc-edit-icons" click=(action "removeSubject" subject) }}{{/if}}
 </td>
--- a/server/bo_client/app/pods/components/bo-doc-subjects/component.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-subjects/component.js	Thu Mar 03 17:34:12 2016 +0100
@@ -4,7 +4,7 @@
 
 export default Ember.Component.extend({
   isEditing: false,
-  subjectsList: Ember.computed("document.subjects[]", function() {
+  subjectsList: Ember.computed("document.subjects", function() {
     return _.union(
       _.filter(this.get("document").get("subjects"), utils.isBnfLink),
       _.filter(this.get("document").get("subjects"), function(s) { return !utils.isBnfLink(s); })
@@ -16,6 +16,14 @@
       this.$('#doc-subjects-table-pane').slideToggle();
       this.$('#doc-subjects-list-pane').slideToggle();
     },
+    removeSubject: function(subject_def) {
+      this.get("document").removeSubject(subject_def);
+    },
+    addNewSubject: function(subject_def) {
+      if(subject_def) {
+        this.get('document').addSubject(subject_def);
+      }
+    },
   }
 
 });
--- a/server/bo_client/app/pods/components/bo-doc-subjects/styles.scss	Wed Mar 02 13:47:07 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-
-#doc-subjects-table-pane {
-	display: none;
-	margin-top: 20px;
-}
--- a/server/bo_client/app/pods/components/bo-doc-subjects/template.hbs	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/pods/components/bo-doc-subjects/template.hbs	Thu Mar 03 17:34:12 2016 +0100
@@ -2,12 +2,8 @@
     {{ fa-icon "pencil" class='bo-doc-edit-icons' click=(action "toggleEditSubjects")}}
 </div>
 <div class="col-md-11">
-  <div class="content-value">{{#each model.subjects as |subject index|}}{{if index ", "}}{{component (get-link-type subject) url=subject}}{{/each}}</div>
-</div>
-
-<div class="col-md-11">
   <div class="row">
-    <div class="content-title">{{t 'bo.document_subjects'}}</div>
+    <div class="col-md-12 content-title">{{t 'bo.document_subjects'}}</div>
   </div>
   <div class="row" id="doc-subjects-list-pane">
     <div class="col-md-12 content-value">{{#each document.subjects as |subject index|}}{{if index ", "}}{{component (get-link-type subject) url=subject}}{{/each}}</div>
@@ -26,9 +22,12 @@
         </thead>
         <tbody>
         {{#each subjectsList as |subject index|}}
-          {{bo-doc-subject-row subject=subject index=index}}
+          {{bo-doc-subject-row subject=subject index=index removeSubject=(action 'removeSubject') }}
         {{/each}}
         </tbody>
+        <tfoot>
+          {{bo-doc-new-subject onAdd=(action 'addNewSubject')}}
+        </tfoot>
       </table>
       {{/if}}
     </div>
--- a/server/bo_client/app/styles/_icons.scss	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/styles/_icons.scss	Thu Mar 03 17:34:12 2016 +0100
@@ -25,3 +25,11 @@
   background-image: url('img/viaf-logo-32x32.gif');
   background-size: 32px 32px;
 }
+
+.bo-client-bnf-32x32-icon {
+  @extend %bo-client-icon;
+  width: 32px;
+  height: 32px;
+  background-image: url('img/bnf-logo-32x32.png');
+  background-size: 32px 32px;
+}
--- a/server/bo_client/app/styles/app.scss	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/app/styles/app.scss	Thu Mar 03 17:34:12 2016 +0100
@@ -7,8 +7,6 @@
 
 @import 'icons';
 
-@import "pod-styles";
-
 body, label, .checkbox label {
 	font-weight: 300;
 }
@@ -66,3 +64,65 @@
 .doc-buttons {
 	margin-top: 1em;
 }
+
+//bo-doc-contributor-nameurl-cell styles
+$nameurl-gutter: 10px;
+
+.bo-doc-contributor-nameurl-cell .row {
+  margin-left: -($nameurl-gutter / 2);
+  margin-right: -($nameurl-gutter / 2);
+}
+.bo-doc-contributor-nameurl-cell .nameurl-col {
+  position: static;
+  float: left;
+  display: table-cell;
+  min-height: 1px;
+  padding: 0 (($nameurl-gutter / 2)-2 ) 0 (($nameurl-gutter / 2)-2);
+}
+
+.bo-doc-contributor-nameurl-cell .nameurl-col-name {
+  @extend .nameurl-col;
+  width: percentage(4.5 / 8);
+}
+
+.bo-doc-contributor-nameurl-cell .nameurl-col-url {
+  @extend .nameurl-col;
+  width: percentage(3.5 / 8);
+}
+
+.bo-doc-contributor-nameurl-cell .nameurl-col-autocomplete {
+  @extend .nameurl-col;
+  width: percentage(11/12);
+}
+
+.bo-doc-contributor-nameurl-cell .nameurl-col-icon {
+  @extend .nameurl-col;
+  width: percentage(1/12);
+}
+
+.bo-doc-contributor-nameurl-cell .nameurl-col-icon:focus {
+  outline: 0;
+}
+
+//bo-doc-contributor-row styles
+.bo-doc-edit-icons-save-dirty {
+	color: red;
+}
+
+//bo-doc-subject-row styles
+.bo-doc-subject-not-bnf {
+  color: $gray-light;
+}
+
+.bo-doc-subject-not-bnf {
+	.bo-doc-ref-link, .bo-doc-ref-link:hover, .bo-doc-ref-link:active, .bo-doc-ref-link:visited {
+		color: $gray-light;
+	}
+}
+
+
+//bo-doc-subjects styles
+#doc-subjects-table-pane {
+	display: none;
+	margin-top: 20px;
+}
--- a/server/bo_client/config/environment.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/config/environment.js	Thu Mar 03 17:34:12 2016 +0100
@@ -1,11 +1,12 @@
 /* jshint node: true */
 
 module.exports = function(environment) {
+  var baseURL = '/';
   var ENV = {
     modulePrefix: 'bo-client',
     podModulePrefix: 'bo-client/pods',
     environment: environment,
-    baseURL: '/',
+    baseURL: baseURL,
     //locationType: 'auto',
     locationType: 'auto',
     i18n : {
@@ -26,8 +27,9 @@
           viafBaseUrl: "http://viaf.org/viaf/",
       },
       'bo-doc-bnf-autocomplete' : {
-          bnfQueryUrl: "http://data.bnf.fr/search-letter/?term=",
+          bnfQueryUrl: baseURL + "proxy/bnf/?term=",
           bnfBaseUrl: "http://data.bnf.fr/",
+          bnfSparqlUrl: baseURL + "proxy/bnf-sparql"
       }
     },
   };
--- a/server/bo_client/package.json	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/package.json	Thu Mar 03 17:34:12 2016 +0100
@@ -27,7 +27,7 @@
     "broccoli-static-compiler": "^0.2.2",
     "corpus-common-addon": "file:../../common/corpus-common-addon",
     "ember-ajax": "0.7.1",
-    "ember-aupac-typeahead": "2.0.4",
+    "ember-aupac-typeahead": "2.0.6",
     "ember-cli": "^2.4.0",
     "ember-cli-app-version": "^1.0.0",
     "ember-cli-babel": "^5.1.6",
@@ -51,7 +51,7 @@
     "ember-truth-helpers": "1.2.0",
     "express": "^4.13.3",
     "glob": "^6.0.1",
-    "http-proxy": "^1.12.0",
+    "http-proxy": "^1.13.2",
     "loader.js": "^4.0.0",
     "lodash": "^4.5.1",
     "morgan": "^1.6.1",
Binary file server/bo_client/public/assets/img/bnf-logo-32x32.png has changed
--- a/server/bo_client/server/fixtures/bnf.js	Wed Mar 02 13:47:07 2016 +0100
+++ b/server/bo_client/server/fixtures/bnf.js	Thu Mar 03 17:34:12 2016 +0100
@@ -2,5 +2,6 @@
   "ark:/12148/cb11965628b": "frères et soeurs",
   "ark:/12148/cb11946662b": "parents et enfants",
   "ark:/12148/cb119766112": "miséricorde",
-  "ark:/12148/cb11970755h": "repentir"
+  "ark:/12148/cb11970755h": "repentir",
+  "ark:/12148/cb155856754": "frères"
 };
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/bo_client/server/proxies/bnf-sparql.js	Thu Mar 03 17:34:12 2016 +0100
@@ -0,0 +1,19 @@
+/*jshint node:true*/
+var proxyPath = '/proxy/bnf-sparql';
+
+module.exports = function(app) {
+  // For options, see:
+  // https://github.com/nodejitsu/node-http-proxy
+  var proxy = require('http-proxy').createProxyServer({});
+
+  proxy.on('error', function(err, req) {
+    console.error(err, req.url);
+  });
+
+  app.use(proxyPath, function(req, res, next){
+    // include root path in proxied request
+    //req.url = proxyPath + '/' + req.url;
+    req.url = req.url.slice(1);
+    proxy.web(req, res, { target: 'http://data.bnf.fr/sparql' });
+  });
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/bo_client/server/proxies/bnf.js	Thu Mar 03 17:34:12 2016 +0100
@@ -0,0 +1,21 @@
+/*jshint node:true*/
+var proxyPath = '/proxy/bnf';
+
+module.exports = function(app) {
+  // For options, see:
+  // https://github.com/nodejitsu/node-http-proxy
+  var proxy = require('http-proxy').createProxyServer({});
+
+  proxy.on('error', function(err, req) {
+    console.error(err, req.url);
+  });
+
+  app.use(proxyPath, function(req, res, next){
+    // include root path in proxied request
+    req.url = proxyPath + '/' + req.url;
+    console.log(req.url);
+    proxy.web(req, res, { target: 'http://data.bnf.fr/search-letter/' });
+  });
+};
+
+//[{"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/14479749", "label": "testesttets"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/14954387", "label": "Testar"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16959857", "label": "Carole Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15613802", "label": "Lo\u00efc Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16723491", "label": "Julien Testard"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15123218", "label": "Elio Testoni"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15127173", "label": "Tatiana Testoni"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16993795", "label": "Nicole Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16738809", "label": "\u00c1ngeles Testera"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16750976", "label": "R\u00e9gis Testelin"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/11926262", "label": "Francesco Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/11983726", "label": "Testenoire-Lafayette (famille)"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12226862", "label": "Antonella Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16160005", "label": "Walter Testolin"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/10732566", "label": "Charles Teste"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16907072", "label": "Steven Tester"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12117943", "label": "Alain Teston"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12176852", "label": "Ada Testaferri"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15814125", "label": "B\u00e9atrice Testet"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12974154", "label": "Arnaldo Testi"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12985922", "label": "Louis Teste"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13081687", "label": "Maurice Testu"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/11926264", "label": "Jacques Testani\u00e8re"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13180517", "label": "Caroline Testut"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15046808", "label": "Jean Testard"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13322897", "label": "Thierry Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13323294", "label": "Bernard Testu"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16595811", "label": "Gaetano Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12254885", "label": "Yossel\u00e9 Testyler"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16579119", "label": "Quintin Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15707309", "label": "Eugenio Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13490877", "label": "Ines Testoni"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12007019", "label": "Paul Testard"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12277140", "label": "Jean Testas"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16539566", "label": "Roberto Testi"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16696900", "label": "Nic Testoni"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12306823", "label": "Fran\u00e7ois Testud"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16095049", "label": "N. Testekul"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13574614", "label": "Laura Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13575472", "label": "Ferdinando Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15508801", "label": "Giorgio Testi"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13595542", "label": "Hubert Testard"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15049141", "label": "Andrea Testa"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13609236", "label": "\u00c9lisabeth Testard"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16734894", "label": "David Testan"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16681032", "label": "Anna Testi"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/13749517", "label": "G\u00e9rard Teste"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/16507613", "label": "Leonardo Testi"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/15517824", "label": "Fr\u00e9d\u00e9ric Testu"}, {"category": "Auteurs (328 r\u00e9sultats)", "raw_category": "Person", "value": "http://data.bnf.fr/12161012", "label": "Luc Testut"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16144833", "label": "Test\u00e9PourVous"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12373298", "label": "Testut"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14944765", "label": "Armando Testa"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14025594", "label": "Rorschach test"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12530939", "label": "Teste. Gironde. La"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/11990095", "label": "Tests. Paris"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16490517", "label": "L\u00e9gr\u00e1dy Testv\u00e9rek"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12304804", "label": "Testis workshop"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12210721", "label": "Novi Testamenti Conventus"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13939486", "label": "Crash test dummies"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/15118256", "label": "Testsyf2 Crash Records"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14275359", "label": "154 Testa International"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14546755", "label": "Enzyme testing labs"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12218935", "label": "Magyar kir\u00e1lyi test\u0151rs\u00e9g"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12364911", "label": "Pocket testament league"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12410662", "label": "Educational testing service"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12525779", "label": "SHS-TEST"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12531733", "label": "Testa mora. Bastia"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13772141", "label": "Testuale. Milan, Italie"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12304806", "label": "North American testis Workshop (06 ; 1979 ; Houston, Tex.)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/15602909", "label": "Chinese proficiency Test. P\u00e9kin"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14637014", "label": "IEEE VLSI Test symposium (17 ; 1999 ; Dana Point, Calif.)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14708186", "label": "Ecole populaire de Testaccio"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13620053", "label": "North American testis workshop (14 ; 1997 ; Baltimore, Md.)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16513006", "label": "Nordic New Testament conference (2007 ; Helsingborg, Su\u00e8de)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16512300", "label": "Nordic New Testament conference (07 ; 2003 ; Stavanger, Norv\u00e8ge)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/15541154", "label": "European test & telemetry conference (2005 ; Toulouse)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12411859", "label": "Associu Testa mora Lyon"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/15072484", "label": "Nordic New Testament conference (06 ; 1999 ; Hiller\u00f8d, Danemark)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13906981", "label": "Test (Groupe de rock)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12147988", "label": "Oud-Testamentische werkgemeenschap"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14013592", "label": "Testament (Producteur de phonogrammes)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12148497", "label": "Studiorum novi testamenti societas"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12522503", "label": "North American testis workshop (08 ; 1983 ; Bethesda, Ma.)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14258528", "label": "Peter & the Test Tube Babies"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13906982", "label": "Testament (Groupe de hard rock)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12402002", "label": "European test and telemetry conference"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12513796", "label": "Sessio Veteri Testamento investigando destinata"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14624683", "label": "Colloquio internazionale Testo e contesto (02 ; 1996 ; Macerata, Italie)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16088333", "label": "Arbeitskreis Rezeption des Alten Testaments"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12430592", "label": "Organization for testing in Europe"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12439696", "label": "American society for nondestructives testing"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/16710206", "label": "R\u00e9vai Testv\u00e9rek Irodalmi Int\u00e9zet. Budapest"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14627478", "label": "Colloquio internazionale Testo e contesto"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13508653", "label": "Seminari pasquali di analisi testuale (08 ; 1992 ; Baggni di Lucca, Italie)"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/11883738", "label": "World conference on nondestructive testing"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13508651", "label": "Seminari pasquali di analisi testuale"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/14440744", "label": "Groupe Tests. 01 Etudes. Paris"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/12851563", "label": "Mus\u00e9e Testud-Latarjet de m\u00e9decine et d'anatomie. Lyon"}, {"category": "Organisations (220 r\u00e9sultats)", "raw_category": "Org", "value": "http://data.bnf.fr/13566380", "label": "Seminari Pasquali di analisi testuale (10 ; 1994 ; Baggni di Lucca, Italie)"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12215111", "label": "Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16249180", "label": "Testamentum"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16568166", "label": "Testimony"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16000450", "label": "Testamentum"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16119530", "label": "Testamento"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12530763", "label": "Testamento"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16174305", "label": "Testaments"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12008249", "label": "New Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/14468510", "label": "Heiligenst\u00e4dter Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/14425690", "label": "Das Testamentbuch"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16474609", "label": "Testet : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16622123", "label": "Le testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12103834", "label": "Testament politique"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16197697", "label": "Testimonia sanctorum"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/14781852", "label": "Testamentum asini"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12063001", "label": "Testament de Job"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12066668", "label": "Testament of Moses"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12066688", "label": "Testament d'Adam"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12066857", "label": "Testament of Abraham"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12066866", "label": "Testament d'Adam"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16473189", "label": "Greek testament : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12066881", "label": "Testament of Solomon"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16469519", "label": "Le Testament : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16650506", "label": "Testament de Cris\u00e8de"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16468343", "label": "Le Testament : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13769662", "label": "Testi per nulla"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13866637", "label": "Gi\u00f9 la testa"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16505655", "label": "Testament of Naphtali"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16211738", "label": "Pilgrim's testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/14662126", "label": "Il testimone : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12207167", "label": "Testament du Lingon"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13598728", "label": "Testimonia divinae scripturae"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13568546", "label": "Le dernier testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12261691", "label": "Testament d' Isaac"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16138501", "label": "In Vatinium testem"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13336902", "label": "Testimony of truth"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13985608", "label": "Testament. Voix, orchestre"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12008323", "label": "Bible. Ancien Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12008385", "label": "Testament d'Ez\u00e9chias"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/14661857", "label": "Test pilot : film"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16739816", "label": "test DSI tic"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/16615329", "label": "Paradisus musicus testudinis"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/13981653", "label": "La testa di bronzo"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12003316", "label": "Paraphrases in Novum Testamentum"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12008246", "label": "Apocryphes du Nouveau Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12011600", "label": "\u00c9p\u00eetres du Nouveau Testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12035234", "label": "Testament of our Lord"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12127611", "label": "Annotationes in Novum Testamentum"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12156837", "label": "Grand testament"}, {"category": "\u0152uvres (155 r\u00e9sultats)", "raw_category": "Work", "value": "http://data.bnf.fr/12426466", "label": "Mistere du Viel Testament"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11975828", "label": "Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12650563", "label": "Testerianos"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12011484", "label": "Testudinid\u00e9s"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11935669", "label": "Testament"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12307777", "label": "Testudo"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13564091", "label": "Testicardines"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11976787", "label": "Testis"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12262356", "label": "Testost\u00e9rone"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12006488", "label": "Testudines"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12372967", "label": "Testaments-partages"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13163032", "label": "Tests projectifs"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11965063", "label": "H\u00e9magglutination -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11965285", "label": "Histocompatibilit\u00e9 -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16628940", "label": "Cordon testiculaire"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162863", "label": "Test P.N."}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162722", "label": "Caract\u00e8re -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162745", "label": "Tests mentaux"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162746", "label": "Tests mentaux"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162757", "label": "Aptitude -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11975370", "label": "Preuve testimoniale"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162807", "label": "Z, Test"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/13162818", "label": "Ts\u00e8dek, Test"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16214459", "label": "Testudo cagado"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16214454", "label": "Testudo argentina"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16214450", "label": "Testudo boiei"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11932131", "label": "Tests mentaux"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16914849", "label": "Testudo fimbriata"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11979051", "label": "Tests objectifs"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11979349", "label": "Tests professionnels"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11979350", "label": "Cr\u00e9ativit\u00e9 -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11979802", "label": "R\u00e9flexes -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11979869", "label": "Toxicit\u00e9 -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11980416", "label": "Ex\u00e9cution testamentaire"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11983132", "label": "Mutag\u00e8nes -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11992439", "label": "Canc\u00e9rog\u00e8nes -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16762356", "label": "Testament spirituel"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11994576", "label": "Testour (Tunisie)"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11995833", "label": "Testaments litt\u00e9raires"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16209400", "label": "KET (test)"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12000631", "label": "Bourse testiculaire"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12002077", "label": "Testicule -- Hormones"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16174529", "label": "Testudo serpentina"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12006483", "label": "Peau -- Tests"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12007659", "label": "Testicule -- \u00c9chographie"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/16106020", "label": "Testudo gopher"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/11950704", "label": "Tests (technique)"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/12042297", "label": "Bible -- Testaments"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/15748688", "label": "Testudo marginata"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/15634569", "label": "Testudo horsfieldii"}, {"category": "Th\u00e8mes (225 r\u00e9sultats)", "raw_category": "Rameau", "value": "http://data.bnf.fr/15600493", "label": "Testudo gigantea"}, {"category": "Lieux (5 r\u00e9sultats)", "raw_category": "Geo", "value": "http://data.bnf.fr/15256575", "label": "La Teste (Gironde, France)"}, {"category": "Lieux (5 r\u00e9sultats)", "raw_category": "Geo", "value": "http://data.bnf.fr/15174367", "label": "La Teste, Cazaux (Gironde, France)"}, {"category": "Lieux (5 r\u00e9sultats)", "raw_category": "Geo", "value": "http://data.bnf.fr/15420607", "label": "\u00celes Los Testigos (Nueva Esparta, Venezuela)"}, {"category": "Lieux (5 r\u00e9sultats)", "raw_category": "Geo", "value": "http://data.bnf.fr/15804058", "label": "Tizi-n-Test, colline (Maroc)"}, {"category": "Lieux (5 r\u00e9sultats)", "raw_category": "Geo", "value": "http://data.bnf.fr/15191929", "label": "For\u00eat domaniale de La Teste (Gironde, France)"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/43520222", "label": "Testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39465298", "label": "Testarium"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/42631010", "label": "Testimony r\u00e9citatif"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39490675", "label": "Monsieur Teste"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39490674", "label": "Monsieur Teste"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/41366827", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39477130", "label": "Le Nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39477321", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/41150531", "label": "Testtttt SPE allong\u00e9"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39495616", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39463412", "label": "Le Nouveau Testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39494274", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39463413", "label": "Le Nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/42408118", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/42355442", "label": "Le nouveau testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/44292208", "label": "Le testament de Vanda"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39467437", "label": "La Testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39467978", "label": "Le mal de test"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39481493", "label": "Testament du P\u00e8re Leleu"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39487196", "label": "Le testament du jour"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489167", "label": "Le Testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489168", "label": "Le Testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489169", "label": "Le Testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489508", "label": "Le Testament du Chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489509", "label": "Le Testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39491442", "label": "Le Testament des ogres"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39491443", "label": "Le Testament des ogres"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39491612", "label": "Le Mal de test"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39492512", "label": "Le testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39496916", "label": "Le testament du chien"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39499141", "label": "Testament d'un r\u00e9mouleur"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/43551970", "label": "Le testament de Pantalone"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/43732860", "label": "Le testament de Vanda"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39460796", "label": "Le Testament de C\u00e9sar Girodot"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39481848", "label": "Le Testament du p\u00e8re Leleu"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39494435", "label": "Le testament de Fran\u00e7ois Villon"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39481847", "label": "Le Testament du p\u00e8re Leleu"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39459610", "label": "Le testament de C\u00e9sar Girodot"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39498437", "label": "Le testament du P\u00e8re Leleu"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489523", "label": "Testament d'un sale Pierrot"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39489522", "label": "Testament d'un sale Pierrot"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39487068", "label": "Le Testament de Tante Caroline"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39466509", "label": "Le Testament de tante Caroline"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39494148", "label": "Le testament de tante Caroline"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39459312", "label": "Le testament du P\u00e8re Leleu"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/41241086", "label": "Le testament de M. de Crac"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39480584", "label": "Mikho\u00ebls ou le Testament d'un acteur juif"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39499056", "label": "Le P\u00e2ris de Sur\u00eane ou La clause du testament"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39467439", "label": "Le Testament du chien ou le Jeu de la Mis\u00e9ricordieuse"}, {"category": "Spectacles (51 r\u00e9sultats)", "raw_category": "Performance", "value": "http://data.bnf.fr/39467438", "label": "Le testament du chien ou Le jeu de la mis\u00e9ricordieuse"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34381602", "label": "Testemunho"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34512106", "label": "TEST"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34512736", "label": "Test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34444003", "label": "[Test]"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34444011", "label": "[Test]"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37577802", "label": "Testo"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34471445", "label": "Testuale"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34349845", "label": "[Test]"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/38937142", "label": "Testu"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34415903", "label": "Test magazine"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/43877726", "label": "Tests micro !"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/39228993", "label": "F\u00e9minin tests"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/39104567", "label": "Studi testuali"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34430450", "label": "Lang. test."}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/38901544", "label": "Test mag"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/43607776", "label": "G\u00e9ocarrefour (Test)"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/38880820", "label": "Nome testo"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34446122", "label": "Sp\u00e9cial tests"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37587471", "label": "Cult. testo"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/32804703", "label": "La Teste-journal"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37587066", "label": "Parola testo"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/42328139", "label": "Le Testament"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37579175", "label": "Crit. testo"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37575705", "label": "Testo fronte"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/36948821", "label": "Mobiles test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37014288", "label": "Phone test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/42202000", "label": "Quad. Testuale"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34469355", "label": "Novum Testam."}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34540533", "label": "Test sant\u00e9"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/40200817", "label": "Auto test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34471832", "label": "Vetus Testam."}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34381986", "label": "[Test comparaty]"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/44225294", "label": "Maxi tests"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/40053414", "label": "Ludo test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/42440744", "label": "Micro portable tests"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34396905", "label": "[Test s\u00e9lection vacances]"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34418782", "label": "Tests VPC pratique"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34433338", "label": "Music test magazine"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34454055", "label": "Elenchos (Testo stamp.)"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34462600", "label": "Aevum (Testo stamp.)"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34464877", "label": "Cheiron (Testo stamp.)"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34469140", "label": "New. Testam. stud."}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34470512", "label": "Rinascimento (Testo stamp.)"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34519342", "label": "Planchemag. Sp\u00e9cial test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34525982", "label": "Music test guitare"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34527941", "label": "Music test claviers"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/34536587", "label": "Culture-test"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/36136120", "label": "Test et vous"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/36137332", "label": "Test\u00e9 pour vous"}, {"category": "P\u00e9riodiques (162 r\u00e9sultats)", "raw_category": "Periodic", "value": "http://data.bnf.fr/37015530", "label": "Psycho test & loisirs"}]