Nouvelle Structure de l'algorithme

Je te joins la nouvelle structure de l'algorithme dans cette pull request.
Elle passe les tests sans problèmes. Je n'ai pas encore re-commenté le code comme il faut. Je fais ça maintenant.

J'ai laissé une structure (selon moi) un peu plus facilement lisible en : 
```
if (){
  return (...)
}
else
{
...
}
```
On pourrai facilement la remplacer par la suivante pour gagner quelques lignes et un peu d'indentation : 
```
if (){
  return (...)
}
...
```