Form in a block with results is the same block
Thanks 4k4, the main point I was missing here is that a form is just a specific form of render array... I though it was only possible to define form elements to be rendered. But as you pointed me out, it's possible to define anything one wants to render, like... form result... Since what I need to render is a bit more complicated than simple markup, I've created a new template in my .module file :

function my_module_theme() {
return array(
'my_module_form' =&gt; array(
  'variables' =&gt; array(
    'form' =&gt; array(),
  ),
'template' =&gt; 'my-module-form',
),
 'my_module_results' =&gt; array( 
  'variables' =&gt; array(
    'tracks' =&gt; array(),
  ),
 }


And then, my buildForm method looks approximately that way : 

public function buildForm(array $form, FormStateInterface $form_state) {
// define default values...
$defaultValue = 3;

// define form fied + submit button...
 $form['my_field'] = array(
  '#type' =&gt; 'select',
  '#required' =&gt; true,
  '#default_value' =&gt; $defaultValue,
  '#options' =&gt; array(1 =&gt; 1, 2 =&gt; 2, 3 =&gt; 3)
);

$form['submit'] = array(
  '#type' =&gt; 'submit',
  '#value' =&gt; 'Go'
);

// define field default value that will be overwritten whe  form is submitted 
$my_field_value = 1;


//get submitted value
if ($form_state-&gt;isRebuilding()){
    $my_field_value =  $form_state-&gt;getValue('my_field');
}

//get datas from database
$results = $model-&gt;getResultFromDb($my_field);

 $form['result'] = array(
    '#theme' =&gt; 'my_module_results',
    '#results' =&gt; $results,
    );

return $form;
}


Then is the "my_module_results" you can use the $results var as in any other template : 

&lt;ul&gt;
  {% for result in results %}
  &lt;li&gt; {{ result.title }}&lt;/li&gt;
  {% endfor %}
&lt;/ul&gt;


For the results not to be nested in the "form" markup, I had to build manually the form in its own template and call the result var where I needed the result template to be inserted : 

&lt;div id="form"&gt;
    &lt;form method="{{ form['#method'] }}"&gt;
        {{ form.form_build_id }}
        {{ form.form_token }}
        {{ form.form_id }}
        {{ form.my_field }}
        {{ form.submit }}
    &lt;/form&gt;             
&lt;/div&gt;
&lt;div id="results"&gt;
    {{ form.result }}
&lt;/div&gt;


Not sure it wes the only way to do that, but it works like a charm...

Hope this would help somebody...