Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
After multiple checks i found the problem : the gdt function was not correct it took only the 20 first bits as base, not 24. So it was pointing on the wrong address.
Sorry about that. I will debug a lot more if I have another problem, before posting.