[{"data":1,"prerenderedAt":45},["ShallowReactive",2],{"course-typescript-typer-ses-applications":3,"highlight-typescript-interface Repository":44},{"id":4,"name":5,"slug":6,"location":7,"targetAudienceFormatMarkdown":8,"prerequisitesFormatMarkdown":9,"objectivesFormatMarkdown":10,"descriptionFormatMarkdown":11,"teachingMethodsFormatMarkdown":12,"teachingResourcesFormatMarkdown":13,"evaluationMethodsFormatMarkdown":14,"accessibilityFormatMarkdown":15,"accessMethodsFormatMarkdown":16,"minimumParticipants":7,"maximumParticipants":7,"duration":17,"reference":18,"trainerType":7,"updated_at":19,"created_at":20,"price":21,"organizationMode":22,"theme":25,"code":29,"tags":34,"metadata":35},"/api/courses/0b678013-b298-11f1-a993-d8ca06000363","TypeScript : typer ses applications","typescript-typer-ses-applications",null,"Développeurs JavaScript, développeurs front et back Node.js.","Pratique de JavaScript moderne.","Sécuriser et structurer du code JavaScript avec TypeScript.","--day1--\n\n## Système de types\n\n-   Types primitifs, unions, littéraux ; interfaces et alias ; typage des fonctions ; inférence ; configuration du compilateur.\n\n--break--\n\n## Types avancés\n\n-   Génériques ; types utilitaires ; types conditionnels et mappés ; gardes de type et rétrécissement ; typage d'API.\n\n--day2--\n\n## Dans un projet\n\n-   Organisation des types ; définitions de bibliothèques tierces ; intégration au build ; règles de lint ; tests typés.\n\n--break--\n\n## Migration et pratiques\n\n-   Migration progressive d'un projet JavaScript ; niveaux de rigueur du compilateur ; pièges (any, assertions) ; atelier sur du code existant.","Présentiel, distanciel, hybride","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l’ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h ouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la formation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.","14.00","L1-DEV-18","2026-09-18T09:45:10+00:00","2026-09-17T15:02:32+00:00","1350.00",{"id":23,"name":24},"/api/organization_mode_types/6","HYBRID",{"id":26,"name":27,"slug":28},"/api/themes/0ac148c3-b298-11f1-a993-d8ca06000363","Développement logiciel informatique et web","developpement-logiciel-informatique-et-web",{"id":30,"label":31,"domain":32},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":33},"32 - Communication et information",[],{"desc-accroche":36,"Description":37,"icon-color":38,"icon-name":39,"code-langage":40,"code-snippet":41,"courte-description":42,"titre-accroche":43},"Maîtrisez le système de types de TypeScript : interfaces, generics, types utilitaires et configuration du compilateur, pour fiabiliser vos projets JavaScript et migrer une base de code existante en douceur.","Cette formation s'adresse aux développeurs JavaScript souhaitant fiabiliser leurs applications grâce au typage statique de TypeScript. Vous apprenez à définir des types, interfaces et generics pour modéliser précisément vos données, à configurer le compilateur (tsconfig, mode strict) et à exploiter les types utilitaires pour éviter la duplication. La formation détaille également les patterns d'intégration dans un projet réel, côté front comme côté Node.js, ainsi que la stratégie de migration progressive d'une base de code JavaScript existante vers TypeScript, sans réécriture complète. Des travaux pratiques sur un projet fil rouge permettent de manipuler ces notions en conditions réelles. Cette formation s'adresse aux développeurs JavaScript ainsi qu'aux développeurs front et back Node.js souhaitant réduire les bugs avant l'exécution.","#3178C6","mdi:language-typescript","typescript","interface Repository\u003CT> {\n  findById(id: string): Promise\u003CT | undefined>;\n}\n\nclass UserRepository implements Repository\u003CUser> {\n  async findById(id: string): Promise\u003CUser | undefined> {\n    return this.db.users.get(id);\n  }\n}","Formation TypeScript pour sécuriser du code JavaScript avec le typage statique, les interfaces et les generics, et migrer progressivement une application existante.","Sécurisez et structurez vos applications JavaScript grâce à TypeScript : typage statique, interfaces et migration progressive d'un code existant.","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-typescript\">\u003Cspan class=\"hljs-keyword\">interface\u003C/span> \u003Cspan class=\"hljs-title class_\">Repository\u003C/span>&lt;T&gt; {\n  \u003Cspan class=\"hljs-title function_\">findById\u003C/span>(\u003Cspan class=\"hljs-attr\">id\u003C/span>: \u003Cspan class=\"hljs-built_in\">string\u003C/span>): \u003Cspan class=\"hljs-title class_\">Promise\u003C/span>&lt;T | \u003Cspan class=\"hljs-literal\">undefined\u003C/span>&gt;;\n}\n\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">UserRepository\u003C/span> \u003Cspan class=\"hljs-keyword\">implements\u003C/span> \u003Cspan class=\"hljs-title class_\">Repository\u003C/span>&lt;\u003Cspan class=\"hljs-title class_\">User\u003C/span>&gt; {\n  \u003Cspan class=\"hljs-keyword\">async\u003C/span> \u003Cspan class=\"hljs-title function_\">findById\u003C/span>(\u003Cspan class=\"hljs-attr\">id\u003C/span>: \u003Cspan class=\"hljs-built_in\">string\u003C/span>): \u003Cspan class=\"hljs-title class_\">Promise\u003C/span>&lt;\u003Cspan class=\"hljs-title class_\">User\u003C/span> | \u003Cspan class=\"hljs-literal\">undefined\u003C/span>&gt; {\n    \u003Cspan class=\"hljs-keyword\">return\u003C/span> \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">db\u003C/span>.\u003Cspan class=\"hljs-property\">users\u003C/span>.\u003Cspan class=\"hljs-title function_\">get\u003C/span>(id);\n  }\n}\u003C/code>\u003C/pre>",1789717717879]