I define a variable in a pool (text) with a default value.
When I execute, in the instantiation form of the processus, the text field is empty.
It works perfectly in a task form if I define a variable in the task, but the pool variable is still empty.
Is this a bug according to you ?
No, this is not a bug, since the process instantiation form is generated even before starting a new case. So, at that moment, variables are not yet created, thus they couldn’t have any initial value. But you can use this instantiation form to input your initial values.
I understand what you mean for the instantiation form but if I select the same variable (still a pool variable) in a task form, I’ve the same result, the text field is still empty and at this step the case is already started.
Does it mean that it’s impossible to define a default value for pool variables ?
I just double checked (version 6.3), it is possible to define a default value for pool variables. What might be happening in your case is that you still have the instantiation form with the variable and that you “override” the default value that was supposed to be given by an “empty” value saved from your instantiation form.
Well,
I tried to skip the instantiation form in the application pane of the lane and executing my process, now the default value for my pool variable is assigned.
I think it was different in previous version of BOS (I used to work with 5.9) and it’s a little bit confusing because if you have an instantiation form defined, the default value is overwritted to “” whereas if you skip instantiation form default value is conserved.
Glad you figured it out, so that you can avoid confusion 
If you have it on the instantiation form, you would want to provide a value then (otherwise you wouldn’t build a form for its initialisation) and not to leave it blank. You can always provide a default/initial value for the input field on the instantiation form…
You just need to choose one or the other and you shouldn’t have any problems.