diff --git a/generic_data/EpnTapData/dataproduct_types.json b/generic_data/EpnTapData/dataproduct_types.json
deleted file mode 100644
index 6de349f..0000000
--- a/generic_data/EpnTapData/dataproduct_types.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "im": "Image",
-    "ma": "Map",
-    "sp": "Spectrum",
-    "ds": "Dynamic spectrum",
-    "sc": "Spectral cube",
-    "pr": "Profile",
-    "vo": "Volume",
-    "mo": "Movie",
-    "cu": "Cube",
-    "ts": "Time series",
-    "ca": "Catalogue",
-    "ci": "Catalogue item"
-}
diff --git a/generic_data/EpnTapData/mimetypes.json b/generic_data/EpnTapData/mimetypes.json
deleted file mode 100644
index 81cf9f5..0000000
--- a/generic_data/EpnTapData/mimetypes.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-    "application/fits": "fits",
-    "application/x-pds": "pds",
-    "image/x-pds": "pds",
-    "application/gml+xml": "gml",
-    "application/json": "json",
-    "application/octet-stream": "bin, idl, envi or matlab",
-    "application/pdf": "pdf",
-    "application/postscript": "ps",
-    "application/vnd.geo+json": "geojson",
-    "application/vnd.google-earth.kml+xml": "kml",
-    "application/vnd.google-earth.kmz": "kmz",
-    "application/vnd.ms-excel": "xls",
-    "application/x-asdm": "asdm",
-    "application/x-cdf": "cdf",
-    "application/x-cdf-istp": "cdf",
-    "application/x-cdf-pds4": "cdf",
-    "application/x-cef1": "cef1",
-    "application/x-cef2": "cef2",
-    "application/x-directory": "dir",
-    "application/x-fits-bintable": "bintable",
-    "application/x-fits-euro3d": "euro3d",
-    "application/x-fits-mef": "mef",
-    "application/x-geotiff": "geotiff",
-    "application/x-hdf": "hdf",
-    "application/x-netcdf": "nc",
-    "application/x-netcdf4": "nc",
-    "application/x-tar": "tar",
-    "application/x-tar-gzip": "gtar",
-    "application/x-votable+xml": "votable",
-    "application/x-votable+xml;content=datalink": "votable",
-    "application/zip": "zip",
-    "image/fits": "fits",
-    "image/gif": "gif",
-    "image/jpeg": "jpeg",
-    "image/png": "png",
-    "image/tiff": "tiff",
-    "image/x-fits-gzip": "fits",
-    "image/x-fits-hcompress": "fits",
-    "text/csv": "csv",
-    "text/html": "html",
-    "text/plain": "txt",
-    "text/tab-separated-values": "tsv",
-    "text/xml": "xml",
-    "video/mpeg": "mpeg",
-    "video/quicktime": "mov",
-    "video/x-msvideo": "avi"
-}
diff --git a/js/app/controllers/EpnTapModule.js b/js/app/controllers/EpnTapModule.js
index 13a5f14..274e2b8 100644
--- a/js/app/controllers/EpnTapModule.js
+++ b/js/app/controllers/EpnTapModule.js
@@ -7,6 +7,70 @@
  * @author  Nathanael Jourdane
  */
 
+productTypeDict = {
+	'im': 'Image',
+	'ma': 'Map',
+	'sp': 'Spectrum',
+	'ds': 'Dynamic spectrum',
+	'sc': 'Spectral cube',
+	'pr': 'Profile',
+	'vo': 'Volume',
+	'mo': 'Movie',
+	'cu': 'Cube',
+	'ts': 'Time series',
+	'ca': 'Catalogue',
+	'ci': 'Catalogue item'
+}
+
+mimetypeDict = {
+	'application/fits': 'fits',
+	'application/x-pds': 'pds',
+	'image/x-pds': 'pds',
+	'application/gml+xml': 'gml',
+	'application/json': 'json',
+	'application/octet-stream': 'bin, idl, envi or matlab',
+	'application/pdf': 'pdf',
+	'application/postscript': 'ps',
+	'application/vnd.geo+json': 'geojson',
+	'application/vnd.google-earth.kml+xml': 'kml',
+	'application/vnd.google-earth.kmz': 'kmz',
+	'application/vnd.ms-excel': 'xls',
+	'application/x-asdm': 'asdm',
+	'application/x-cdf': 'cdf',
+	'application/x-cdf-istp': 'cdf',
+	'application/x-cdf-pds4': 'cdf',
+	'application/x-cef1': 'cef1',
+	'application/x-cef2': 'cef2',
+	'application/x-directory': 'dir',
+	'application/x-fits-bintable': 'bintable',
+	'application/x-fits-euro3d': 'euro3d',
+	'application/x-fits-mef': 'mef',
+	'application/x-geotiff': 'geotiff',
+	'application/x-hdf': 'hdf',
+	'application/x-netcdf': 'nc',
+	'application/x-netcdf4': 'nc',
+	'application/x-tar': 'tar',
+	'application/x-tar-gzip': 'gtar',
+	'application/x-votable+xml': 'votable',
+	'application/x-votable+xml;content=datalink': 'votable',
+	'application/zip': 'zip',
+	'image/fits': 'fits',
+	'image/gif': 'gif',
+	'image/jpeg': 'jpeg',
+	'image/png': 'png',
+	'image/tiff': 'tiff',
+	'image/x-fits-gzip': 'fits',
+	'image/x-fits-hcompress': 'fits',
+	'text/csv': 'csv',
+	'text/html': 'html',
+	'text/plain': 'txt',
+	'text/tab-separated-values': 'tsv',
+	'text/xml': 'xml',
+	'video/mpeg': 'mpeg',
+	'video/quicktime': 'mov',
+	'video/x-msvideo': 'avi'
+}
+
 // Load text with Ajax synchronously: takes path to file and optional MIME type.
 function loadTextFileAjaxSync(filePath, mimeType) {
 	var xmlhttp=new XMLHttpRequest();
@@ -47,8 +111,6 @@ Ext.define('amdaDesktop.EpnTapModule', {
 
 		this.metadata = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/metadata.json', 'application/json'));
 		this.services = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/services.json', 'application/json'));
-		this.productTypeDict = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/dataproduct_types.json', 'application/json'));
-		this.mimetypeDict = JSON.parse(loadTextFileAjaxSync('../../generic_data/EpnTapData/mimetypes.json', 'application/json'));
 
 		this.select = Array();
 		this.filter = Array();
@@ -111,7 +173,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
 		}
 
 		var target = icons_dic[icon_id];
-		console.log("target: ", target);
+		// console.log("target: ", target);
 		this.initWindow(target);
 	},
 
@@ -143,8 +205,8 @@ Ext.define('amdaDesktop.EpnTapModule', {
 		// Update productTypeCB
 		this.productTypeCB.getStore().add({'id': 'all', 'name': 'All data product types'});
 		for (var productTypeId in this.metadata) {
-			if (productTypeId in this.productTypeDict) {
-				this.productTypeCB.getStore().add({'id': productTypeId, 'name': this.prettify(this.productTypeDict[productTypeId])});
+			if (productTypeId in productTypeDict) {
+				this.productTypeCB.getStore().add({'id': productTypeId, 'name': this.prettify(productTypeDict[productTypeId])});
 			} else {
 				console.log('Unknown data product type "' + productTypeId + '"');
 			}
@@ -154,7 +216,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
 		if(target) {
 			// --- Select product types ---
 			if (! target[0] in this.productTypeCB.getStore()) {
-				alert("Sorry, product type " + this.productTypeDict[target[0]] + " is not found in available services.");
+				alert("Sorry, product type " + productTypeDict[target[0]] + " is not found in available services.");
 				return;
 			}
 			this.productTypeCB.select(target[0]);
@@ -214,7 +276,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
 				this.targetClassCB.disable();
 				this.targetClassCB.select(this.targetClassCB.getStore().getAt(0)['internalId']);
 			} else {
-				this.targetClassCB.getStore().add({'id': 'all', 'name': this.allPrettify(this.productTypeDict[this.productTypeCB.value])});
+				this.targetClassCB.getStore().add({'id': 'all', 'name': this.allPrettify(productTypeDict[this.productTypeCB.value])});
 				for (var targetClassId in targetClasses) {
 					this.targetClassCB.getStore().add({'id': targetClassId, 'name': this.prettify(targetClassId)});
 				}
@@ -272,7 +334,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
 	for debug purposes only.
 	*/
 	onRowsPerPageChanged: function() {
-		console.log("rows per page: " + this.productTypeCB);
+		// console.log("rows per page: " + this.productTypeCB);
 	},
 
 	/*********************
@@ -349,7 +411,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
 		var offset = (newPageNumber-1) * limit;
 		var selectedServiceURL = this.services[this.selectedServiceId]['accessurl'];
 
-		console.log(newPageNumber, limit, offset, selectedServiceURL);
+		// console.log(newPageNumber, limit, offset, selectedServiceURL);
 
 		this.wait();
 		this.currentPageLb.setText('' + newPageNumber);
@@ -397,8 +459,8 @@ Ext.define('amdaDesktop.EpnTapModule', {
 	Trigerred when a row is clicked in `granulesGrid` table (see `EpnTapUI.createGranulesGrid()`). Do nothing yet, used
 	for debug purposes only.
 	*/
-	onGranuleSelected: function(ui) {
-		console.log('selected granule: ' + granule.targetName);
+	onGranuleSelected: function(granule) {
+		// console.log('selected granule: ' + granule['target_name']);
 	},
 
 	/**********************
@@ -535,7 +597,6 @@ Ext.define('amdaDesktop.EpnTapModule', {
 	*/
 	fillGranules: function(granules) {
 		// console.log(granules);
-		// return;
 
 		if (granules["error"] != null) {
 			alert(granules["error"]);
diff --git a/js/app/views/EpnTapUI.js b/js/app/views/EpnTapUI.js
index 399e5c0..a967751 100644
--- a/js/app/views/EpnTapUI.js
+++ b/js/app/views/EpnTapUI.js
@@ -89,7 +89,7 @@ Ext.create('Ext.data.Store', {
 
 /**
 `granulesStore`: An ExtJS Store containing the list of granules of the selected service (on `servicesGrid`), which match
-with tge granules filter (the selected data product type, target class and target name).
+with the granules filter (the selected data product type, target class and target name).
 
 This list is used to fill the `granulesGrid` table, which is updated by `EpnTapModule` each time a new service is
 selected.
@@ -231,21 +231,27 @@ Ext.define('amdaUI.EpnTapUI', {
 		*/
 		var createGranulesGrid = function() {
 			var txtRender = function(val) {
+				console.log('txtRender: ' + val);
 				return '<p style="white-space: normal;">' + val + '</p>';
 			};
 			var linkRender = function(val) {
+				console.log('linkRender: ' + val);
 				return '<a href="' + val + '">data</a>';
 			};
 			var imgRender = function(val) {
+				console.log('imgRender: ' + val);
 				return '<img width="40px height="40px" src="' + val + '">';
 			};
 			var dptRender = function(val) {
+				console.log('dptRender: ' + val);
 				return (val in mod.productTypeDict) ? '<p style="white-space: normal;">' + mod.productTypeDict[val] + '</p>' : '<em>' + val + '</em>';
 			};
 			var formatRender = function(val) {
+				console.log('formatRender: ' + val);
 				return (val in mod.mimetypeDict) ? mod.mimetypeDict[val] : '<em style="white-space: normal;">' + val + '</em>';
 			};
 			var sizeRender = function(val) {
+				console.log('sizeRender: ' + val);
 				var size = parseInt(val);
 				if (isNaN(size)) {
 					return '';
@@ -269,18 +275,18 @@ Ext.define('amdaUI.EpnTapUI', {
 				// height: 500,
 				columns: [
 					{ text: 'Num',  dataIndex: 'num', flex: 1, renderer: txtRender },
-					{ text: 'Type',  dataIndex: 'dataproduct_type', flex: 2, renderer: dptRender },
+					// { text: 'Type',  dataIndex: 'dataproduct_type', flex: 2, renderer: dptRender },
 					{ text: 'Target', dataIndex: 'target_name', flex: 2, renderer: txtRender },
 					{ text: 'Time min', dataIndex: 'time_min', flex: 2, renderer: txtRender },
 					{ text: 'Time max', dataIndex: 'time_max', flex: 2, renderer: txtRender },
-					{ text: 'Format', dataIndex: 'access_format', flex: 2, renderer: formatRender },
+					// { text: 'Format', dataIndex: 'access_format', flex: 2, renderer: formatRender },
 					{ text: 'uid', dataIndex: 'granule_uid', flex: 2, renderer: txtRender },
 					{ text: 'Size', dataIndex: 'access_estsize', flex: 1, renderer: sizeRender },
 					{ text: 'URL', dataIndex: 'access_url', flex: 1, renderer: linkRender },
 					{ text: 'Thumb.', dataIndex: 'thumbnail_url', flex: 1, renderer: imgRender}
 				],
 				listeners: {
-					'cellclick': function(grid, td, cellIndex, record) { mod.onGranuleSelected(record.data['id']); }
+					'cellclick': function(grid, td, cellIndex, record) { mod.onGranuleSelected(record.data); }
 				},
 				renderTo: Ext.getBody()
 			});
diff --git a/php/classes/EpnTapMgr.php b/php/classes/EpnTapMgr.php
index 15c0e26..838a032 100644
--- a/php/classes/EpnTapMgr.php
+++ b/php/classes/EpnTapMgr.php
@@ -60,6 +60,7 @@ class EpnTapMgr {
 				$result[$i]['time_max'] = $this->JDTodate($result[$i]['time_max']);
 			}
 		}
+
 		return $result;
 	}
 
diff --git a/php/classes/VOTableMgr.php b/php/classes/VOTableMgr.php
index 7bfa3ee..b48929f 100644
--- a/php/classes/VOTableMgr.php
+++ b/php/classes/VOTableMgr.php
@@ -19,7 +19,6 @@ class VOTableMgr {
 	function addLog($msg) {
 		if (DEBUG_MODE) {
 			error_log("INFO " . $msg);
-			// print "test";
 		}
 	}
 
--
libgit2 0.21.2