Unit circle - how to prevent backward rotation Let's assume we have a unit circle (0, 2$\pi$).
Basically I have a point on this circle who is supposed to move only forward. This point is controlled by the user mouse and constantly calculate 25 times per seconds.
For the moment I calculate the new angle ( based on the user mouse position ) on this unit circle in order to compare it with the old one and to be sure that new_angle > old_angle.
In order to do that, I'm actually using the following function ( in degree ) :
atan2(mousePosY - unitCircleOriginY, mousePosX - unitCircleOriginX) * 180 / $\pi$
This working pretty fine until I reach 2π because at this point the previous angle is 359 while the new one is 0.
I try severals workaround without success.
This may looks trivial but drive me crazy. 

It is not trivial.  As long as you update frequently enough that the user cannot move more than $180$ degrees between updates you can just find whether to add or subtract $360$ to get the change as close to $0$ as possible, so 
If (new_angle - old_angle > 180) do not update because real rotation is negative
If (-360 < new_angle - old_angle < -180) update because real rotation is positive
If (0< new_angle - old_angle < 180) update because real rotation is positive
You could skip the first if in your program.  I put it in because it helps to see what is happening.  If you don't sample often enough so the user can't move 180 degrees betweem samples, you are sunk.  25 Hz sounds plenty fast enough.
