Ok got it ! I post here the solution if needed by anyone:
$this->addExpression('etat')->set(function($model, $select)
{
return (
$select->expr(
'IF (
site.date_ended IS NULL OR NOW() < site.date_ended,
IF (
[f1] > 0,
"Paused",
"In Progress"
),
"Ended"
)'
)->setCustom('f1',
$model->refSQL('Site_Pause')
->count()
->where('date_started', '<', $select->expr('NOW()'))
->where('date_ended', '>', $select->expr('NOW()'))
)
);
});