Session 2 : exercice complete

Next:
- Update readme
- Package as a JAR, to be able to run it "standalone"
- Refactoring (code/tests)