2 partie : tds + generation