I find out the problem
if(isset($_POST['publish']))
Conditionnal statement around my error validation function, this variable doesn’t exist on updating post.
Is there a official WordPress way to check if a form is submitted in adding and editing posts ?