improve on dataloading. add fixture management with proper interface to load data.
authorymh <ymh.work@gmail.com>
Mon, 22 Feb 2016 18:06:39 +0100
changeset 126 e87a340711a4
parent 125 e550b10fe3ca
child 127 5cd8c3065c38
improve on dataloading. add fixture management with proper interface to load data.
cms/app-client/.jshintrc
cms/app-client/app/adapters/application.js
cms/app-client/app/components/visu-langues.js
cms/app-client/app/controllers/application.js
cms/app-client/app/initializers/constants.js
cms/app-client/app/mirage/config.js
cms/app-client/app/mirage/fixtures/documents.js
cms/app-client/app/mirage/fixtures/languages.js
cms/app-client/app/models/document.js
cms/app-client/app/services/constants.js
cms/app-client/bower.json
cms/app-client/package.json
cms/app-client/public/langues.json
cms/app-client/tests/.jshintrc
cms/app-client/tests/index.html
cms/app-client/tests/unit/initializers/constants-test.js
cms/app-client/tests/unit/services/constants-test.js
server/src/app/Http/Controllers/Api/LanguageController.php
server/src/app/Http/routes.php
server/src/app/Providers/RepositoryServiceProvider.php
server/src/app/Providers/SparqlClientServiceProvider.php
server/src/config/app.php
server/src/tests/Controllers/LanguageControllerTest.php
--- a/cms/app-client/.jshintrc	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/.jshintrc	Mon Feb 22 18:06:39 2016 +0100
@@ -1,5 +1,6 @@
 {
   "predef": [
+    "server",
     "document",
     "window",
     "-Promise"
--- a/cms/app-client/app/adapters/application.js	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/app/adapters/application.js	Mon Feb 22 18:06:39 2016 +0100
@@ -1,6 +1,13 @@
-//import DS from 'ember-data';
+import RESTAdapter from 'ember-data/adapters/rest';
+import ENV from 'app-client/config/environment';
 
-export { default } from 'ember-data-fixture-adapter';
+export default RESTAdapter.extend({
+  namespace: ENV.baseURL.replace(/\/$/,"")+'/api/v1',
+  //TODO: pass this as configuration
+  //host: 'http://localhost:8000'
+});
+
+//export { default } from 'ember-data-fixture-adapter';
 
 // export default DS.RESTAdapter.extend({
 //   host: 'http://127.0.0.1:8000',
--- a/cms/app-client/app/components/visu-langues.js	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/app/components/visu-langues.js	Mon Feb 22 18:06:39 2016 +0100
@@ -1,7 +1,10 @@
 import Ember from 'ember';
 import d3 from 'd3';
+import ENV from 'app-client/config/environment';
+import _ from 'lodash/lodash';
 
 export default Ember.Component.extend({
+  constants: Ember.inject.service(),
   didInsertElement: function(){
     var _this = this;
     var margin = {top: 20, right: 0, bottom: 0, left: 0},
@@ -46,7 +49,11 @@
         .attr("y", 6 - margin.top)
         .attr("dy", ".75em");
 
-    d3.json("langues.json", function(root) {
+    var baseurl = ENV.baseURL.replace(/\/$/,"")+'/api/v1';
+    d3.json(baseurl+"/languages", function(languages) {
+
+      var root = _.cloneDeep(_this.constants.LANGUAGES_TREEMAP);
+
       initialize(root);
       accumulate(root);
       layout(root);
@@ -64,7 +71,7 @@
       // We also take a snapshot of the original children (_children) to avoid
       // the children being overwritten when when layout is computed.
       function accumulate(d) {
-        return (d._children = d.children) ? d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0) : d.value;
+        return (d._children = d.children) ? (d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)) : (d.value = (languages[d.id]?languages[d.id]:0));
       }
 
       // Compute the treemap layout recursively such that each group of siblings
@@ -92,7 +99,7 @@
         grandparent
             .datum(d.parent)
             .on("click", transition)
-          .select("text")
+            .select("text")
             .text(name(d));
 
         var g1 = svg.insert("g", ".grandparent")
@@ -101,7 +108,7 @@
 
         var g = g1.selectAll("g")
             .data(d._children)
-          .enter().append("g");
+            .enter().append("g");
 
         g.classed("bla", true).on("click", selectHandler);
 
--- a/cms/app-client/app/controllers/application.js	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/app/controllers/application.js	Mon Feb 22 18:06:39 2016 +0100
@@ -12,10 +12,10 @@
   currentId: null,
   currentItem: Ember.computed('currentId', function() {
     Ember.$(".result-item").toggleClass("playing", false);
-    Ember.$("#"+this.get('currentId')).toggleClass("playing", true);
     if (this.get('currentId') === null){
       return null;
     }
+    Ember.$("#"+this.get('currentId').replace( /(:|\.|\[|\]|,)/g, "\\$1" )).toggleClass("playing", true);
     return this.store.findRecord('document', this.get('currentId'));
   }),
   modalItem: Ember.computed('detail', function() {
@@ -83,11 +83,12 @@
       this.set("currentId", item.id);
     },
     showMore: function(item){
-      if (Ember.$("#"+item.id).hasClass("show-more")){
-          Ember.$("#"+item.id).toggleClass("show-more", false);
+      var domItem = Ember.$("#"+item.id.replace( /(:|\.|\[|\]|,)/g, "\\$1" ));
+      if (domItem.hasClass("show-more")){
+          domItem.toggleClass("show-more", false);
       } else{
         Ember.$(".result-item").toggleClass("show-more", false);
-        Ember.$("#"+item.id).toggleClass("show-more", true);
+        domItem.toggleClass("show-more", true);
       }
     },
     toggleModal: function(item){
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/initializers/constants.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,10 @@
+export function initialize( application ) {
+  application.inject('route', 'constants', 'service:constants');
+  application.inject('controller', 'constants', 'service:constants');
+  application.inject('component', 'constants', 'service:constants');
+}
+
+export default {
+  name: 'constants',
+  initialize
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/mirage/config.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,104 @@
+import ENV from 'app-client/config/environment';
+import _ from 'lodash/lodash';
+
+export default function() {
+
+  // These comments are here to help you get started. Feel free to delete them.
+
+  /*
+    Config (with defaults).
+
+    Note: these only affect routes defined *after* them!
+  */
+  // this.urlPrefix = '';    // make this `http://localhost:8080`, for example, if your API is on a different server
+  // this.namespace = '';    // make this `api`, for example, if your API is namespaced
+  this.namespace = ENV.baseURL.replace(/\/$/,"")+'/api/v1';
+  // this.timing = 400;      // delay for each request, automatically set to 0 during testing
+
+  this.get('/documents');
+  this.get('/documents/:id', function(db, request) {
+    var docId = decodeURIComponent(request.params.id);
+    console.log("DOC ID", docId);
+
+    return {
+      'document': db.documents.find(docId)
+    };
+  });
+
+  this.get('/languages', function(db) {
+    var res = {};
+    _.each(db.languages, function(lang) {
+      res[lang.id] = lang.count;
+    });
+    return res;
+  });
+
+  /*
+    Route shorthand cheatsheet
+  */
+  /*
+    GET shorthands
+
+    // Collections
+    this.get('/contacts');
+    this.get('/contacts', 'users');
+    this.get('/contacts', ['contacts', 'addresses']);
+
+    // Single objects
+    this.get('/contacts/:id');
+    this.get('/contacts/:id', 'user');
+    this.get('/contacts/:id', ['contact', 'addresses']);
+  */
+
+  /*
+    POST shorthands
+
+    this.post('/contacts');
+    this.post('/contacts', 'user'); // specify the type of resource to be created
+  */
+
+  /*
+    PUT shorthands
+
+    this.put('/contacts/:id');
+    this.put('/contacts/:id', 'user'); // specify the type of resource to be updated
+  */
+
+  /*
+    DELETE shorthands
+
+    this.del('/contacts/:id');
+    this.del('/contacts/:id', 'user'); // specify the type of resource to be deleted
+
+    // Single object + related resources. Make sure parent resource is first.
+    this.del('/contacts/:id', ['contact', 'addresses']);
+  */
+
+  /*
+    Function fallback. Manipulate data in the db via
+
+      - db.{collection}
+      - db.{collection}.find(id)
+      - db.{collection}.where(query)
+      - db.{collection}.update(target, attrs)
+      - db.{collection}.remove(target)
+
+    // Example: return a single object with related models
+    this.get('/contacts/:id', function(db, request) {
+      var contactId = +request.params.id;
+
+      return {
+        contact: db.contacts.find(contactId),
+        addresses: db.addresses.where({contact_id: contactId})
+      };
+    });
+
+  */
+}
+
+/*
+You can optionally export a config that is only loaded during tests
+export function testConfig() {
+
+}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/mirage/fixtures/documents.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,1312 @@
+export default [
+  {
+    "id": "corpusparole:crdo-09-CAYCHAX_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-CAYCHAX_SOUND",
+    "title": "ALLOc : Caychax : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:16:38+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Alazet, Pierre",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144792_09-CAYCHAX_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144792_09-CAYCHAX_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M18S",
+        "extent_ms": 198000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144792.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144792.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M18S",
+        "extent_ms": 198000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144792_09-CAYCHAX_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144792_09-CAYCHAX_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT03M18S",
+        "extent_ms": 198000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-CAYCHAX.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-CAYCHAX.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-DUN_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-DUN_SOUND",
+    "title": "ALLOc : Dun : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:18:23+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Tricoire, Raymonde",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144793_09-DUN_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144793_09-DUN_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M07S",
+        "extent_ms": 187000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144793.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144793.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M07S",
+        "extent_ms": 187000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144793_09-DUN_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144793_09-DUN_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT03M07S",
+        "extent_ms": 187000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-DUN.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-DUN.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-LABASTIDE-DE-LORDAT_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-LABASTIDE-DE-LORDAT_SOUND",
+    "title": "ALLOc : La Bastide-de-Lordat : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:20:08+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Roumieu, Berthe",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144794_09-LABASTIDE-DE-LORDAT_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144794_09-LABASTIDE-DE-LORDAT_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M46S",
+        "extent_ms": 166000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144794.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144794.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M46S",
+        "extent_ms": 166000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144794_09-LABASTIDE-DE-LORDAT_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144794_09-LABASTIDE-DE-LORDAT_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M46S",
+        "extent_ms": 166000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LABASTIDE-DE-LORDAT.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LABASTIDE-DE-LORDAT.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-LOUBENS_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-LOUBENS_SOUND",
+    "title": "ALLOc : Loubens : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:21:23+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Faure, Antoinette",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144795_09-LOUBENS_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144795_09-LOUBENS_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M28S",
+        "extent_ms": 148000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144795.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144795.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M28S",
+        "extent_ms": 148000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144795_09-LOUBENS_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144795_09-LOUBENS_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M28S",
+        "extent_ms": 148000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LOUBENS.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LOUBENS.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-MERENS-LES-VALS_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-MERENS-LES-VALS_SOUND",
+    "title": "ALLOc : Mérens-les-Vals : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:22:24+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Laurens, François",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144796_09-MERENS-LES-VALS_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144796_09-MERENS-LES-VALS_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M45S",
+        "extent_ms": 165000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144796.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144796.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M45S",
+        "extent_ms": 165000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144796_09-MERENS-LES-VALS_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144796_09-MERENS-LES-VALS_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M45S",
+        "extent_ms": 165000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MERENS-LES-VALS.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MERENS-LES-VALS.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-MONTSEGUR_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-MONTSEGUR_SOUND",
+    "title": "ALLOc : Montségur : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:23:14+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Couquet, Marius",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144797_09-MONTSEGUR_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144797_09-MONTSEGUR_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M50S",
+        "extent_ms": 170000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144797.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144797.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M50S",
+        "extent_ms": 170000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144797_09-MONTSEGUR_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144797_09-MONTSEGUR_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M50S",
+        "extent_ms": 170000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MONTSEGUR.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MONTSEGUR.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-PRAYOLS_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-PRAYOLS_SOUND",
+    "title": "ALLOc : Prayols : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:24:06+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Laguerre, Aimé",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144798_09-PRAYOLS_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144798_09-PRAYOLS_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M02S",
+        "extent_ms": 182000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144798.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144798.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M02S",
+        "extent_ms": 182000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144798_09-PRAYOLS_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144798_09-PRAYOLS_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT03M02S",
+        "extent_ms": 182000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-PRAYOLS.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-PRAYOLS.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-QUERIGUT_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-QUERIGUT_SOUND",
+    "title": "ALLOc : Quérigut : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:24:56+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Tichadou, Joseph",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144799_09-QUERIGUT_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144799_09-QUERIGUT_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M51S",
+        "extent_ms": 171000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144799.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144799.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M51S",
+        "extent_ms": 171000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144799_09-QUERIGUT_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144799_09-QUERIGUT_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M51S",
+        "extent_ms": 171000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-QUERIGUT.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-QUERIGUT.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-SIGUER_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-SIGUER_SOUND",
+    "title": "ALLOc : Siguer : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:25:51+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Caujolle, Joseph",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144800_09-SIGUER_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144800_09-SIGUER_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M57S",
+        "extent_ms": 177000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144800.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144800.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M57S",
+        "extent_ms": 177000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144800_09-SIGUER_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144800_09-SIGUER_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M57S",
+        "extent_ms": 177000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SIGUER.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SIGUER.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-ST-MARTIN-D-OYDES_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-ST-MARTIN-D-OYDES_SOUND",
+    "title": "ALLOc : Saint-Martin-d'Oydes : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:26:22+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Ferriès, Marcel",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144801_09-ST-MARTIN-D-OYDES_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144801_09-ST-MARTIN-D-OYDES_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M05S",
+        "extent_ms": 185000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144801.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144801.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M05S",
+        "extent_ms": 185000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144801_09-ST-MARTIN-D-OYDES_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144801_09-ST-MARTIN-D-OYDES_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT03M05S",
+        "extent_ms": 185000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-ST-MARTIN-D-OYDES.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-ST-MARTIN-D-OYDES.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-09-SURBA_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-SURBA_SOUND",
+    "title": "ALLOc : Surba : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:26:42+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Roques, Camille",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "Del Duca, Jeanne",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144802_09-SURBA_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144802_09-SURBA_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M39S",
+        "extent_ms": 159000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144802.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144802.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M39S",
+        "extent_ms": 159000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144802_09-SURBA_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144802_09-SURBA_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M39S",
+        "extent_ms": 159000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SURBA.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SURBA.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-11-GRAMAZIE_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-GRAMAZIE_SOUND",
+    "title": "ALLOc : Gramazie : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:27:39+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Léger, Clémence",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "De Lorenzo, Linda",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144803_11-GRAMAZIE_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144803_11-GRAMAZIE_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M27S",
+        "extent_ms": 147000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144803.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144803.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M27S",
+        "extent_ms": 147000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144803_11-GRAMAZIE_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144803_11-GRAMAZIE_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M27S",
+        "extent_ms": 147000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-GRAMAZIE.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-GRAMAZIE.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-11-MOLLEVILLE_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-MOLLEVILLE_SOUND",
+    "title": "ALLOc : Molleville : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:28:06+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Cathala, Auguste",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "De Lorenzo, Linda",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144804_11-MOLLEVILLE_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144804_11-MOLLEVILLE_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M53S",
+        "extent_ms": 173000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144804.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144804.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M53S",
+        "extent_ms": 173000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144804_11-MOLLEVILLE_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144804_11-MOLLEVILLE_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M53S",
+        "extent_ms": 173000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-MOLLEVILLE.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-MOLLEVILLE.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-11-PUIVERT_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-PUIVERT_SOUND",
+    "title": "ALLOc : Puivert : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:28:40+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Maugard, Marie",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "De Lorenzo, Linda",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144805_11-PUIVERT_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144805_11-PUIVERT_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M35S",
+        "extent_ms": 155000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144805.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144805.wav",
+        "format": "audio/x-wav",
+        "extent": "PT02M35S",
+        "extent_ms": 155000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144805_11-PUIVERT_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144805_11-PUIVERT_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT02M35S",
+        "extent_ms": 155000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-PUIVERT.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-PUIVERT.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  },
+  {
+    "id": "corpusparole:crdo-11-RIBOUISSE_SOUND",
+    "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-RIBOUISSE_SOUND",
+    "title": "ALLOc : Ribouisse : Parabole",
+    "language": "http://lexvo.org/id/iso639-3/oci",
+    "modified": "2010-10-25T18:29:32+02:00",
+    "publishers": [
+      "Équipe de Recherche en Syntaxe et Sémantique",
+      "Bases, corpus, langage"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/56666014",
+        "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
+      },
+      {
+        "name": "LDOR",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Thésaurus Occitan",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": "Équipe de Recherche en Syntaxe et Sémantique",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": "Bases, corpus, langage",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/editor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/91792187",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/51700729",
+        "role": "http://www.language-archives.org/OLAC/1.1/researcher"
+      },
+      {
+        "name": "Dournès, Lucien",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      },
+      {
+        "name": "De Lorenzo, Linda",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
+      }
+    ],
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/144806_11-RIBOUISSE_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/144806_11-RIBOUISSE_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M11S",
+        "extent_ms": 191000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/144806.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/144806.wav",
+        "format": "audio/x-wav",
+        "extent": "PT03M11S",
+        "extent_ms": 191000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/144806_11-RIBOUISSE_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/144806_11-RIBOUISSE_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT03M11S",
+        "extent_ms": 191000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-RIBOUISSE.xml": {
+        "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-RIBOUISSE.xml",
+        "format": "application/xml",
+        "extent": null,
+        "extent_ms": null,
+        "master": false
+      }
+    }
+  }
+];
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/mirage/fixtures/languages.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,43 @@
+export default [
+  { 'id': "http://lexvo.org/id/iso639-3/fra", 'count': 1559 },
+  { 'id': "http://lexvo.org/id/iso639-3/gsw", 'count': 851 },
+  { 'id': "http://lexvo.org/id/iso639-3/bre", 'count': 403 },
+  { 'id': "http://lexvo.org/id/iso639-3/oci", 'count': 344 },
+  { 'id': "http://lexvo.org/id/iso639-3/djk", 'count': 93 },
+  { 'id': "http://lexvo.org/id/iso639-3/lad", 'count': 77 },
+  { 'id': "http://lexvo.org/id/iso639-3/pcd", 'count': 75 },
+  { 'id': "http://lexvo.org/id/iso639-3/frp", 'count': 60 },
+  { 'id': "http://lexvo.org/id/iso639-3/und", 'count': 45 },
+  { 'id': "http://lexvo.org/id/iso639-3/cos", 'count': 40 },
+  { 'id': "http://lexvo.org/id/iso639-3/fsl", 'count': 40 },
+  { 'id': "http://lexvo.org/id/iso639-3/rcf", 'count': 32 },
+  { 'id': "http://lexvo.org/id/iso639-3/fud", 'count': 23 },
+  { 'id': "http://lexvo.org/id/iso639-3/wls", 'count': 20 },
+  { 'id': "http://lexvo.org/id/iso639-3/lsy", 'count': 18 },
+  { 'id': "http://lexvo.org/id/iso639-3/gcf", 'count': 15 },
+  { 'id': "http://lexvo.org/id/iso639-3/nem", 'count': 15 },
+  { 'id': "http://lexvo.org/id/iso639-3/uve", 'count': 13 },
+  { 'id': "http://lexvo.org/id/iso639-3/ane", 'count': 12 },
+  { 'id': "http://lexvo.org/id/iso639-3/axx", 'count': 9 },
+  { 'id': "http://lexvo.org/id/iso639-3/cam", 'count': 9 },
+  { 'id': "http://lexvo.org/id/iso639-3/eng", 'count': 8 },
+  { 'id': "http://lexvo.org/id/iso639-3/iai", 'count': 8 },
+  { 'id': "http://lexvo.org/id/iso639-3/kab", 'count': 8 },
+  { 'id': "http://lexvo.org/id/iso639-3/plu", 'count': 6 },
+  { 'id': "http://lexvo.org/id/iso639-3/bwa", 'count': 4 },
+  { 'id': "http://lexvo.org/id/iso639-3/car", 'count': 4 },
+  { 'id': "http://lexvo.org/id/iso639-3/gcr", 'count': 4 },
+  { 'id': "http://lexvo.org/id/iso639-3/nee", 'count': 4 },
+  { 'id': "http://lexvo.org/id/iso639-3/ell", 'count': 3 },
+  { 'id': "http://lexvo.org/id/iso639-3/deu", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/dhv", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/nen", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/spa", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/srn", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/swb", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/tur", 'count': 2 },
+  { 'id': "http://lexvo.org/id/iso639-3/aji", 'count': 1 },
+  { 'id': "http://lexvo.org/id/iso639-3/ita", 'count': 1 },
+  { 'id': "http://lexvo.org/id/iso639-3/kdk", 'count': 1 },
+  { 'id': "http://lexvo.org/id/iso639-3/nua", 'count': 1 }
+];
--- a/cms/app-client/app/models/document.js	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/app/models/document.js	Mon Feb 22 18:06:39 2016 +0100
@@ -29,1316 +29,7 @@
 
 CPDocument.reopenClass({
   FIXTURES: [
-    {
-      "id": "corpusparole:crdo-09-CAYCHAX_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-CAYCHAX_SOUND",
-      "title": "ALLOc : Caychax : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:16:38+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Alazet, Pierre",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144792_09-CAYCHAX_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144792_09-CAYCHAX_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M18S",
-          "extent_ms": 198000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144792.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144792.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M18S",
-          "extent_ms": 198000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144792_09-CAYCHAX_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144792_09-CAYCHAX_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT03M18S",
-          "extent_ms": 198000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-CAYCHAX.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-CAYCHAX.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-DUN_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-DUN_SOUND",
-      "title": "ALLOc : Dun : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:18:23+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Tricoire, Raymonde",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144793_09-DUN_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144793_09-DUN_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M07S",
-          "extent_ms": 187000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144793.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144793.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M07S",
-          "extent_ms": 187000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144793_09-DUN_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144793_09-DUN_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT03M07S",
-          "extent_ms": 187000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-DUN.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-DUN.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-LABASTIDE-DE-LORDAT_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-LABASTIDE-DE-LORDAT_SOUND",
-      "title": "ALLOc : La Bastide-de-Lordat : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:20:08+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Roumieu, Berthe",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144794_09-LABASTIDE-DE-LORDAT_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144794_09-LABASTIDE-DE-LORDAT_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M46S",
-          "extent_ms": 166000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144794.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144794.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M46S",
-          "extent_ms": 166000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144794_09-LABASTIDE-DE-LORDAT_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144794_09-LABASTIDE-DE-LORDAT_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M46S",
-          "extent_ms": 166000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LABASTIDE-DE-LORDAT.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LABASTIDE-DE-LORDAT.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-LOUBENS_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-LOUBENS_SOUND",
-      "title": "ALLOc : Loubens : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:21:23+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Faure, Antoinette",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144795_09-LOUBENS_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144795_09-LOUBENS_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M28S",
-          "extent_ms": 148000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144795.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144795.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M28S",
-          "extent_ms": 148000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144795_09-LOUBENS_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144795_09-LOUBENS_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M28S",
-          "extent_ms": 148000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LOUBENS.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-LOUBENS.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-MERENS-LES-VALS_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-MERENS-LES-VALS_SOUND",
-      "title": "ALLOc : Mérens-les-Vals : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:22:24+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Laurens, François",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144796_09-MERENS-LES-VALS_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144796_09-MERENS-LES-VALS_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M45S",
-          "extent_ms": 165000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144796.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144796.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M45S",
-          "extent_ms": 165000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144796_09-MERENS-LES-VALS_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144796_09-MERENS-LES-VALS_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M45S",
-          "extent_ms": 165000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MERENS-LES-VALS.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MERENS-LES-VALS.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-MONTSEGUR_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-MONTSEGUR_SOUND",
-      "title": "ALLOc : Montségur : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:23:14+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Couquet, Marius",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144797_09-MONTSEGUR_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144797_09-MONTSEGUR_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M50S",
-          "extent_ms": 170000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144797.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144797.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M50S",
-          "extent_ms": 170000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144797_09-MONTSEGUR_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144797_09-MONTSEGUR_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M50S",
-          "extent_ms": 170000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MONTSEGUR.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-MONTSEGUR.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-PRAYOLS_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-PRAYOLS_SOUND",
-      "title": "ALLOc : Prayols : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:24:06+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Laguerre, Aimé",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144798_09-PRAYOLS_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144798_09-PRAYOLS_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M02S",
-          "extent_ms": 182000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144798.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144798.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M02S",
-          "extent_ms": 182000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144798_09-PRAYOLS_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144798_09-PRAYOLS_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT03M02S",
-          "extent_ms": 182000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-PRAYOLS.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-PRAYOLS.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-QUERIGUT_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-QUERIGUT_SOUND",
-      "title": "ALLOc : Quérigut : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:24:56+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Tichadou, Joseph",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144799_09-QUERIGUT_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144799_09-QUERIGUT_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M51S",
-          "extent_ms": 171000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144799.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144799.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M51S",
-          "extent_ms": 171000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144799_09-QUERIGUT_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144799_09-QUERIGUT_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M51S",
-          "extent_ms": 171000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-QUERIGUT.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-QUERIGUT.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-SIGUER_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-SIGUER_SOUND",
-      "title": "ALLOc : Siguer : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:25:51+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Caujolle, Joseph",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144800_09-SIGUER_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144800_09-SIGUER_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M57S",
-          "extent_ms": 177000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144800.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144800.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M57S",
-          "extent_ms": 177000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144800_09-SIGUER_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144800_09-SIGUER_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M57S",
-          "extent_ms": 177000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SIGUER.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SIGUER.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-ST-MARTIN-D-OYDES_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-ST-MARTIN-D-OYDES_SOUND",
-      "title": "ALLOc : Saint-Martin-d'Oydes : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:26:22+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Ferriès, Marcel",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144801_09-ST-MARTIN-D-OYDES_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144801_09-ST-MARTIN-D-OYDES_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M05S",
-          "extent_ms": 185000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144801.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144801.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M05S",
-          "extent_ms": 185000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144801_09-ST-MARTIN-D-OYDES_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144801_09-ST-MARTIN-D-OYDES_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT03M05S",
-          "extent_ms": 185000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-ST-MARTIN-D-OYDES.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-ST-MARTIN-D-OYDES.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-09-SURBA_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-SURBA_SOUND",
-      "title": "ALLOc : Surba : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:26:42+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Roques, Camille",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "Del Duca, Jeanne",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144802_09-SURBA_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144802_09-SURBA_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M39S",
-          "extent_ms": 159000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144802.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144802.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M39S",
-          "extent_ms": 159000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144802_09-SURBA_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144802_09-SURBA_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M39S",
-          "extent_ms": 159000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SURBA.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-09-SURBA.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-11-GRAMAZIE_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-GRAMAZIE_SOUND",
-      "title": "ALLOc : Gramazie : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:27:39+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Léger, Clémence",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "De Lorenzo, Linda",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144803_11-GRAMAZIE_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144803_11-GRAMAZIE_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M27S",
-          "extent_ms": 147000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144803.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144803.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M27S",
-          "extent_ms": 147000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144803_11-GRAMAZIE_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144803_11-GRAMAZIE_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M27S",
-          "extent_ms": 147000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-GRAMAZIE.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-GRAMAZIE.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-11-MOLLEVILLE_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-MOLLEVILLE_SOUND",
-      "title": "ALLOc : Molleville : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:28:06+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Cathala, Auguste",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "De Lorenzo, Linda",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144804_11-MOLLEVILLE_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144804_11-MOLLEVILLE_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M53S",
-          "extent_ms": 173000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144804.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144804.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M53S",
-          "extent_ms": 173000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144804_11-MOLLEVILLE_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144804_11-MOLLEVILLE_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M53S",
-          "extent_ms": 173000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-MOLLEVILLE.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-MOLLEVILLE.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-11-PUIVERT_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-PUIVERT_SOUND",
-      "title": "ALLOc : Puivert : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:28:40+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Maugard, Marie",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "De Lorenzo, Linda",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144805_11-PUIVERT_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144805_11-PUIVERT_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M35S",
-          "extent_ms": 155000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144805.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144805.wav",
-          "format": "audio/x-wav",
-          "extent": "PT02M35S",
-          "extent_ms": 155000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144805_11-PUIVERT_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144805_11-PUIVERT_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT02M35S",
-          "extent_ms": 155000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-PUIVERT.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-PUIVERT.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    },
-    {
-      "id": "corpusparole:crdo-11-RIBOUISSE_SOUND",
-      "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-11-RIBOUISSE_SOUND",
-      "title": "ALLOc : Ribouisse : Parabole",
-      "language": "http://lexvo.org/id/iso639-3/oci",
-      "modified": "2010-10-25T18:29:32+02:00",
-      "publishers": [
-        "Équipe de Recherche en Syntaxe et Sémantique",
-        "Bases, corpus, langage"
-      ],
-      "contributors": [
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/56666014",
-          "role": "http://www.language-archives.org/OLAC/1.1/data_inputter"
-        },
-        {
-          "name": "LDOR",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Thésaurus Occitan",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/depositor"
-        },
-        {
-          "name": "Équipe de Recherche en Syntaxe et Sémantique",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": "Bases, corpus, langage",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/editor"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/91792187",
-          "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
-        },
-        {
-          "name": null,
-          "url": "http://viaf.org/viaf/51700729",
-          "role": "http://www.language-archives.org/OLAC/1.1/researcher"
-        },
-        {
-          "name": "Dournès, Lucien",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/speaker"
-        },
-        {
-          "name": "De Lorenzo, Linda",
-          "url": null,
-          "role": "http://www.language-archives.org/OLAC/1.1/transcriber"
-        }
-      ],
-      "mediaArray": {
-        "http://cocoon.huma-num.fr/data/archi/144806_11-RIBOUISSE_22km.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/144806_11-RIBOUISSE_22km.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M11S",
-          "extent_ms": 191000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/data/archi/masters/144806.wav": {
-          "url": "http://cocoon.huma-num.fr/data/archi/masters/144806.wav",
-          "format": "audio/x-wav",
-          "extent": "PT03M11S",
-          "extent_ms": 191000,
-          "master": true
-        },
-        "http://cocoon.huma-num.fr/data/archi/mp3/144806_11-RIBOUISSE_44k.mp3": {
-          "url": "http://cocoon.huma-num.fr/data/archi/mp3/144806_11-RIBOUISSE_44k.mp3",
-          "format": "audio/mpeg",
-          "extent": "PT03M11S",
-          "extent_ms": 191000,
-          "master": false
-        },
-        "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-RIBOUISSE.xml": {
-          "url": "http://cocoon.huma-num.fr/exist/crdo/thesoc/oc/crdo-11-RIBOUISSE.xml",
-          "format": "application/xml",
-          "extent": null,
-          "extent_ms": null,
-          "master": false
-        }
-      }
-    }
+
   ]
 });
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/app/services/constants.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,266 @@
+import Ember from 'ember';
+
+const OLAC_ROLES = {
+  'http://www.language-archives.org/OLAC/1.1/annotator': 'bo.olac_role_annotator',
+  'http://www.language-archives.org/OLAC/1.1/author': 'bo.olac_role_author',
+  'http://www.language-archives.org/OLAC/1.1/compiler': 'bo.olac_role_compiler',
+  'http://www.language-archives.org/OLAC/1.1/consultant': 'bo.olac_role_consultant',
+  'http://www.language-archives.org/OLAC/1.1/data_inputter': 'bo.olac_role_data_inputter',
+  'http://www.language-archives.org/OLAC/1.1/depositor': 'bo.olac_role_depositor',
+  'http://www.language-archives.org/OLAC/1.1/developer': 'bo.olac_role_developer',
+  'http://www.language-archives.org/OLAC/1.1/editor': 'bo.olac_role_editor',
+  'http://www.language-archives.org/OLAC/1.1/illustrator': 'bo.olac_role_illustrator',
+  'http://www.language-archives.org/OLAC/1.1/interpreter': 'bo.olac_role_interpreter',
+  'http://www.language-archives.org/OLAC/1.1/interviewer': 'bo.olac_role_interviewer',
+  'http://www.language-archives.org/OLAC/1.1/participant': 'bo.olac_role_participant',
+  'http://www.language-archives.org/OLAC/1.1/performer': 'bo.olac_role_performer',
+  'http://www.language-archives.org/OLAC/1.1/photographer': 'bo.olac_role_photographer',
+  'http://www.language-archives.org/OLAC/1.1/recorder': 'bo.olac_role_recorder',
+  'http://www.language-archives.org/OLAC/1.1/researcher': 'bo.olac_role_researcher',
+  'http://www.language-archives.org/OLAC/1.1/research_participant': 'bo.olac_role_research_participant',
+  'http://www.language-archives.org/OLAC/1.1/responder': 'bo.olac_role_responder',
+  'http://www.language-archives.org/OLAC/1.1/signer': 'bo.olac_role_signer',
+  'http://www.language-archives.org/OLAC/1.1/singer': 'bo.olac_role_singer',
+  'http://www.language-archives.org/OLAC/1.1/speaker': 'bo.olac_role_speaker',
+  'http://www.language-archives.org/OLAC/1.1/sponsor': 'bo.olac_role_sponsor',
+  'http://www.language-archives.org/OLAC/1.1/transcriber': 'bo.olac_role_transcriber',
+  'http://www.language-archives.org/OLAC/1.1/translator': 'bo.olac_role_translator',
+};
+
+const KEY_CODES = {
+  BACKSPACE : 8,
+  DELETE : 46,
+  ESCAPE: 27,
+  RETURN: 13,
+};
+
+const LANGUAGES_TREEMAP = {
+ "name": "Global",
+ "children": [
+  {
+    "id": "http://lexvo.org/id/iso639-3/fra",
+    "name": "Français",
+  },
+  {
+    "id": "http://lexvo.org/id/iso639-3/gsw",
+    "name": "Alsacien",
+  },
+  {
+    "id": "http://lexvo.org/id/iso639-3/bre",
+    "name": "Breton",
+  },
+  {
+    "id": "http://lexvo.org/id/iso639-3/oci",
+    "name": "Occitan",
+  },
+  {
+    "id": "http://lexvo.org/id/iso639-3/lad",
+    "name": "Judéo-espagnol",
+  },
+  {
+    "id": "http://lexvo.org/id/iso639-3/und",
+    "name": "Undetermined",
+  },
+  {
+    "name": "Langues régionales",
+    // (franccomtois,wallon, champenois, picard, normand, gallo,poitevin-saintongeais [dans ses deux variétés : poitevinet saintongeais], lorrain, bourguignon-morvandiau)
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/pcd",
+        "name": "Langues d'oïl",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/frp",
+        "name": "Francoprovençal",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/cos",
+        "name": "Corse",
+      }
+    ]
+  },
+  {
+    "name": "Langues non territoriales",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/fsl",
+        "name": "Langue des signes française (LSF)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/ber",
+        "name": "Berbère",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/kab",
+        "name": "Kabyle",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/ell",
+        "name": "Grec moderne"
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/spa",
+        "name": "Espagnol"
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/eng",
+        "name": "Anglais",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/ita",
+        "name": "Italien",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/deu",
+        "name": "Allemand",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/tur",
+        "name": "Turque",
+      },
+    ]
+  },
+  {
+    "name": "Les Creoles",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/rcf",
+        "name": "Creole de la Réunion",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/gcf",
+        "name": "Creole de la Guadeloupe",
+      }
+    ]
+  },
+  {
+    "name": "Guyane",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/gcf",
+        "name": "Ndyuka-Trio Pidgin (njt)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/plu",
+        "name": "Palikúr (plu)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/gcr",
+        "name": "Guianese Creole French (gcr)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/djk",
+        "name": "Eastern Maroon Creole (djk)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/srn",
+        "name": "Sranan Tongo (srn)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/car",
+        "name": "kali'na (car)",
+      }
+    ]
+  },
+  {
+    "name": "Mayotte",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/swb",
+        "name": "Maore Comorian (swb)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/lsy",
+        "name": "Mauritian Sign Language (lsy)",
+      }
+    ]
+  },
+  {
+    "name": "Polynésie française",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/uve",
+        "name": "West Uvean (uve)",
+      }
+    ]
+  },
+  {
+    "name": "Wallis et Futuna",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/fud",
+        "name": "LanEast Futuna (fud)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/wls",
+        "name": "Wallisian (wls)",
+      }
+    ]
+  },
+  {
+    "name": "Nouvelle-Calédonie",
+    "children": [
+      {
+        "id": "http://lexvo.org/id/iso639-3/wls",
+        "name": "Wallisian (wls)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/ane",
+        "name": "Xârâcùù (ane)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/cam",
+        "name": "Cemuhî (cam)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/axx",
+        "name": "Xaragure (axx)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/iai",
+        "name": "Iaai (iai)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/nee",
+        "name": "Nêlêmwa-Nixumwak (nee)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/dhv",
+        "name": "Dehu (dhv)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/nen",
+        "name": "Nengone (nen)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/aji",
+        "name": "Ajië (aji)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/kdk",
+        "name": "Numee (kdk)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/nem",
+        "name": "Nemi",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/nua",
+        "name": "Yuaga (nua)",
+      },
+      {
+        "id": "http://lexvo.org/id/iso639-3/bwa",
+        "name": "Bwatoo (bwa)",
+      }
+    ]
+  }
+ ]
+};
+
+export default Ember.Service.extend({
+  OLAC_ROLES: OLAC_ROLES,
+  KEY_CODES: KEY_CODES,
+  VIAF_BASE_URL: "http://viaf.org/viaf/",
+  LEXVO_BASE_URL: "http://lexvo.org/id/iso639-3/",
+  LANGUAGES_TREEMAP: LANGUAGES_TREEMAP
+});
--- a/cms/app-client/bower.json	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/bower.json	Mon Feb 22 18:06:39 2016 +0100
@@ -10,7 +10,9 @@
     "bootstrap-sass": "bootstrap-sass-official#~3.3.6",
     "ammap3": "~3.18.6",
     "font-awesome": "~4.4.0",
-    "pretender": "^0.10.0"
+    "pretender": "~0.10.1",
+    "lodash": "~3.7.0",
+    "Faker": "~3.0.0"
   },
   "resolutions": {
     "jquery": "^2.2"
--- a/cms/app-client/package.json	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/package.json	Mon Feb 22 18:06:39 2016 +0100
@@ -35,6 +35,7 @@
     "ember-cli-htmlbars-inline-precompile": "^0.3.1",
     "ember-cli-ic-ajax": "0.2.4",
     "ember-cli-inject-live-reload": "^1.3.1",
+    "ember-cli-mirage": "0.1.11",
     "ember-cli-qunit": "^1.2.1",
     "ember-cli-release": "0.2.8",
     "ember-cli-sass": "5.2.0",
--- a/cms/app-client/public/langues.json	Fri Feb 19 21:18:12 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-{
- "name": "Global",
- "children": [
-  {
-    "id": "id de langue (code Lexvo de la langues)",
-    "name": "Français",
-    "value": 859
-  },
-  {
-    "name": "Alsacien",
-    "value": 851
-  },
-  {
-    "name": "Breton",
-    "value": 403
-  },
-  {
-    "name": "Occitan",
-    "value": 344
-  },
-  {
-    "name": "Judéo-espagnol",
-    "value": 77
-  },
-  {
-    "name": "Undetermined",
-    "value": 45
-  },
-  {
-    "name": "Langues régionales",
-    "value": 175,
-    "children": [
-      {
-        "name": "Langues d'oïl",
-        "value": 75
-      },
-      {
-        "name": "Francoprovençal",
-        "value": 60
-      },
-      {
-        "name": "Corse",
-        "value": 40
-      }
-    ]
-  },
-  {
-    "name": "Langues non territoriales",
-    "value": 48,
-    "children": [
-      {
-        "name": "Langue des signes française (LSF)",
-        "value": 40
-      },
-      {
-        "name": "Berbère",
-        "value": 8
-      }
-    ]
-  },
-  {
-    "name": "Les Creoles",
-    "value": 47,
-    "children": [
-      {
-        "name": "Creole de la Réunion",
-        "value": 32
-      },
-      {
-        "name": "Creole de la Guadeloupe",
-        "value": 15
-      }
-    ]
-  },
-  {
-    "name": "Guyane",
-    "value": 59,
-    "children": [
-      {
-        "name": "Ndyuka-Trio Pidgin (njt)",
-        "value": 31
-      },
-      {
-        "name": "Palikúr (plu)",
-        "value": 6
-      },
-      {
-        "name": "Guianese Creole French (gcr)",
-        "value": 4
-      },
-      {
-        "name": "Eastern Maroon Creole (djk)",
-        "value": 16
-      },
-      {
-        "name": "Sranan Tongo (srn)",
-        "value": 2
-      }
-    ]
-  },
-  {
-    "name": "Mayotte",
-    "value": 20,
-    "children": [
-      {
-        "name": "Maore Comorian (swb)",
-        "value": 2
-      },
-      {
-        "name": "Mauritian Sign Language (lsy)",
-        "value": 18
-      }
-    ]
-  },
-  {
-    "name": "Polynésie française",
-    "value": 13,
-    "children": [
-      {
-        "name": "West Uvean (uve)",
-        "value": 13
-      }
-    ]
-  },
-  {
-    "name": "Wallis et Futuna",
-    "value": 43,
-    "children": [
-      {
-        "name": "LanEast Futuna (fud)",
-        "value": 23
-      },
-      {
-        "name": "Wallisian (wls)",
-        "value": 20
-      }
-    ]
-  },
-  {
-    "name": "Nouvelle-Calédonie",
-    "value": 68,
-    "children": [
-      {
-        "name": "Wallisian (wls)",
-        "value": 15
-      },
-      {
-        "name": "Xârâcùù (ane)",
-        "value": 12
-      },
-      {
-        "name": "Cemuhî (cam)",
-        "value": 9
-      },
-      {
-        "name": "Xaragure (axx)",
-        "value": 9
-      },
-      {
-        "name": "Iaai (iai)",
-        "value": 8
-      },
-      {
-        "name": "Nêlêmwa-Nixumwak (nee)",
-        "value": 4
-      },
-      {
-        "name": "Dehu (dhv)",
-        "value": 2
-      },
-      {
-        "name": "Nengone (nen)",
-        "value": 2
-      },
-      {
-        "name": "Ajië (aji)",
-        "value": 1
-      },
-      {
-        "name": "Numee (kdk)",
-        "value": 1
-      },
-      {
-        "name": "Yuaga (nua)",
-        "value": 1
-      },
-      {
-        "name": "Bwatoo (bwa)",
-        "value": 4
-      }
-    ]
-  }
- ]
-}
--- a/cms/app-client/tests/.jshintrc	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/tests/.jshintrc	Mon Feb 22 18:06:39 2016 +0100
@@ -1,5 +1,7 @@
 {
   "predef": [
+    "server",
+    "Audio",
     "document",
     "window",
     "location",
--- a/cms/app-client/tests/index.html	Fri Feb 19 21:18:12 2016 +0100
+++ b/cms/app-client/tests/index.html	Mon Feb 22 18:06:39 2016 +0100
@@ -24,6 +24,7 @@
     <script src="assets/vendor.js"></script>
     <script src="assets/test-support.js"></script>
     <script src="assets/app-client.js"></script>
+    <script src="assets/tests.js"></script>
     <script src="testem.js"></script>
     <script src="assets/test-loader.js"></script>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/tests/unit/initializers/constants-test.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,22 @@
+import Ember from 'ember';
+import ConstantsInitializer from 'app-client/initializers/constants';
+import { module, test } from 'qunit';
+
+let application;
+
+module('Unit | Initializer | constants', {
+  beforeEach() {
+    Ember.run(function() {
+      application = Ember.Application.create();
+      application.deferReadiness();
+    });
+  }
+});
+
+// Replace this with your real tests.
+test('it works', function(assert) {
+  ConstantsInitializer.initialize(application);
+
+  // you would normally confirm the results of the initializer here
+  assert.ok(true);
+});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cms/app-client/tests/unit/services/constants-test.js	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,12 @@
+import { moduleFor, test } from 'ember-qunit';
+
+moduleFor('service:constants', 'Unit | Service | constants', {
+  // Specify the other units that are required for this test.
+  // needs: ['service:foo']
+});
+
+// Replace this with your real tests.
+test('it exists', function(assert) {
+  let service = this.subject();
+  assert.ok(service);
+});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/app/Http/Controllers/Api/LanguageController.php	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,46 @@
+<?php
+
+namespace CorpusParole\Http\Controllers\Api;
+
+// use Illuminate\Http\Request;
+// use CorpusParole\Http\Requests;
+use CorpusParole\Http\Controllers\Controller;
+
+use CorpusParole\Libraries\Sparql\SparqlClient;
+
+
+class LanguageController extends Controller
+{
+    private $sparqlClient = null;
+
+    public function __construct(SparqlClient $sparqlClient) {
+        $this->sparqlClient = $sparqlClient;
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+
+        $query = "select ?lang (count(?lang) as ?count) where {
+            ?s a <http://www.europeana.eu/schemas/edm/ProvidedCHO>.
+            ?s <http://purl.org/dc/elements/1.1/language> ?lang
+        }
+        GROUP BY ?lang
+        ORDER BY DESC(?count)";
+
+        $docs = $this->sparqlClient->query($query);
+
+        $languages = [];
+        foreach ($docs as $row) {
+            $languages[$row->lang->getUri()] = $row->count->getValue();
+        }
+
+        return response()->json(['languages' => $languages ]);
+
+    }
+
+}
--- a/server/src/app/Http/routes.php	Fri Feb 19 21:18:12 2016 +0100
+++ b/server/src/app/Http/routes.php	Mon Feb 22 18:06:39 2016 +0100
@@ -42,4 +42,6 @@
                     ['only' => ['show']]);
     Route::resource('lexvo', 'Api\LexvoController',
                     ['only' => ['show']]);
+    Route::resource('languages', 'Api\LanguageController',
+                    ['only' => ['index']]);
 });
--- a/server/src/app/Providers/RepositoryServiceProvider.php	Fri Feb 19 21:18:12 2016 +0100
+++ b/server/src/app/Providers/RepositoryServiceProvider.php	Mon Feb 22 18:06:39 2016 +0100
@@ -12,10 +12,10 @@
         $this->app->bind(
             'CorpusParole\Repositories\DocumentRepository',
             function($app) {
-
-                $httpClient = $app->make('GuzzleHttp\Client', [[ 'base_uri' => config('corpusparole.sesame_query_url'), 'http_errors' => false]]);
-                $sparqlClient = $app->make('EasyRdf\Sparql\Client', [config('corpusparole.sesame_query_url'), config('corpusparole.sesame_update_url')]);
-                $cpSparqlClient = $app->make('CorpusParole\Libraries\Sparql\SparqlClient', [$httpClient, $sparqlClient]);
+                // $httpClient = $app->make('GuzzleHttp\Client', [[ 'base_uri' => config('corpusparole.sesame_query_url'), 'http_errors' => false]]);
+                // $sparqlClient = $app->make('EasyRdf\Sparql\Client', [config('corpusparole.sesame_query_url'), config('corpusparole.sesame_update_url')]);
+                // $cpSparqlClient = $app->make('CorpusParole\Libraries\Sparql\SparqlClient', [$httpClient, $sparqlClient]);
+                $cpSparqlClient = $app->make('CorpusParole\Libraries\Sparql\SparqlClient');
                 return $app->make('CorpusParole\Repositories\RdfDocumentRepository', [$cpSparqlClient,]);
             }
         );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/app/Providers/SparqlClientServiceProvider.php	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,22 @@
+<?php
+namespace CorpusParole\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use CorpusParole\Libraries\Sparql\SparqlClient;
+
+/**
+ * Service provider charged to bind repository interfaces to implementations
+ */
+class SparqlClientServiceProvider extends ServiceProvider {
+
+    public function register() {
+        $this->app->bind(
+            'CorpusParole\Libraries\Sparql\SparqlClient',
+            function($app) {
+                $httpClient = $app->make('GuzzleHttp\Client', [[ 'base_uri' => config('corpusparole.sesame_query_url'), 'http_errors' => false]]);
+                $sparqlClient = $app->make('EasyRdf\Sparql\Client', [config('corpusparole.sesame_query_url'), config('corpusparole.sesame_update_url')]);
+                return new SparqlClient($httpClient, $sparqlClient);
+            }
+        );
+    }
+}
--- a/server/src/config/app.php	Fri Feb 19 21:18:12 2016 +0100
+++ b/server/src/config/app.php	Mon Feb 22 18:06:39 2016 +0100
@@ -149,6 +149,7 @@
         'CorpusParole\Providers\AppServiceProvider',
         'CorpusParole\Providers\EventServiceProvider',
         'CorpusParole\Providers\RouteServiceProvider',
+        'CorpusParole\Providers\SparqlClientServiceProvider',
         'CorpusParole\Providers\RepositoryServiceProvider',
         'CorpusParole\Providers\GuzzleServiceProvider',
         'CorpusParole\Providers\ViafServiceProvider',
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/tests/Controllers/LanguageControllerTest.php	Mon Feb 22 18:06:39 2016 +0100
@@ -0,0 +1,55 @@
+<?php
+
+use Mockery as m;
+
+use EasyRdf\Resource;
+use EasyRdf\Literal;
+use CorpusParole\Services\ViafResolverException;
+
+/**
+ *
+ */
+class LanguageControllerTest extends TestCase {
+
+    private $sparqlClient;
+
+    public function setUp() {
+
+        parent::setup();
+
+        // create a mock of the post repository interface and inject it into the
+        // IoC container
+        $this->sparqlClient = m::mock('CorpusParole\Libraries\Sparql\SparqlClient');
+        $this->app->instance('CorpusParole\Libraries\Sparql\SparqlClient', $this->sparqlClient);
+    }
+
+    public function tearDown() {
+        m::close();
+        parent::tearDown();
+    }
+
+    public function testIndex() {
+        $query = "select ?lang (count(?lang) as ?count) where {
+            ?s a <http://www.europeana.eu/schemas/edm/ProvidedCHO>.
+            ?s <http://purl.org/dc/elements/1.1/language> ?lang
+        }
+        GROUP BY ?lang
+        ORDER BY DESC(?count)";
+
+        $this->sparqlClient
+            ->shouldReceive('query')
+            ->with($query)
+            ->once()
+            ->andReturn(new \ArrayIterator([
+                (object)['lang'=>new Resource('http://lexvo.org/id/iso639-3/gsw'), 'count' => Literal::create(44)],
+                (object)['lang'=>new Resource('http://lexvo.org/id/iso639-3/fra'), 'count' => Literal::create(33)],
+                (object)['lang'=>new Resource('http://lexvo.org/id/iso639-3/bre'), 'count' => Literal::create(22)],
+            ]));
+        $response = $this->get('/api/v1/languages/')->
+            seeJsonEquals(['languages' => [
+                'http://lexvo.org/id/iso639-3/gsw' => 44,
+                'http://lexvo.org/id/iso639-3/fra' => 33,
+                'http://lexvo.org/id/iso639-3/bre' => 22,
+            ]]);
+    }
+}