{"id":6322,"date":"2016-12-22T17:19:18","date_gmt":"2016-12-22T16:19:18","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=6322"},"modified":"2022-11-21T16:53:25","modified_gmt":"2022-11-21T15:53:25","slug":"de-la-tarte-non-du-gateau","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/","title":{"rendered":"De la tarte ? non, du g\u00e2teau !"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322&#038;title=De%20la%20tarte%20%3F%20non%2C%20du%20g%C3%A2teau%20%21\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=De%20la%20tarte%20%3F%20non%2C%20du%20g%C3%A2teau%20%21&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>En r\u00e9f\u00e9rence l&#8217;<a href=\"https:\/\/blog.capdata.fr\/index.php\/pas-de-la-tarte\/\">article<\/a> concernant le portage du code de SQL Server sur Linux.<\/p>\n<p>En fait, de portage il n&#8217;y aura pas eu. Presque pas besoin. Voir la pr\u00e9sentation de Slava et Tobias Thernstr\u00f6m sur Channel 9 qui donne une id\u00e9e pr\u00e9cise du comment:<\/p>\n<p>&#8211;\u00a0<a href=\"https:\/\/blogs.technet.microsoft.com\/dataplatforminsider\/2016\/12\/16\/sql-server-on-linux-how-introduction\/\">https:\/\/blogs.technet.microsoft.com\/dataplatforminsider\/2016\/12\/16\/sql-server-on-linux-how-introduction\/<\/a><br \/>\n&#8211;\u00a0<a href=\"https:\/\/channel9.msdn.com\/Shows\/Data-Exposed\/SQL-Server-on-Linux-The-HOW \">https:\/\/channel9.msdn.com\/Shows\/Data-Exposed\/SQL-Server-on-Linux-The-HOW\u00a0<\/a><\/p>\n<p>Le plus beau dans l&#8217;histoire c&#8217;est que les binaires sqlservr, les dlls sqlmin, sqllang, sqlos etc&#8230;, restent tous au format PE. De fait seule la couche de dialogue Linux Host Extension est en ELF64, et ne convertit que 50 appels syst\u00e8me distincts en syscalls linux (pour l&#8217;instant), dont tr\u00e8s probablement ceux \u00e9voqu\u00e9s dans l&#8217;article <em>pas de la tarte : <\/em>scatter \/gather IO, waitforsingle \/ multipleobjects, InterlockedExchange, IOCP , &#8230;<\/p>\n<p>D&#8217;ailleurs via une simple trace des appels syst\u00e8mes effectu\u00e9s par la couche LHE sur la CTP 1.1, j&#8217;ai pu valider plusieurs hypoth\u00e8ses notamment l&#8217;utilisation des futexes et d&#8217;epolls. Ci-dessous un sch\u00e9ma fourni par Slava et Tobias qui r\u00e9sume le mieux la fa\u00e7on dont ils ont r\u00e9pondu \u00e0 la probl\u00e9matique:<\/p>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6325\" title=\"sqlpal\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal.png\" alt=\"\" width=\"467\" height=\"712\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal.png 467w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal-197x300.png 197w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal-196x300.png 196w\" sizes=\"auto, (max-width: 467px) 100vw, 467px\" \/><\/a><\/p>\n<p>SQLPAL est d\u00e9riv\u00e9 du concept de Platform Abstraction Layer qui vient de <a href=\"https:\/\/channel9.msdn.com\/Shows\/Going+Deep\/Drawbridge-An-Experimental-Library-Operating-System\">DrawBridge<\/a>. Et toute l&#8217;abstraction qui avait \u00e9t\u00e9 faite par Slava \u00e0 l&#8217;\u00e9poque de Yukon a directement port\u00e9 ses fruits ici, dans la mesure o\u00f9 la plupart des appels \u00e9taient pipelin\u00e9s aux APIs win32 via SQLOS. Bien s\u00fbr il y a eu d&#8217;autres sources d&#8217;appels directs aux API (l&#8217;agent SQL, MSXML, SQLCLR encore que pas tout) \u00a0qu&#8217;il a fallu modifier pour qu&#8217;elles ne s&#8217;adressent plus qu\u00e0 SQLOS v2, mais cela ne repr\u00e9sentait qu&#8217;une petite partie du code en quantit\u00e9.<\/p>\n<p>Cette couche LHE, \u00e7a me fait penser \u00e0 l&#8217;impl\u00e9mentation des premi\u00e8res VMM avant l&#8217;assistance mat\u00e9rielle \u00e0 la virtualisation, cf la\u00a0<a href=\"https:\/\/www.cse.iitd.ernet.in\/~sbansal\/csl862-virt\/2010\/readings\/00paper_vmm.pdf\">publication<\/a>\u00a0de John Scott Robin et Cynthia Irvine qui pr\u00e9figurait ce qu&#8217;allait devenir les premiers hyperviseurs au d\u00e9but des ann\u00e9es 2000. On effectuait une translation binaire des quelques instructions qui n\u00e9cessitent de tourner en ring z\u00e9ro et tout le reste pouvait tourner comme s&#8217;il \u00e9tait r\u00e9ellement en bare-metal.<\/p>\n<div>\u00a0C&#8217;\u00e9tait juste tr\u00e8s na\u00eff de ma part de penser qu&#8217;ils aient pu faire un portage complet du code vers Linux. J&#8217;avais gard\u00e9 en t\u00eate l&#8217;exemple de <a href=\"https:\/\/www.nluug.nl\/events\/nj99\/abstracts\/have.html\">Wim ten Have<\/a>, ce d\u00e9veloppeur de Sybase Corp \u00e0 la fin des ann\u00e9es 90 qui avait port\u00e9 le code de Sybase ASE de SunOS \u00e0 Linux pendant ses pauses d\u00e9jeuner. L&#8217;histoire de dit pas combien de temps il avait r\u00e9ellement mis \u00a0pour terminer son side-project. Dans le cas de SQL Server, il aurait fallu plusieurs ann\u00e9es avec beaucoup de monde pour passer de win32 \u00e0 Linux, il y a quand m\u00eame quelque chose comme 40 millions de lignes de code dans le source.<\/div>\n<p>En tous cas, \u00e7a montre \u00e0 quel point il est important de mettre des billes dans la R&amp;D, car sans Drawbridge, les travaux sur Singularity, ou tout le travail d&#8217;<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/baumann\/\">Andew Bauman<\/a> sur <a href=\"https:\/\/www.barrelfish.org\/\">Barrelfish<\/a>, c&#8217;eut \u00e9t\u00e9 impossible d\u2019accomplir ce miracle en aussi peu de temps (Slava parle d&#8217;un seul mois pour booter le process sous Linux).<\/p>\n<p>On va donc continuer de suivre tout \u00e7a de plus pr\u00e8s, et \u00e7a tombe bien, il fallait que je me mette \u00e0 gdb \/ lldb un jour ou l&#8217;autre, donc l&#8217;occasion est venue &#8230;<\/p>\n<p>Bonnes f\u00eates de fin d&#8217;ann\u00e9e \u00e0 toutes \/ tous. A+<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322&#038;title=De%20la%20tarte%20%3F%20non%2C%20du%20g%C3%A2teau%20%21\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=De%20la%20tarte%20%3F%20non%2C%20du%20g%C3%A2teau%20%21&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6322\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>En r\u00e9f\u00e9rence l&#8217;article concernant le portage du code de SQL Server sur Linux. En fait, de portage il n&#8217;y aura pas eu. Presque pas besoin. Voir la pr\u00e9sentation de Slava et Tobias Thernstr\u00f6m sur Channel 9 qui donne une id\u00e9e&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":6325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[30,174],"class_list":["post-6322","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqlserver","tag-linux","tag-win32"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"En r\u00e9f\u00e9rence l&#8217;article concernant le portage du code de SQL Server sur Linux. En fait, de portage il n&#8217;y aura pas eu. Presque pas besoin. Voir la pr\u00e9sentation de Slava et Tobias Thernstr\u00f6m sur Channel 9 qui donne une id\u00e9e&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-22T16:19:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T15:53:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal.png\" \/>\n\t<meta property=\"og:image:width\" content=\"467\" \/>\n\t<meta property=\"og:image:height\" content=\"712\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Baffaleuf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Baffaleuf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\"},\"author\":{\"name\":\"David Baffaleuf\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\"},\"headline\":\"De la tarte ? non, du g\u00e2teau !\",\"datePublished\":\"2016-12-22T16:19:18+00:00\",\"dateModified\":\"2022-11-21T15:53:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\"},\"wordCount\":574,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"linux\",\"win32\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\",\"name\":\"De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2016-12-22T16:19:18+00:00\",\"dateModified\":\"2022-11-21T15:53:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"De la tarte ? non, du g\u00e2teau !\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\",\"name\":\"David Baffaleuf\",\"sameAs\":[\"http:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG","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:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/","og_locale":"fr_FR","og_type":"article","og_title":"De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG","og_description":"En r\u00e9f\u00e9rence l&#8217;article concernant le portage du code de SQL Server sur Linux. En fait, de portage il n&#8217;y aura pas eu. Presque pas besoin. Voir la pr\u00e9sentation de Slava et Tobias Thernstr\u00f6m sur Channel 9 qui donne une id\u00e9e&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2016-12-22T16:19:18+00:00","article_modified_time":"2022-11-21T15:53:25+00:00","og_image":[{"width":467,"height":712,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/12\/sqlpal.png","type":"image\/png"}],"author":"David Baffaleuf","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"David Baffaleuf","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/"},"author":{"name":"David Baffaleuf","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf"},"headline":"De la tarte ? non, du g\u00e2teau !","datePublished":"2016-12-22T16:19:18+00:00","dateModified":"2022-11-21T15:53:25+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/"},"wordCount":574,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["linux","win32"],"articleSection":["SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/","url":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/","name":"De la tarte ? non, du g\u00e2teau ! - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2016-12-22T16:19:18+00:00","dateModified":"2022-11-21T15:53:25+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/de-la-tarte-non-du-gateau\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"De la tarte ? non, du g\u00e2teau !"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf","name":"David Baffaleuf","sameAs":["http:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=6322"}],"version-history":[{"count":30,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6322\/revisions"}],"predecessor-version":[{"id":9510,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6322\/revisions\/9510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/6325"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=6322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=6322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=6322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}