{"id":112560,"date":"2025-04-30T15:00:00","date_gmt":"2025-04-30T13:00:00","guid":{"rendered":"https:\/\/staging.wingify.com\/blog\/feature-experimentation-sdk-openfeature\/"},"modified":"2025-04-30T15:00:00","modified_gmt":"2025-04-30T13:00:00","slug":"feature-experimentation-sdk-openfeature","status":"publish","type":"post","link":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/","title":{"rendered":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-contexte-pourquoi-nous-avons-adopte-openfeature\"><strong>Contexte : pourquoi nous avons adopt\u00e9 OpenFeature<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Chez Wingify, nous sommes convaincus qu&#8217;une exp\u00e9rience produit de qualit\u00e9 passe par une int\u00e9gration fluide de la personnalisation et du feature flagging. Notre SDK <strong>Wingify Feature Experimentation<\/strong> permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.Mais dans un contexte o\u00f9 les \u00e9cosyst\u00e8mes techniques se complexifient, il devient crucial de favoriser <strong>l&#8217;interop\u00e9rabilit\u00e9<\/strong> et la <strong>flexibilit\u00e9<\/strong>. C&#8217;est l\u00e0 que l&#8217;adoption d&#8217;<strong>OpenFeature<\/strong> prend tout son sens.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>OpenFeature : un standard ouvert pour le feature flagging<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/openfeature.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenFeature<\/a> est une sp\u00e9cification open-source qui fournit une API agnostique pour g\u00e9rer des feature flags. Elle permet aux d\u00e9veloppeurs d&#8217;int\u00e9grer des fonctionnalit\u00e9s de feature flagging de mani\u00e8re coh\u00e9rente, <strong>quel que soit l\u2019outil ou la plateforme utilis\u00e9e<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pourquoi c&#8217;est utile ?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Interop\u00e9rabilit\u00e9<\/strong> : une interface de d\u00e9veloppement (API) unique pour tous les fournisseurs.<br><\/li>\n\n\n\n<li><strong>\u00c9vitement du verrouillage fournisseur<\/strong> : changez d\u2019outil sans r\u00e9\u00e9crire votre logique m\u00e9tier.<br><\/li>\n\n\n\n<li><strong>Communaut\u00e9 active<\/strong> : incub\u00e9 par la CNCF, au c\u0153ur des pratiques modernes cloud-native.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comment \u00e7a marche ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenFeature fonctionne avec des <strong>providers<\/strong>, qui traduisent ses appels standardis\u00e9s en appels sp\u00e9cifiques \u00e0 chaque fournisseur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>? C\u2019est exactement ce que nous avons d\u00e9velopp\u00e9 pour <strong>Wingify Feature Experimentation<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ce que nous avons fait : un provider OpenFeature pour Wingify Feature Experimentation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notre objectif : <strong>rendre notre SDK compatible OpenFeature tout en conservant nos fonctionnalit\u00e9s avanc\u00e9es<\/strong>.Nous avons donc d\u00e9velopp\u00e9 un <strong>provider officiel<\/strong> :<br><a href=\"https:\/\/www.npmjs.com\/package\/@flagship.io\/openfeature-provider-js\">@flagship.io\/openfeature-provider-js<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Exemple d\u2019int\u00e9gration (Node.js)<\/strong><\/p>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nJavaScript\n<span style=\"color: #d73a49;\">const<\/span> express = require(<span style=\"color: #032f62;\">\"express\"<\/span>);\n<span style=\"color: #d73a49;\">const<\/span> { ABTastyProvider } = require(<span style=\"color: #032f62;\">\"@flagship.io\/openfeature-provider-js\"<\/span>);\n<span style=\"color: #d73a49;\">const<\/span> { OpenFeature } = require(<span style=\"color: #032f62;\">\"@openfeature\/server-sdk\"<\/span>);\n\n<span style=\"color: #d73a49;\">const<\/span> app = express();\napp.use(express.json());\n\n<span style=\"color: #d73a49;\">const<\/span> provider = new ABTastyProvider(<span style=\"color: #032f62;\">\"&lt;ENV_ID&gt;\"<\/span>, <span style=\"color: #032f62;\">\"&lt;API_KEY&gt;\"<\/span>);\n<span style=\"color: #005cc5;\">await<\/span> OpenFeature.setProviderAndWait(provider);\n\napp.get(<span style=\"color: #032f62;\">\"\/item\"<\/span>, <span style=\"color: #005cc5;\">async<\/span> (req, res) =&gt; {\n  <span style=\"color: #d73a49;\">const<\/span> evaluationContext = {\n    targetingKey: <span style=\"color: #032f62;\">\"visitor-id\"<\/span>,\n    fs_is_vip: <span style=\"color: #005cc5;\">true<\/span>,\n  };\n\n  OpenFeature.setContext(evaluationContext);\n  <span style=\"color: #d73a49;\">const<\/span> client = OpenFeature.getClient();\n\n  <span style=\"color: #d73a49;\">const<\/span> fsEnableDiscount = <span style=\"color: #005cc5;\">await<\/span> client.getBooleanValue(<span style=\"color: #032f62;\">\"fs_enable_discount\"<\/span>, <span style=\"color: #005cc5;\">false<\/span>, evaluationContext);\n  <span style=\"color: #d73a49;\">const<\/span> fsAddToCartBtnColor = <span style=\"color: #005cc5;\">await<\/span> client.getStringValue(<span style=\"color: #032f62;\">\"fs_add_to_cart_btn_color\"<\/span>, <span style=\"color: #032f62;\">\"blue\"<\/span>, evaluationContext);\n\n  res.json({\n    product: {\n      name: <span style=\"color: #032f62;\">\"Wingify Feature Experimentation T-shirt\"<\/span>,\n      price: <span style=\"color: #005cc5;\">20<\/span>,\n      discountEnabled: fsEnableDiscount,\n      btnColor: fsAddToCartBtnColor,\n    },\n  });\n});\n\napp.listen(<span style=\"color: #005cc5;\">3000<\/span>, () =&gt; console.log(<span style=\"color: #032f62;\">\"Server running on port 3000\"<\/span>));\n<\/code>\n<\/pre>\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zoom technique : int\u00e9grer Flagship via OpenFeature<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Installation des d\u00e9pendances<\/strong><\/h3>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nShell\n<span style=\"color: #005cc5;\">npm install<\/span> @openfeature\/server-sdk\n<span style=\"color: #005cc5;\">npm install<\/span> @flagship.io\/openfeature-provider-js\n<\/code>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Initialisation du provider<\/strong><\/p>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nJavaScript\n<span style=\"color: #d73a49;\">const<\/span> { ABTastyProvider } = require(<span style=\"color: #032f62;\">\"@flagship.io\/openfeature-provider-js\"<\/span>);\n<span style=\"color: #d73a49;\">const<\/span> { OpenFeature } = require(<span style=\"color: #032f62;\">\"@openfeature\/server-sdk\"<\/span>);\n\n<span style=\"color: #d73a49;\">const<\/span> provider = new ABTastyProvider(<span style=\"color: #032f62;\">\"&lt;ENV_ID&gt;\"<\/span>, <span style=\"color: #032f62;\">\"&lt;API_KEY&gt;\"<\/span>);\n<span style=\"color: #005cc5;\">await<\/span> OpenFeature.setProviderAndWait(provider);\n<\/code>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. D\u00e9finition du contexte d\u2019\u00e9valuation<\/strong><\/p>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nJavaScript\n<span style=\"color: #d73a49;\">const<\/span> evaluationContext = {\n  targetingKey: <span style=\"color: #032f62;\">\"visitor-id\"<\/span>,\n  fs_is_vip: <span style=\"color: #005cc5;\">true<\/span>,\n};\n\nOpenFeature.setContext(evaluationContext);\n<\/code>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. \u00c9valuation des flags<\/strong><\/p>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nJavaScript\n<span style=\"color: #d73a49;\">const<\/span> client = OpenFeature.getClient();\n\n<span style=\"color: #d73a49;\">const<\/span> fsEnableDiscount = <span style=\"color: #005cc5;\">await<\/span> client.getBooleanValue(\n  <span style=\"color: #032f62;\">\"fs_enable_discount\"<\/span>,\n  <span style=\"color: #005cc5;\">false<\/span>,\n  evaluationContext\n);\n\n<span style=\"color: #d73a49;\">const<\/span> fsAddToCartBtnColor = <span style=\"color: #005cc5;\">await<\/span> client.getStringValue(\n  <span style=\"color: #032f62;\">\"fs_add_to_cart_btn_color\"<\/span>,\n  <span style=\"color: #032f62;\">\"blue\"<\/span>,\n  evaluationContext\n);\n<\/code>\n<\/pre>\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Exemple complet avec Express.js<\/strong><\/p>\n\n\n\n<pre style=\"background-color: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: monospace;\">\n<code>\nJavaScript\n<span style=\"color: #d73a49;\">const<\/span> express = require(<span style=\"color: #032f62;\">\"express\"<\/span>);\n<span style=\"color: #d73a49;\">const<\/span> { ABTastyProvider } = require(<span style=\"color: #032f62;\">\"@flagship.io\/openfeature-provider-js\"<\/span>);\n<span style=\"color: #d73a49;\">const<\/span> { OpenFeature } = require(<span style=\"color: #032f62;\">\"@openfeature\/server-sdk\"<\/span>);\n\n<span style=\"color: #d73a49;\">const<\/span> app = express();\napp.use(express.json());\n\n<span style=\"color: #d73a49;\">const<\/span> provider = new ABTastyProvider(<span style=\"color: #032f62;\">\"&lt;ENV_ID&gt;\"<\/span>, <span style=\"color: #032f62;\">\"&lt;API_KEY&gt;\"<\/span>);\n<span style=\"color: #005cc5;\">await<\/span> OpenFeature.setProviderAndWait(provider);\n\napp.get(<span style=\"color: #032f62;\">\"\/item\"<\/span>, <span style=\"color: #005cc5;\">async<\/span> (req, res) =&gt; {\n  <span style=\"color: #d73a49;\">const<\/span> evaluationContext = {\n    targetingKey: <span style=\"color: #032f62;\">\"visitor-id\"<\/span>,\n    fs_is_vip: <span style=\"color: #005cc5;\">true<\/span>,\n  };\n\n  OpenFeature.setContext(evaluationContext);\n  <span style=\"color: #d73a49;\">const<\/span> client = OpenFeature.getClient();\n\n  <span style=\"color: #d73a49;\">const<\/span> fsEnableDiscountValue = <span style=\"color: #005cc5;\">await<\/span> client.getBooleanValue(\n    <span style=\"color: #032f62;\">\"fs_enable_discount\"<\/span>,\n    <span style=\"color: #005cc5;\">false<\/span>,\n    evaluationContext\n  );\n\n  <span style=\"color: #d73a49;\">const<\/span> fsAddToCartBtnColorValue = <span style=\"color: #005cc5;\">await<\/span> client.getStringValue(\n    <span style=\"color: #032f62;\">\"fs_add_to_cart_btn_color\"<\/span>,\n    <span style=\"color: #032f62;\">\"blue\"<\/span>,\n    evaluationContext\n  );\n\n  res.json({\n    item: {\n      name: <span style=\"color: #032f62;\">\"Flagship T-shirt\"<\/span>,\n      price: <span style=\"color: #005cc5;\">20<\/span>,\n    },\n    fsEnableDiscount: fsEnableDiscountValue,\n    fsAddToCartBtnColor: fsAddToCartBtnColorValue,\n  });\n});\n\n<span style=\"color: #d73a49;\">const<\/span> port = <span style=\"color: #005cc5;\">3000<\/span>;\napp.listen(port, () =&gt; {\n  console.log(<span style=\"color: #032f62;\">`Server running on port ${port}`<\/span>);\n});\n<\/code>\n<\/pre>\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bonus : d\u00e9tection automatique des flags gr\u00e2ce \u00e0 notre codebase analyser<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour encore plus de rapidit\u00e9, nous mettons \u00e0 disposition un <strong>codebase analyser<\/strong> directement int\u00e9gr\u00e9 dans notre CLI (incluse dans notre extension VSCode).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ce qu\u2019il fait :<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Il scanne la codebase du client.<br><\/li>\n\n\n\n<li>Il d\u00e9tecte automatiquement l\u2019utilisation de solutions concurrentes (comme Optimizely, Kameleoon\u2026).<br><\/li>\n\n\n\n<li>Il rep\u00e8re les flags d\u00e9j\u00e0 impl\u00e9ment\u00e9s via OpenFeature.<br><\/li>\n\n\n\n<li>Il propose une <strong>cr\u00e9ation automatique de ces flags dans notre plateforme Flagship<\/strong>.<br><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>R\u00e9sultat ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u27a1\ufe0f Vous migrez en quelques clics, sans ressaisie.<br>\u27a1\ufe0f Vous testez notre outil Feature Experimentation sans effort.<br>\u27a1\ufe0f Vous gagnez un temps pr\u00e9cieux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pourquoi c\u2019est important pour nos clients<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En adoptant OpenFeature, nous offrons \u00e0 nos clients :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une <strong>int\u00e9gration plus rapide<\/strong> dans leurs architectures existantes.<br><\/li>\n\n\n\n<li>Une <strong>portabilit\u00e9 accrue<\/strong> de leurs d\u00e9ploiements cloud.<br><\/li>\n\n\n\n<li>Une <strong>flexibilit\u00e9 totale<\/strong> dans leurs choix technologiques.<br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Et surtout, nous r\u00e9affirmons notre <strong>engagement vers un \u00e9cosyst\u00e8me ouvert et interop\u00e9rable<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Ressources utiles pour aller plus loin<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wingify.com\/docs\/flagship\/openfeature\/\" target=\"_blank\" rel=\"noreferrer noopener\">Notre guide d\u2019int\u00e9gration Wingify x OpenFeature<br><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/signoz.io\/blog\/openfeature\/\" target=\"_blank\" rel=\"noreferrer noopener\">Le blog Signoz sur OpenFeature<br><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/leaddev.com\/technical-direction\/why-openfeature-central-modern-feature-management\" target=\"_blank\" rel=\"noreferrer noopener\">Pourquoi OpenFeature est central dans le feature management moderne (LeadDev)<br><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openfeature.dev\/docs\/reference\/intro\" target=\"_blank\" rel=\"noreferrer noopener\">La documentation officielle OpenFeature<br><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Contexte : pourquoi nous avons adopt\u00e9 OpenFeature Chez Wingify, nous sommes convaincus qu&#8217;une exp\u00e9rience produit de qualit\u00e9 passe par une int\u00e9gration fluide de la personnalisation et du feature flagging. Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.Mais dans un contexte&#8230;<\/p>\n","protected":false},"author":1439,"featured_media":115643,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"post_read_time":0,"footnotes":""},"categories":[11050],"tags":[],"feature":[],"industry-type":[],"product":[],"role":[],"region":[],"class_list":["post-112560","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classe-fr"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert<\/title>\n<meta name=\"description\" content=\"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.\" \/>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert\" \/>\n<meta property=\"og:description\" content=\"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/\" \/>\n<meta property=\"og:site_name\" content=\"Wingify Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-30T13:00:00+00:00\" \/>\n<meta name=\"author\" content=\"Julie Dumont\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Wingify\" \/>\n<meta name=\"twitter:site\" content=\"@Wingify\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julie Dumont\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/\"},\"author\":{\"name\":\"Julie Dumont\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/#\\\/schema\\\/person\\\/161d6d8376563c73682c863d723d4bef\"},\"headline\":\"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert\",\"datePublished\":\"2025-04-30T13:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/\"},\"wordCount\":498,\"image\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/Release-Management-3.png\",\"articleSection\":[\"Non class\u00e9\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/\",\"url\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/\",\"name\":\"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/Release-Management-3.png\",\"datePublished\":\"2025-04-30T13:00:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/#\\\/schema\\\/person\\\/161d6d8376563c73682c863d723d4bef\"},\"description\":\"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#primaryimage\",\"url\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/Release-Management-3.png\",\"contentUrl\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/Release-Management-3.png\",\"width\":2400,\"height\":2332,\"caption\":\"Release Management 3\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/feature-experimentation-sdk-openfeature\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Non class\u00e9\",\"item\":\"https:\\\/\\\/wingify.com\\\/blog\\\/non-classe-fr\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/\",\"name\":\"Wingify Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/#\\\/schema\\\/person\\\/161d6d8376563c73682c863d723d4bef\",\"name\":\"Julie Dumont\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/julie-dumont-150x150.jpeg\",\"url\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/julie-dumont-150x150.jpeg\",\"contentUrl\":\"https:\\\/\\\/static.wingify.com\\\/gcp\\\/uploads\\\/sites\\\/3\\\/2026\\\/09\\\/julie-dumont-150x150.jpeg\",\"caption\":\"Julie Dumont\"},\"description\":\"Julie Dumont is the Chief Product Officer at AB Tasty. She leads the product vision and strategy, overseeing the development of new features and is dedicated to ensuring AB Tasty continues to be an innovative and market-leading solution for personalization and experimentation.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/julie-dumont-15192b20\\\/\"],\"url\":\"https:\\\/\\\/wingify.com\\\/blog\\\/fr\\\/author\\\/julie\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert","description":"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"fr_FR","og_type":"article","og_title":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert","og_description":"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.","og_url":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/","og_site_name":"Wingify Blog","article_published_time":"2025-04-30T13:00:00+00:00","author":"Julie Dumont","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png","twitter_creator":"@Wingify","twitter_site":"@Wingify","twitter_misc":{"Written by":"Julie Dumont","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#article","isPartOf":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/"},"author":{"name":"Julie Dumont","@id":"https:\/\/wingify.com\/blog\/fr\/#\/schema\/person\/161d6d8376563c73682c863d723d4bef"},"headline":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert","datePublished":"2025-04-30T13:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/"},"wordCount":498,"image":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#primaryimage"},"thumbnailUrl":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png","articleSection":["Non class\u00e9"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/","url":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/","name":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert","isPartOf":{"@id":"https:\/\/wingify.com\/blog\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#primaryimage"},"image":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#primaryimage"},"thumbnailUrl":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png","datePublished":"2025-04-30T13:00:00+00:00","author":{"@id":"https:\/\/wingify.com\/blog\/fr\/#\/schema\/person\/161d6d8376563c73682c863d723d4bef"},"description":"Notre SDK Wingify Feature Experimentation permet aux \u00e9quipes tech de contr\u00f4ler finement l\u2019activation de leurs fonctionnalit\u00e9s et d\u2019adapter leurs interfaces \u00e0 chaque visiteur.","breadcrumb":{"@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#primaryimage","url":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png","contentUrl":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/Release-Management-3.png","width":2400,"height":2332,"caption":"Release Management 3"},{"@type":"BreadcrumbList","@id":"https:\/\/wingify.com\/blog\/fr\/feature-experimentation-sdk-openfeature\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wingify.com\/blog\/fr\/"},{"@type":"ListItem","position":2,"name":"Non class\u00e9","item":"https:\/\/wingify.com\/blog\/non-classe-fr\/"},{"@type":"ListItem","position":3,"name":"Comment nous avons adopt\u00e9 OpenFeature pour rendre notre SDK Wingify Feature Experimentation encore plus ouvert"}]},{"@type":"WebSite","@id":"https:\/\/wingify.com\/blog\/fr\/#website","url":"https:\/\/wingify.com\/blog\/fr\/","name":"Wingify Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wingify.com\/blog\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/wingify.com\/blog\/fr\/#\/schema\/person\/161d6d8376563c73682c863d723d4bef","name":"Julie Dumont","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/julie-dumont-150x150.jpeg","url":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/julie-dumont-150x150.jpeg","contentUrl":"https:\/\/static.wingify.com\/gcp\/uploads\/sites\/3\/2026\/09\/julie-dumont-150x150.jpeg","caption":"Julie Dumont"},"description":"Julie Dumont is the Chief Product Officer at AB Tasty. She leads the product vision and strategy, overseeing the development of new features and is dedicated to ensuring AB Tasty continues to be an innovative and market-leading solution for personalization and experimentation.","sameAs":["https:\/\/www.linkedin.com\/in\/julie-dumont-15192b20\/"],"url":"https:\/\/wingify.com\/blog\/fr\/author\/julie\/"}]}},"_links":{"self":[{"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/112560","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/users\/1439"}],"replies":[{"embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/comments?post=112560"}],"version-history":[{"count":0,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/112560\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/media\/115643"}],"wp:attachment":[{"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/media?parent=112560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/categories?post=112560"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/tags?post=112560"},{"taxonomy":"feature","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/feature?post=112560"},{"taxonomy":"industry-type","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/industry-type?post=112560"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/product?post=112560"},{"taxonomy":"role","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/role?post=112560"},{"taxonomy":"region","embeddable":true,"href":"https:\/\/wingify.com\/blog\/fr\/wp-json\/wp\/v2\/region?post=112560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}