$fields->addFieldToTab('Root.Content.Nouvelles', new TextField('Nouvelles'), 'Nouvelles');
The 3rd parameter to addFieldToTab() is the field name you want the field to appear above so what you're saying in that line is you want the text field to appear above itself which doesn't really work! SilverStripe simply won't add the field. Take off the 3rd parameter.
$fields->addFieldToTab('Root.Content.Nouvelles', new TextField('Nouvelles'));
If you want vertical columns there are a number of things you have to do, you need to set the width in the CSS but also in the HtmlEditorConfig class. On top of that you will need to float the divs so they all stack up next to one another using float: left or positioning them using relative positioning (or absolute would be easier)