{"id":8013,"date":"2024-04-22T11:39:53","date_gmt":"2024-04-22T09:39:53","guid":{"rendered":"https:\/\/sapinnov.com\/?p=8013"},"modified":"2024-06-17T12:17:54","modified_gmt":"2024-06-17T10:17:54","slug":"adopter-typescript-dans-le-developpement-de-sapui5","status":"publish","type":"post","link":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/","title":{"rendered":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5"},"content":{"rendered":"\n<p>En 11 ans de d\u00e9veloppement SAP, j&rsquo;ai suivi l&rsquo;\u00e9volution de la vision de SAP pour son ERP, notamment avec l&rsquo;arriv\u00e9e de FIORI, marquant un tournant majeur vers une innovation centr\u00e9e sur l&rsquo;exp\u00e9rience utilisateur. Les d\u00e9veloppeurs ont \u00e9galement \u00e9t\u00e9 pris en compte avec des outils comme UI5, BAS et plus r\u00e9cemment SAP BUILD Code. Je vais maintenant me concentrer sur l&rsquo;introduction du TypeScript (TS) dans UI5, partageant mon exp\u00e9rience et les observations que j&rsquo;ai faites lors du d\u00e9veloppement d&rsquo;applications Fiori en TS pour un projet donn\u00e9.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong><strong>Le TypeScript<\/strong><\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Qu\u2019est ce que c&rsquo;est ?<\/strong><\/h2>\n\n\n\n<p>Permettez-moi de vous faire une br\u00e8ve description. Le TypeScript (TS) est un langage de programmation open-source d\u00e9velopp\u00e9 par Microsoft, qui \u00e9tend JavaScript (JS) avec des fonctionnalit\u00e9s telles que le typage statique, les interfaces et les classes, propres \u00e0 la programmation orient\u00e9e objet. Le TS est compil\u00e9 en JavaScript avant l&rsquo;ex\u00e9cution, cette compilation permet de d\u00e9tecter les erreurs de programmation lors du d\u00e9veloppement plut\u00f4t qu&rsquo;\u00e0 l&rsquo;ex\u00e9cution, am\u00e9liorant ainsi la qualit\u00e9 et la robustesse du code.&nbsp;<\/p>\n\n\n\n<p><em>Pour aller plus loin :<\/em>&nbsp;<br><a href=\"https:\/\/fr.wikipedia.org\/wiki\/TypeScript\">TypeScript \u2014 Wikip\u00e9dia (wikipedia.org)<\/a><br><a href=\"https:\/\/www.typescriptlang.org\/\">TypeScript: JavaScript With Syntax For Types. (typescriptlang.org)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>SAP &amp; le TypeScript c\u2019est nouveau ?&nbsp;<\/strong><\/h2>\n\n\n\n<p>Eh bien, pas vraiment. Leur histoire a commenc\u00e9 en 2021 dans le cadre d&rsquo;une phase \u00ab\u00a0exp\u00e9rimentale b\u00eata\u00a0\u00bb, dans le but de permettre aux d\u00e9veloppeurs de se familiariser avec cette nouvelle option de d\u00e9veloppement pour la cr\u00e9ation d&rsquo;applications. En 2023, lors de la UI5con 2023 (<a href=\"https:\/\/www.youtube.com\/watch?t=1334&amp;v=aCyMC27ED80&amp;feature=youtu.be\">UI5con 2023: Part 1<\/a>), SAP a officiellement annonc\u00e9 le support de TypeScript pour UI5 \u00e0 partir de la version 1.116.0.<\/p>\n\n\n\n<p>Pour aller plus loin:\u00a0<br><a href=\"https:\/\/community.sap.com\/t5\/technology-blogs-by-sap\/typescript-for-ui5-yay-it-s-official-and-a-round-up-of-recent-changes\/ba-p\/13570051\">TypeScript for UI5: \u201cYay, it\u2019s official!\u201d \u2013 and a &#8230; &#8211; SAP Community<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Retour d\u2019exp\u00e9rience<\/strong><\/h1>\n\n\n\n<p>Aujourd&rsquo;hui, je ne suis pas ici pour vous apprendre \u00e0 coder en TypeScript (peut-\u00eatre dans un autre blog \ud83d\ude42), la vid\u00e9o de la SAP UI5con 2023 offre d\u00e9j\u00e0 un aper\u00e7u du d\u00e9veloppement avec TS. Non, ici je vais vous parler de mon exp\u00e9rience et, pourquoi pas, vous aider \u00e0 franchir le pas si vous \u00e9tiez frileux mais quand m\u00eame curieux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Les avantages<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Typage statique<\/strong><\/h3>\n\n\n\n<p>La premi\u00e8re erreur que vous allez avoir en d\u00e9butant le TS, c\u2019est des erreurs de compilation car il manque les typages \ud83d\ude00 car oui, le grand point positif du TS c\u2019est le <strong>typage statique<\/strong>.\u00a0<\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Exemple de typage statique, ici pour une structure<\/em><br><img loading=\"lazy\" decoding=\"async\" width=\"240\" height=\"104\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXes0TykceIPtdxojUFUThOT80aStuKTivr8WgmTraBvQPsTo4QBbkikmlbl-wG2uDA2Stl8tQeiTGoN3EApfsWJVbL5i3NnPKLbdHtKw3AN_SKMfI8iW4mzG-Cqqgzbym9Jw0gzt05qPTpsqYWGyQzMsABC?key=Mjpkekhu1FjWEcctjExmhw\"><\/p>\n\n\n\n<p>Cependant, une fois que vous avez pris le coup de main, cela devient automatique.<\/p>\n\n\n\n<p>En sp\u00e9cifiant les types de donn\u00e9es, le TypeScript peut d\u00e9tecter les erreurs de typage d\u00e8s la phase de compilation. Au d\u00e9but de votre projet, vous risquez de voir beaucoup d&rsquo;erreurs signal\u00e9es en rouge, mais cela deviendra rapidement une partie naturelle du processus de d\u00e9veloppement.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Exemple d\u2019erreur TS pour type manquant<\/em><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"122\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXcuRJrDfXRoBdXFPOuz7QidWyMjcTVgBnlqGuZ_y8PnyNVPfawwFeKvObyw5l__yD1yjiuDvKWIn3NO6q3PCN40Zr71U87ipyS7jI9MbJ0YzD70rbVIiuSXNvjEjq-sOxqstdZSUg94_fwsjt-QcpWwVeo?key=Mjpkekhu1FjWEcctjExmhw\"><\/p>\n\n\n\n<p>Le typage statique rend le code <strong>plus explicite<\/strong> \u00e0 la lecture et auto-document\u00e9. Cela permet de corriger les erreurs avant l&rsquo;ex\u00e9cution du code, r\u00e9duisant ainsi les risques d&rsquo;erreurs et <strong>am\u00e9liorant la fiabilit\u00e9<\/strong> du logiciel. Cela \u00e9vite clairement des erreurs qui pourraient n\u00e9cessiter un d\u00e9bogage fastidieux par la suite. Et gros point positif, \u00e7a facilite la compr\u00e9hension du code surtout si on passe derri\u00e8re un d\u00e9veloppeur peu g\u00e9n\u00e9reux en commentaires \ud83d\ude05.<\/p>\n\n\n\n<p>Cet investissement se r\u00e9v\u00e8le <strong>rentable \u00e0 long terme<\/strong> pour la maintenance des applications, car il contribue \u00e0<strong> r\u00e9duire les erreurs<\/strong> introduites lors de futures modifications.&nbsp;<\/p>\n\n\n\n<p>En d\u2019autres termes, cela am\u00e9liore la <strong>qualit\u00e9 du code<\/strong> sur tous les points.<br>Pour retrouver le bon type lors d\u2019une utilisation de m\u00e9thode, je me r\u00e9f\u00e8re au site <a href=\"https:\/\/ui5.sap.com\/#\/api\/\">API Reference &#8211; Demo Kit &#8211; SAPUI5 SDK<\/a> sinon on peut utiliser<strong> BAS<\/strong>, si on laisse la souris sur la m\u00e9thode, une pop-up appara\u00eet et donne les types qu\u2019on peut utiliser<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"131\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXc31K0w4JdWBIxUkxRVUo0dhdQ_z0pXvHqAGh38ucIYNX9EPuwSF_hh68bpQR5M1vhr9JqsmKL9edsXAKSu-2UVjpMPXr5o7Y_0HaEVEaILPOfZfmcqTHewF_0eJKSf6gXrL-UyMnDL64aKQhJkT8tiq8Js?key=Mjpkekhu1FjWEcctjExmhw\"><\/p>\n\n\n\n<p>Les types simples sont d\u00e9j\u00e0 connus du syst\u00e8me comme : string, integer, number etc\u2026<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Interface et extension d\u2019interface<\/strong><\/h3>\n\n\n\n<p>Comme le TypeScript est fortement bas\u00e9 sur du langage OO, on retrouve la possibilit\u00e9 de cr\u00e9er des classes, interfaces et les h\u00e9ritages.<\/p>\n\n\n\n<p>Les interfaces offrent une grande praticit\u00e9 car elles permettent de d\u00e9finir pr\u00e9cis\u00e9ment la structure des objets, en sp\u00e9cifiant les propri\u00e9t\u00e9s n\u00e9cessaires ainsi que leurs types de donn\u00e9es associ\u00e9s.<br>C\u2019est vraiment le \u201cmust have\u201d elles garantissent la coh\u00e9rence du code, le rendant plus facile \u00e0 maintenir et \u00e0 faire \u00e9voluer. De plus, la possibilit\u00e9 de r\u00e9utiliser ces interfaces dans toute l&rsquo;application contribue \u00e0 une conception modulaire et efficace.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"63\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXfV8i5TBYYnfIV_pceCr-INkQCYNpNPj6xfn2SN4bfRBWb1fWzQtugbmpE7Q7qFqUm1kSrqamD-HjuCDDimY6QdKnW6V7-wFHHB5C0M9BhJCdlN4A-XoBD3-5n4qOqPFqDxMskn-fYjaVO45zbJKJa0C7bi?key=Mjpkekhu1FjWEcctjExmhw\"><\/p>\n\n\n\n<p>Les interfaces peuvent, bien \u00e9videmment, \u00eatre \u00e9tendues pour cr\u00e9er de nouvelles interfaces qui h\u00e9ritent des propri\u00e9t\u00e9s des interfaces existantes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fonctionnalit\u00e9s ES6<\/strong><\/h3>\n\n\n\n<p>Un autre \u00e9l\u00e9ment que j&rsquo;ai particuli\u00e8rement appr\u00e9ci\u00e9, ce sont les fonctionnalit\u00e9s de l&rsquo;ES6. Bien que cela ne soit pas sp\u00e9cifique \u00e0 TypeScript, c&rsquo;est mon exp\u00e9rience avec ce langage qui m&rsquo;a dirig\u00e9 vers ces fonctionnalit\u00e9s. Elles permettent d&rsquo;\u00e9crire un code plus \u00e9l\u00e9gant et plus clair, tout en garantissant une logique applicative avec moins de lignes, ce qui simplifie grandement la maintenance.<\/p>\n\n\n\n<p>J&rsquo;ai \u00e9t\u00e9 vraiment enchant\u00e9 par les options qui m&rsquo;\u00e9taient offertes, en particulier l&rsquo;utilisation de \u00ab\u00a0?\u00a0\u00bb combin\u00e9 \u00e0 \u00ab\u00a0:\u00a0\u00bb pour g\u00e9rer diff\u00e9rentes possibilit\u00e9s sur une seule ligne. Cela m&rsquo;a permis d&rsquo;\u00e9viter les cascades de conditions \u00ab\u00a0if\u00a0\u00bb, ce qui rend le code plus clair et plus gratifiant \u00e0 \u00e9crire.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXfx8a8QKFSBWYJrXo151INOLbWyNTHEN3jnyXWgpjqUhD6X-96iDQCrEDqyY2Buk4cVSr-bofWO5Yt2ejgtKZH5ngZPB-BQH-PUOp_SVgpaQBmS9zchQ_yWbTmacBEG9EBC4vfCUTlz_N0F4TG38_2IESw?key=Mjpkekhu1FjWEcctjExmhw\" width=\"671\" height=\"31\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Les inconv\u00e9nients<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Biblioth\u00e8ques<\/strong><\/h3>\n\n\n\n<p>Le seul point noir que j\u2019ai eu pendant mes conceptions d\u2019applications c\u2019est avec les biblioth\u00e8ques que SAP met a disposition quand on utilise le TypeScript.\u00a0<\/p>\n\n\n\n<p>Par exemple, j&rsquo;ai eu besoin d&rsquo;utiliser les biblioth\u00e8ques <em>\u00ab\u00a0sap\/ushell\/Container\u00a0\u00bb<\/em> pour cr\u00e9er des extensions de projet et passer un xapp-state afin de filtrer une application lors de la navigation. Cependant, mon projet refusait de compiler car mon <strong>TypeScript ne connaissait pas<\/strong> <em>\u00ab\u00a0sap\/ushell\/Container\u00a0\u00bb<\/em>.<\/p>\n\n\n\n<p><em>Biblioth\u00e8que manquante :<\/em> <a href=\"https:\/\/github.com\/SAP\/ui5-typescript\/issues\/347\">`sap.ushell.Container` removed in 1.100? \u00b7 Issue #347 \u00b7 SAP\/ui5-typescript \u00b7 GitHub<\/a><\/p>\n\n\n\n<p>J\u2019ai d\u00fb trouver une solution de contournement mais ce qui est rassurant, c\u2019est que SAP corrige ce genre de probl\u00e8me au fur et \u00e0 mesure des mises \u00e0 jour.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h1>\n\n\n\n<p>Bien qu&rsquo;au d\u00e9but j&rsquo;ai r\u00e2l\u00e9 en voyant que je devais abandonner mon bon vieux JS pour le TS (comme un bon Fran\u00e7ais \ud83d\ude05), j&rsquo;ai finalement pris go\u00fbt au TS et je ne reviendrais pour rien au monde en arri\u00e8re.\u00a0Je trouve avoir gagn\u00e9 en <strong>confort<\/strong> de d\u00e9veloppement, en <strong>maintenance<\/strong> et en <strong>lisibilit\u00e9<\/strong> du code. J&rsquo;ai confiance en SAP et je sais que les probl\u00e8mes li\u00e9s aux biblioth\u00e8ques seront r\u00e9solus lors des prochaines mises \u00e0 jour.\u00a0<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/docsz\/AD_4nXcBh6R_8ODfWVv4fop-hO-z0TLum-8JxXElMgwMV4dt16OaHgsEBoImr7Pr96V9kMNFQxRinLjKwAgp6tDEbttQL2MbjJjytPn8OzkKD8xjIGmEqvVvUSuGZHUEMMYZOoV_EwNdpTgx2hnDAyIZ5Cg5Plg?key=Mjpkekhu1FjWEcctjExmhw\" width=\"279\" height=\"279\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En 11 ans de d\u00e9veloppement SAP, j&rsquo;ai suivi l&rsquo;\u00e9volution de la vision de SAP pour&#8230;<\/p>\n","protected":false},"author":5,"featured_media":8043,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42],"tags":[57,64,54,44,52],"class_list":{"0":"post-8013","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-sap-fiori","8":"tag-application","9":"tag-javascript","10":"tag-sap-fiori","11":"tag-sapui5","12":"tag-typescript"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP<\/title>\n<meta name=\"description\" content=\"Je vous partage mon exp\u00e9rience et les observations que j&#039;ai faites lors du d\u00e9veloppement d&#039;applications Fiori en TypeScript.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"og:description\" content=\"Je vous partage mon exp\u00e9rience et les observations que j&#039;ai faites lors du d\u00e9veloppement d&#039;applications Fiori en TypeScript.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/\" \/>\n<meta property=\"og:site_name\" content=\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-22T09:39:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-17T10:17:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png\" \/>\n\t<meta property=\"og:image:width\" content=\"976\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Simon Marques De Melo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon Marques De Melo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/\"},\"author\":{\"name\":\"Simon Marques De Melo\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/person\\\/21351eb6d6fe6b3bcb492884011cb543\"},\"headline\":\"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5\",\"datePublished\":\"2024-04-22T09:39:53+00:00\",\"dateModified\":\"2024-06-17T10:17:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/\"},\"wordCount\":1130,\"publisher\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/typescript.png\",\"keywords\":[\"application\",\"javascript\",\"sap fiori\",\"sapui5\",\"typescript\"],\"articleSection\":[\"SAP Fiori\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/\",\"name\":\"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/typescript.png\",\"datePublished\":\"2024-04-22T09:39:53+00:00\",\"dateModified\":\"2024-06-17T10:17:54+00:00\",\"description\":\"Je vous partage mon exp\u00e9rience et les observations que j'ai faites lors du d\u00e9veloppement d'applications Fiori en TypeScript.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/typescript.png\",\"contentUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/typescript.png\",\"width\":976,\"height\":510},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2024\\\/04\\\/22\\\/adopter-typescript-dans-le-developpement-de-sapui5\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/sapinnov.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#website\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/\",\"name\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\",\"description\":\"Des applications SAP utiles, agr\u00e9ables et performantes\",\"publisher\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sapinnov.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\",\"name\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/logo-sapinnov.png\",\"contentUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/logo-sapinnov.png\",\"width\":736,\"height\":145,\"caption\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/sapinnov\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/person\\\/21351eb6d6fe6b3bcb492884011cb543\",\"name\":\"Simon Marques De Melo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g\",\"caption\":\"Simon Marques De Melo\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/simon-marques-de-melo-14875768\\\/\"],\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/author\\\/smarquesdemelo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","description":"Je vous partage mon exp\u00e9rience et les observations que j'ai faites lors du d\u00e9veloppement d'applications Fiori en TypeScript.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/","og_locale":"fr_FR","og_type":"article","og_title":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","og_description":"Je vous partage mon exp\u00e9rience et les observations que j'ai faites lors du d\u00e9veloppement d'applications Fiori en TypeScript.","og_url":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/","og_site_name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","article_published_time":"2024-04-22T09:39:53+00:00","article_modified_time":"2024-06-17T10:17:54+00:00","og_image":[{"width":976,"height":510,"url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png","type":"image\/png"}],"author":"Simon Marques De Melo","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Simon Marques De Melo","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#article","isPartOf":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/"},"author":{"name":"Simon Marques De Melo","@id":"https:\/\/sapinnov.com\/#\/schema\/person\/21351eb6d6fe6b3bcb492884011cb543"},"headline":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5","datePublished":"2024-04-22T09:39:53+00:00","dateModified":"2024-06-17T10:17:54+00:00","mainEntityOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/"},"wordCount":1130,"publisher":{"@id":"https:\/\/sapinnov.com\/#organization"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png","keywords":["application","javascript","sap fiori","sapui5","typescript"],"articleSection":["SAP Fiori"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/","url":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/","name":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5 - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","isPartOf":{"@id":"https:\/\/sapinnov.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#primaryimage"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png","datePublished":"2024-04-22T09:39:53+00:00","dateModified":"2024-06-17T10:17:54+00:00","description":"Je vous partage mon exp\u00e9rience et les observations que j'ai faites lors du d\u00e9veloppement d'applications Fiori en TypeScript.","breadcrumb":{"@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#primaryimage","url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png","contentUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2024\/04\/typescript.png","width":976,"height":510},{"@type":"BreadcrumbList","@id":"https:\/\/sapinnov.com\/index.php\/2024\/04\/22\/adopter-typescript-dans-le-developpement-de-sapui5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/sapinnov.com\/"},{"@type":"ListItem","position":2,"name":"Adopter TypeScript dans le d\u00e9veloppement de SAPUI5"}]},{"@type":"WebSite","@id":"https:\/\/sapinnov.com\/#website","url":"https:\/\/sapinnov.com\/","name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","description":"Des applications SAP utiles, agr\u00e9ables et performantes","publisher":{"@id":"https:\/\/sapinnov.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sapinnov.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/sapinnov.com\/#organization","name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP","url":"https:\/\/sapinnov.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sapinnov.com\/#\/schema\/logo\/image\/","url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2022\/07\/logo-sapinnov.png","contentUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2022\/07\/logo-sapinnov.png","width":736,"height":145,"caption":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP"},"image":{"@id":"https:\/\/sapinnov.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/sapinnov\/"]},{"@type":"Person","@id":"https:\/\/sapinnov.com\/#\/schema\/person\/21351eb6d6fe6b3bcb492884011cb543","name":"Simon Marques De Melo","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8e28d6f6b95c501fa9220cce3795ca9be6f0f38c46582d40e31cda614b94349d?s=96&d=mm&r=g","caption":"Simon Marques De Melo"},"sameAs":["https:\/\/www.linkedin.com\/in\/simon-marques-de-melo-14875768\/"],"url":"https:\/\/sapinnov.com\/index.php\/author\/smarquesdemelo\/"}]}},"_links":{"self":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/comments?post=8013"}],"version-history":[{"count":20,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8013\/revisions"}],"predecessor-version":[{"id":8042,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8013\/revisions\/8042"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media\/8043"}],"wp:attachment":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media?parent=8013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/categories?post=8013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/tags?post=8013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}