diff --git a/component/gtk-3/buildout.cfg b/component/gtk-3/buildout.cfg
index 1db8ffba737b32cc988d724d35b11323f3785777..ddb3f1b563ddc76129549cf4af982b0430cd5431 100644
--- a/component/gtk-3/buildout.cfg
+++ b/component/gtk-3/buildout.cfg
@@ -9,6 +9,9 @@ extends =
   ../pcre/buildout.cfg
   ../perl/buildout.cfg
   ../perl-XML-Parser/buildout.cfg
+  ../meson/buildout.cfg
+  ../nodejs/buildout.cfg
+  ../ninja/buildout.cfg
   ../xorg/buildout.cfg
 
 [at-spi2-core]
@@ -33,6 +36,18 @@ environment =
   PATH=${intltool:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
   PKG_CONFIG_PATH=${atk:location}/lib/pkgconfig:${at-spi2-core:location}/lib/pkgconfig:${dbus:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig
 
+[gtk-materia-theme]
+recipe = slapos.recipe.cmmi
+url = https://github.com/nana-4/materia-theme/archive/eb83bc174fad52cba9541efa78587664ca19542c.tar.gz
+md5sum = 7072e92f8395770f0ebb43403bd754cc
+configure-command =
+  meson _build -Dprefix="@@LOCATION@@" -Dcolors=default,light,dark -Dsizes=default,compact
+make-targets =
+make-binary = meson install -C _build
+
+environment =
+  PATH=${ninja:location}/bin:${meson:location}/bin:${glib:location}/bin:${nodejs:location}/bin:%(PATH)s
+
 [gtk-3]
 recipe = slapos.recipe.cmmi
 shared = true
diff --git a/component/xorg/buildout.cfg b/component/xorg/buildout.cfg
index 8babeec1320feba7ae826dc8c4ed861490630485..c0dddb5d85a96b9548f27bd4f83615c2fb3607e4 100644
--- a/component/xorg/buildout.cfg
+++ b/component/xorg/buildout.cfg
@@ -589,6 +589,16 @@ environment =
   CPPFLAGS=-I${libXt:location}/include
   LDFLAGS=-L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libxkbfile:location}/lib -Wl,-rpath=${libxkbfile:location}/lib
 
+[xdpyinfo]
+recipe = slapos.recipe.cmmi
+url = https://www.x.org/releases/individual/app/xdpyinfo-1.3.3.tar.xz
+md5sum = f67116760888f2e06486ee3d179875d2
+environment =
+  PATH=${pkgconfig:location}/bin:%(PATH)s
+  PKG_CONFIG_PATH=${xorg-util-macros:location}/share/pkgconfig:${xproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libXext:location}/lib/pkgconfig:${libXtst:location}/lib/pkgconfig:${recordproto:location}/lib/pkgconfig:${kbproto:location}/lib/pkgconfig:${libXi:location}/lib/pkgconfig:${libXi:pkg_config_depends}
+  CPPFLAGS=-I${libXt:location}/include
+  LDFLAGS=-L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -Wl,-rpath=${libXi:location}/lib -Wl,-rpath=${libXtst:location}/lib -Wl,-rpath=${libXext:location}/lib -Wl,-rpath=${libXau:location}/lib -Wl,-rpath=${libXdmcp:location}/lib
+
 [xserver]
 # Adds Xvfb functionnality
 recipe = slapos.recipe.cmmi
diff --git a/software/beremiz-ide/buildout.hash.cfg b/software/beremiz-ide/buildout.hash.cfg
index 73ab9d5aa6683796d7a2bcdaf95648ad00489608..c99c1edcdc3413c253484422c8008302eff24cd6 100644
--- a/software/beremiz-ide/buildout.hash.cfg
+++ b/software/beremiz-ide/buildout.hash.cfg
@@ -15,15 +15,15 @@
 
 [instance]
 filename = instance.cfg.in
-md5sum = e8aae0fe3a8bc3f006b8638ed326bbcb
+md5sum = ed2bd38b78f2a66f474205249f6e6f2c
 
 [template-instance-beremiz]
 filename = instance-beremiz.cfg.jinja2.in
-md5sum = 2b990148e527117bcfb366f8b700c807
+md5sum = bca63fc8943e7c5fa7dd43841e49bf95
 
 [template-instance-beremiz-test]
 filename = instance-beremiz-test.cfg.jinja2.in
-md5sum = a2fa2b9d3a225a1dd71db67bd4fea769
+md5sum = 2d6d892d1cc4a09c598fa14c721069b6
 
 [template-fluxbox-menu.in]
 filename = fluxbox-menu.in
diff --git a/software/beremiz-ide/instance-beremiz-test.cfg.jinja2.in b/software/beremiz-ide/instance-beremiz-test.cfg.jinja2.in
index 82a238faee828cd9306f19862702db308dd1dcc9..aa8e83e3ccf840872de4af8bb6a88f91fecedbfd 100644
--- a/software/beremiz-ide/instance-beremiz-test.cfg.jinja2.in
+++ b/software/beremiz-ide/instance-beremiz-test.cfg.jinja2.in
@@ -13,6 +13,12 @@ environment =
   XORG_LOCK_DIR=${xserver:lock-dir}
   DISPLAY=${xserver:display}
 
+[enable-matieria-theme]
+inline =
+  [Settings]
+  gtk-font-name=FreeSans,12
+  gtk-theme-name=Materia
+
 [xdotool]
 recipe = slapos.cookbook:wrapper
 command-line = {{ xdotool_bin }}
@@ -24,9 +30,9 @@ environment =
 [beremiz-env.sh]
 # Add openssl needed to build matiec during tests
 inline +=
-  #export OPENSSL_CRYPTO_LIBRARY={{ openssl_location }}/lib
-  #export OPENSSL_INCLUDE_DIR={{ openssl_location }}/include
   export OPENSSL_ROOT_DIR={{ openssl_location }}
+  export LDFLAGS=-L{{ openssl_location }}/lib
+  export TESSDATAPATH={{ tesseract_data }}
 
 [runTestSuite]
 env.sh  = ${beremiz-env.sh:output}
diff --git a/software/beremiz-ide/instance-beremiz.cfg.jinja2.in b/software/beremiz-ide/instance-beremiz.cfg.jinja2.in
index c44b4df8dc12d58810221c9e774bd7b5d0432c47..792edf7ed270688e94859d839ea189682d93e958 100644
--- a/software/beremiz-ide/instance-beremiz.cfg.jinja2.in
+++ b/software/beremiz-ide/instance-beremiz.cfg.jinja2.in
@@ -11,6 +11,9 @@ var = ${buildout:directory}/var
 tmp = ${buildout:directory}/tmp
 log = ${:var}/log
 vnc = ${buildout:directory}/.vnc
+themes = ${buildout:directory}/.themes
+config = ${buildout:directory}/.config
+gtk3-config = ${:config}/gtk-3.0
 scripts = ${:etc}/run
 services = ${:etc}/service
 promise = ${:etc}/promise
@@ -159,6 +162,21 @@ recipe = slapos.cookbook:wrapper
 wrapper-path = ${directory:promise}/xserver-is-up
 command-line = bash -c "[ -S ${xserver:lock-dir}/.X11-unix/X${xserver:display-num} ]"
 
+[install-gtk-materia-theme]
+recipe = plone.recipe.command
+command =
+  cp -r {{ gtk_materia_theme }}/share/themes/* ${directory:themes}/
+update-command = ${:command}
+stop-on-error = true
+
+[enable-matieria-theme]
+recipe = slapos.recipe.template
+inline =
+  [Settings]
+  gtk-font-name=FreeSans,10
+  gtk-theme-name=Materia
+output = ${directory:gtk3-config}/settings.ini
+
 [fluxbox-menu]
 recipe = slapos.recipe.template:jinja2
 url = {{ fluxbox_menu }}
@@ -201,6 +219,7 @@ inline =
   export LD_LIBRARY_PATH={{ mesa_location }}/lib
   export PATH=${directory:bin}:{{ git_bin_dir }}:{{ cmake_bin }}:{{ autoconf_bin }}:{{ automake_bin }}:{{ matiec_location }}/bin:{{ bison_location }}/bin:{{ flex_location }}/bin:{{ bin_directory }}:{{ gcc_location }}/bin:$PATH
   export XDG_DATA_DIR={{ gtk3_location }}/share
+  export HOME=${buildout:directory}
   export GSETTINGS_SCHEMA_DIR={{ gtk3_location }}/share/glib-2.0/schemas
   export FONTCONFIG_FILE=${font-config:output}
   export DISPLAY=${xserver:display}
@@ -208,6 +227,8 @@ inline =
   export LANG=C.UTF-8
   export LC_ALL=C.UTF-8
   export BEREMIZPYTHONPATH={{ python_bin }}
+  export OPCUA_DEFAULT_HOST={{ ipv4 }}
+  export BEREMIZ_LOCAL_HOST={{ ipv4 }}
 
 output = ${directory:bin}/beremiz-env.sh
 
@@ -261,6 +282,8 @@ parts =
   novnc-promise
   xserver-promise
   x11vnc-listen-promise
+  enable-matieria-theme
+  install-gtk-materia-theme
   beremiz-x11
   nginx-launcher
   nginx-graceful
diff --git a/software/beremiz-ide/instance.cfg.in b/software/beremiz-ide/instance.cfg.in
index 835a4d978f9fd1af34e5c995c268ef49e8ee769f..8265a08a017adcc9836276a3dccfdccc546bb521 100644
--- a/software/beremiz-ide/instance.cfg.in
+++ b/software/beremiz-ide/instance.cfg.in
@@ -61,6 +61,7 @@ extra-context =
   raw gcc_location       {{ gcc_location }}
   raw git_bin_dir        {{ git_location }}
   raw gtk3_location      {{ gtk3_location }}
+  raw gtk_materia_theme  {{ gtk_materia_theme}}
   raw matiec_location    {{ matiec_location }}
   raw mesa_location      {{ mesa_location }}
   raw nginx_executable   {{ nginx_executable }}
@@ -86,3 +87,4 @@ extra-context =
   raw opencv_location    {{ opencv_location }}
   raw openssl_location   {{ openssl_location }}
   raw nxdtest_dir        {{ buildout_directory }}
+  raw tesseract_data     {{ tesseract_location }}/share/tessdata
diff --git a/software/beremiz-ide/software.cfg b/software/beremiz-ide/software.cfg
index bd1bc81a01dba21677edafae94d6005dfd8a56dd..caf04fd6e4ab9bfaf4719b455c54eecf74c9afbf 100644
--- a/software/beremiz-ide/software.cfg
+++ b/software/beremiz-ide/software.cfg
@@ -22,6 +22,7 @@ extends =
   ../../component/xorg/buildout.cfg
   ../../component/pytest/buildout.cfg
   ../../component/opencv/buildout.cfg
+  ../../component/tesseract/buildout.cfg
   ../../component/xterm/buildout.cfg
   ../../stack/monitor/buildout.cfg
   ../../stack/nxdtest.cfg
@@ -34,6 +35,7 @@ parts +=
   Modbus
   xterm
   instance
+  xdpyinfo
 
 [gcc]
 # Always build GCC for Fortran (see openblas).
@@ -86,6 +88,7 @@ eggs =
   ${beremiz-setup:egg}
   opcua
   msgpack
+  click
 
 [python-interpreter]
 eggs +=
@@ -93,9 +96,9 @@ eggs +=
 
 [beremiz]
 recipe = slapos.recipe.build:download-unpacked
-# download beremiz at revision caee3ad3b7bb2865c77328de5ffdaeec61dbf49f
-url = https://github.com/beremiz/beremiz/archive/caee3ad3b7bb2865c77328de5ffdaeec61dbf49f.tar.gz
-md5sum = 52f9407e1706cdecf01fabfc61090276
+# download beremiz from github
+url = https://github.com/beremiz/beremiz/archive/a8efd2fee83733939a1fa48ea924bf7a7a5ef819.tar.gz
+md5sum = 2a141b97047896bb9206c221aa56fd55
 
 [beremiz-setup]
 recipe  = zc.recipe.egg:develop
@@ -139,6 +142,7 @@ context =
     key gcc_location gcc:prefix
     key git_location git:location
     key gtk3_location gtk-3:location
+    key gtk_materia_theme gtk-materia-theme:location
     key instance_template_type :type
     key matiec_location matiec:location
     key mesa_location mesa:location
@@ -150,6 +154,7 @@ context =
     key opencv_location opencv:location
     key openssl_location openssl:location
     key sikulix_bin sikuli:output
+    key tesseract_location tesseract:location
     key xdotool_location xdotool:location
     key xserver_location xserver:location
     key xterm_location xterm:location
@@ -205,3 +210,4 @@ futures = 3.3.0
 trollius = 2.2.1
 pathlib = 1.0.1
 ddt = 1.4.4
+click = 7.1.2
diff --git a/software/beremiz-ide/test.cfg b/software/beremiz-ide/test.cfg
index ac25154ad7b081830fa3ada382cc64c9ee854269..74a10613499451bed5b8fb012a210e227e384fc3 100644
--- a/software/beremiz-ide/test.cfg
+++ b/software/beremiz-ide/test.cfg
@@ -45,8 +45,10 @@ inline =
   #!/bin/sh -e
   cd ${beremiz-repository:location}/tests/ide_tests/
   testlist=$(ls -d *.sikuli)
+  cd ${beremiz-repository:location}/tests/cli_tests/
+  clitestlist=$(ls -d *.bash)
   rm -f ${:nxdtest}
-  for test in $testlist; do
+  for test in $(echo $testlist $clitestlist); do
     if [ -z "$test" ]; then
       continue;
     fi