diff --git a/ivette/Makefile b/ivette/Makefile
index ab6e23f4a664180d52532b89df7ef1af49ee6108..c4d4907ad66ff63c9a34d0a9c81d388b1cb56ebb 100644
--- a/ivette/Makefile
+++ b/ivette/Makefile
@@ -30,26 +30,15 @@ lint: dome-pkg dome-templ
 
 # can also use dome-doc to generate Dome-only documentation
 
-D_JSDOC=$(CURDIR)/node_modules/.bin/jsdoc
 D_ICONS=$(addprefix $(DOME)/doc/template/gallery-, head.html icons.html tail.html)
-D_OUT=./doc/html
+D_OUT=doc/html
 
-doc: $(D_JSDOC) $(D_ICONS)
+doc:
 	@echo "[Ivette] documentation"
-	@rm -fr ./build ./doc
-	@yarn run build
-	@mkdir -p ./doc/html
-	@(APP=$(APP) COPYRIGHT="$(COPYRIGHT)" DOME=$(DOME) \
-	  yarn exec jsdoc -- -c jsdoc.json -d doc/html)
-	@cat $(D_ICONS) > $(D_OUT)/tutorial-icons.html
-	@cp -f $(DOME)/doc/gallery.css $(D_OUT)/styles/
-	@cp -f $(DOME)/doc/tutorials/*.png $(D_OUT)/
-	@echo "[Ivette]   $(D_OUT)/index.html"
-
-tdoc:
-	@echo "[Ivette] TypeScript documentation (experimental)"
+	@rm -fr $(D_OUT)
+	@mkdir -p $(D_OUT)
 	@yarn run typedoc
-	@echo "[Ivette]   doc/typedoc/index.html"
+	@echo "[Ivette]   $(D_OUT)/index.html"
 
 # --------------------------------------------------------------------------
 # --- Ivette Plugins
diff --git a/ivette/src/dome/src/renderer/dome.js b/ivette/src/dome/src/renderer/dome.js
index 6a1dd9d107f0999531048c1df4b8af5a4af34efa..3547d86f4f4144c36492027f44fa22fc969e6c7d 100644
--- a/ivette/src/dome/src/renderer/dome.js
+++ b/ivette/src/dome/src/renderer/dome.js
@@ -479,7 +479,6 @@ ipcRenderer.on('dome.ipc.settings.update',(sender,patches) => {
     @param {string} key User's Setting Key (`'dome.*'` are reserved keys)
     @param {any} [defaultValue] - default value if the key is not present
     @return {any} associated value of object or `undefined`.
-    @tutorial application
     @description
     This settings are local to the current window, but persistently
     saved in the user's home directory.<br/>
@@ -492,7 +491,6 @@ export function getWindowSetting( key, defaultValue ) {
 /** @summary Set value into local window (persistent) settings.
     @param {string} key to store the data
     @param {any} value associated value or object
-    @tutorial application
     @description
     This settings are local to the current window, but persistently
     saved in the user's home directory.<br/>
@@ -507,7 +505,6 @@ export function setWindowSetting( key , value ) {
     @param {string} key User's Setting Key (`'dome.*'` are reserved keys)
     @param {any} [defaultValue] - default value if the key is not present
     @return {any} associated value of object or `undefined`.
-    @tutorial application
     @description
     These settings are global to the application and persistently
     saved in the user's home directory.<br/>
@@ -520,7 +517,6 @@ export function getGlobalSetting( key, defaultValue ) {
 /** @summary Set value into application (persistent) settings.
     @param {string} key to store the data
     @param {any} value associated value or object
-    @tutorial application
     @description
     These settings are global to the current window, but persistently
     saved in the user's home directory. Updated values are broadcasted
@@ -607,7 +603,6 @@ export function useForceUpdate()
 /**
    @summary Hook to re-render on Dome events (Custom React Hook).
    @param {string} [event,...] - event names (default: `'dome.update'`)
-   @tutorial hooks
    @description
    Returns nothing.
 */
@@ -626,7 +621,6 @@ export function useUpdate(...evts)
    @summary Hook to register callbacks to Dome events (Custom React Hook).
    @param {string} event - Event to register on
    @param {function} callback - The callback to register
-   @tutorial hooks
    @description
    Register the callback on event until the component is unmount.
    Do not force the component to re-render (unless the callback does).<br/>
@@ -645,7 +639,6 @@ export function useEvent(evt,callback)
    @param {EventEmitter} emitter - event emitter
    @param {string} event - Event to register on
    @param {function} callback - The callback to register
-   @tutorial hooks
    @description
    Register the callback on event until the component is unmount.
    Do not force the component to re-render (unless the callback does).<br/>
@@ -668,7 +661,6 @@ const NULL = {}; // Dummy initial value
 /**
    @summary Hook for command-line interface (Custom React Hook).
    @return {array} `[argv,wdir]` command-line arguments and working directory
-   @tutorial hooks
    @description
    Returns the command-line arguments and working directory for the application
    instance running in the window. Automatically updated on `dome.command` events.
@@ -716,7 +708,6 @@ function useSettings( local, settings, defaultValue )
    @param {string} [settings] - optional window settings to backup the value
    @param {any} [defaultValue] - the initial (and default) value
    @return {array} `[value,setValue]` of the local state
-   @tutorial hooks
    @description
    Similar to `React.useState()` with persistent _window_ settings.
    When the settings key is undefined, it simply uses a local React state.
@@ -736,7 +727,6 @@ export function useState( settings, defaultValue )
    @param {string} [settings] - optional window settings to backup the value
    @param {boolean} [defaultValue] - the initial value (default is `false`)
    @return {array} `[value,flipValue]` for the local state
-   @tutorial hooks
    @description
    Same as [useState](#.useState) with a boolean value that can be set or flipped:
     - `flipValue()` change the value to its opposite;
@@ -821,7 +811,6 @@ export function useHistory( settings, defaultValue )
    @param {string} settings - global settings for storing the value
    @param {any} [defaultValue] - the initial and default value
    @return {array} `[value,setValue]` of the local state
-   @tutorial hooks
    @description
    Similar to `React.useState()` with persistent _global_ settings.
    When the settings key is undefined, it simply uses a local React state.
@@ -986,7 +975,6 @@ const DEC_CLOCK = (period) => {
    @summary Synchronized start & stop timer (Custom React Hook).
    @param {number} period - timer interval, in milliseconds (ms)
    @param {boolean} [initStart] - whether to initially start the timer (default is `false`)
-   @tutorial hooks
    @return {timer} Timer object
    @description
    Create a local timer, synchronized on a global clock, that can be started
diff --git a/ivette/src/dome/src/renderer/table/models.js b/ivette/src/dome/src/renderer/table/models.js
index 142e44824f68d2dc6a0a752181acf3ab45df2e79..8a1dc224ce856ce67825653891a2fe2ba8ae1acd 100644
--- a/ivette/src/dome/src/renderer/table/models.js
+++ b/ivette/src/dome/src/renderer/table/models.js
@@ -33,12 +33,6 @@ export const DESC = SortDirection.DESC ;
    with their associated data sets. The model listens for updates, retrieves
    items from their index, and re-render the views when necessary.
 
-
-   Model could be part of the global _Application State_, or part of a
-   statefull React Component, depending on your need as described in
-   the [Application Design](tutorial-application.html) tutorial.
-
-
    Several tables may connect to the same table model, but they will share the
    same number and ordering of items. However, each connected table will only
    render its own range of items and will re-renderer only when impacted by
diff --git a/ivette/src/dome/src/renderer/table/views.js b/ivette/src/dome/src/renderer/table/views.js
index 3bde6dcb50b801065555e1d5786df7ed9e8e21b6..dc7923748ce90485095863132c57818cb7823f00 100644
--- a/ivette/src/dome/src/renderer/table/views.js
+++ b/ivette/src/dome/src/renderer/table/views.js
@@ -156,12 +156,7 @@ const computeWidth = (elt) => {
 
 
    By default, values are obtained from the underlying model by invoking
-   [[Model.getValue]] with the column
-   identifier.
-
-   The default `renderValue` renders the item's value
-   packed in a `<label>` with class `dome-text-data` as described in the
-   [Styling Component](tutorial-styling.html) tutorial.
+   [[Model.getValue]] with the column identifier.
 
    This separation of concerns allows for defining
    Column types, where for instance the renderer is already defined and you only need to