TypeScript : concepts de base, Programmation Orientée Objet, concepts avancés, mise en pratique et projets