Source: https://courses.ex-machina.ma/downloads/gc-2/s8/Architecture/Cours.pdf