Can't pass variable from theme hook or controller to custom template On Drupal 8, I want pass a variable to a overrides template from my controller OR from the hook theme. 
I do several tries : 

from my .module file : 

function ms_story_theme($existing, $type, $theme, $path) {
  $theme = array();
  $theme['page__ms_story__global'] = array(
    'variables' =&gt; [
      'toto' =&gt; "toto", //try one
    ],
    'base hook' =&gt; 'page',
    'render element' =&gt; 'elements',
    '#tata' =&gt; 'tata', //try two
  );
  return $theme;
}


from my .php controller file :

class customController extends ControllerBase {
  public function map_global($name) {
    return [
      '#type' =&gt; 'markup',
      '#theme' =&gt; 'page__ms_story__global',
      '#markup' =&gt; $this-&gt;t("Implement method: hello with parameter(s): $name"),
      '#tutu' =&gt; "tutu", //try three
      'variables' =&gt; [
        "tyty" =&gt; "tyty", //try four
      ],
    ];
  }
}


But when I want display all available variable from my overrided template file (via {{ kint() }} ), I don't see anywhere variables I want add. Variables 'toto' 'tata' tutu' and 'tyty' aren't present in the array structure displayed via kint (I cleared all cache of course)

Where is my mystake ? 

Bonus question : how can I add a variable who use not any cache ? (the variable is calculated again every time the user load page ?
You cannot use #markup and #theme in the same element. #markup will always take precedence, and #theme is ignored. If you want to output some markup, you need to include that as part of your theme. If the markup is dynamic, then include it as a variable to be passed to your theme (though you need to name the variable as something other than markup).

You've also defined the variable as toto in your hook_theme() implementation, then passed the value in #tutu in your render array. You need to use '#toto' =&gt; 'some value'.