Rendre les états illégaux irréprésentables dans l'architecture logicielle