{"id":8892,"date":"2026-03-23T17:55:47","date_gmt":"2026-03-23T16:55:47","guid":{"rendered":"https:\/\/sapinnov.com\/?p=8892"},"modified":"2026-03-23T18:24:20","modified_gmt":"2026-03-23T17:24:20","slug":"configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp","status":"publish","type":"post","link":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/","title":{"rendered":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP"},"content":{"rendered":"\n<p>Dans cet article de blog, je vais vous expliquer comment configurer un profil de test hybride dans un projet CAP bas\u00e9 sur Node.js, en utilisant une base de donn\u00e9es PostgreSQL h\u00e9berg\u00e9e sur BTP, et en l&rsquo;ex\u00e9cutant localement depuis Business Application Studio.<\/p>\n\n\n\n<p>Bien que la configuration de profils hybrides dans CAP soit une t\u00e2che courante, leur utilisation avec PostgreSQL sur BTP introduit quelques d\u00e9fis, principalement la n\u00e9cessit\u00e9 de se connecter via un tunnel SSH pour acc\u00e9der \u00e0 la base de donn\u00e9es distante depuis votre espace de travail BAS local.<\/p>\n\n\n\n<p>Pour plus d&rsquo;informations sur les tests hybrides dans CAP : <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/cap.cloud.sap\/docs\/advanced\/hybrid-testing\">https:\/\/cap.cloud.sap\/docs\/advanced\/hybrid-testing<\/a><\/p>\n\n\n\n<p>Table des mati\u00e8res:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-1890932964\">Pr\u00e9requis et exemple de projet<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-1694419459\">Sp\u00e9cificit\u00e9 de PostgreSQL sur BTP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-1497905954\">Cr\u00e9ation du profil hybride<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-1301392449\">Activer SSH<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-1104878944\">Connexion s\u00e9curis\u00e9e via tunnel SSH<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-908365439\">Lancer l&rsquo;application<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-711851934\">En cas d&rsquo;erreur \u00ab\u00a0ResourceRequest timed out\u00a0\u00bb<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-members\/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business\/ba-p\/14233631%23toc-hId-515338429\">Conclusion<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pr\u00e9requis et exemple de projet<\/strong><\/h2>\n\n\n\n<p>Dans ce tutoriel, j&rsquo;utiliserai un exemple de projet CAP qui a \u00e9t\u00e9 cr\u00e9\u00e9 pr\u00e9c\u00e9demment et est disponible publiquement sur <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/github.com\/ValentinCadart\/CAPHybridTestingWithPostgres\">GitHub<\/a>. Si vous pr\u00e9f\u00e9rez commencer \u00e0 partir de z\u00e9ro, vous pouvez suivre le guide de configuration officiel ici : <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/cap.cloud.sap\/docs\/guides\/deployment\/to-cf\">https:\/\/cap.cloud.sap\/docs\/guides\/deployment\/to-cf<\/a><\/p>\n\n\n\n<p>Assurez-vous simplement de remplacer HANA Cloud par PostgreSQL en ex\u00e9cutant la commande suivante\u00a0:<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<p><code>cds add postgres --for production<\/code><\/p>\n\n\n\n<p> <\/p>\n<\/div>\n\n\n\n<p>Note : La commande cds add postgres\u00a0ajoute automatiquement une ressource PostgreSQL \u00e0 votre fichier mta.yaml, en utilisant le plan de service development\u00a0par d\u00e9faut. Cependant, ce plan n&rsquo;est pas disponible sur les comptes d&rsquo;essai BTP. Si vous utilisez un compte d&rsquo;essai, remplacez simplement development\u00a0par trial\u00a0dans le fichier mta.yaml comme indiqu\u00e9 ci-dessous\u00a0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- name: bookshop-postgres\n  type: org.cloudfoundry.managed-service\n  parameters:\n    service: postgresql-db\n    service-plan: trial<\/code><\/pre>\n\n\n\n<p>Une fois le projet d\u00e9ploy\u00e9 sur BTP, vous verrez cinq instances de service cr\u00e9\u00e9es:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une instance pour l&rsquo;autorisation (XSUAA)<\/li>\n\n\n\n<li>Une pour le service de destination<\/li>\n\n\n\n<li>Deux li\u00e9es au r\u00e9f\u00e9rentiel d&rsquo;applications HTML5 (h\u00f4te et ex\u00e9cution)<\/li>\n\n\n\n<li>Et une pour la base de donn\u00e9es PostgreSQL<\/li>\n<\/ul>\n\n\n\n<p>Cette configuration repr\u00e9sente un d\u00e9ploiement CAP standard sur Cloud Foundry avec un module d&rsquo;interface utilisateur HTML5.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/community.sap.com\/t5\/image\/serverpage\/image-id\/322347i21B48A475FBCECBB\/image-dimensions\/2500?v=v2&amp;px=-1\" alt=\"\"\/><\/figure>\n\n\n\n<p>De plus, dans votre espace Cloud Foundry, vous trouverez deux applications d\u00e9ploy\u00e9es:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une pour la base de donn\u00e9es PostgreSQL<\/li>\n\n\n\n<li>Et une autre pour le service backend de votre application (le module -srv)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/community.sap.com\/t5\/image\/serverpage\/image-id\/322348i2A9FFF905F5C4C73\/image-dimensions\/2500?v=v2&amp;px=-1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Avec la configuration de base \u00e9tablie sur BTP, nous pouvons maintenant passer \u00e0 la mise en \u0153uvre des tests hybrides depuis Business Application Studio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sp\u00e9cificit\u00e9 de PostgreSQL sur BTP<\/strong><\/h2>\n\n\n\n<p>Le service PostgreSQL sur SAP BTP inclut d\u00e9sormais des fonctionnalit\u00e9s qui permettent l&rsquo;acc\u00e8s depuis l&rsquo;ext\u00e9rieur de l&rsquo;environnement BTP. Cela inclut la prise en charge des <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/help.sap.com\/docs\/postgresql-on-sap-btp\/postgresql-on-sap-btp-hyperscaler-option\/public-ip-access-in-postgresql-instances%3Flocale%3Den-US\">adresses IP publiques<\/a>, qui permettent des connexions \u00e0 partir de syst\u00e8mes externes, ainsi que la fonctionnalit\u00e9 de <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/help.sap.com\/docs\/postgresql-on-sap-btp\/postgresql-on-sap-btp-hyperscaler-option\/instance-sharing%3Flocale%3Den-US\">partage d&rsquo;instance<\/a>, qui vous permet de partager une instance PostgreSQL sur diff\u00e9rents sous-comptes.<\/p>\n\n\n\n<p>Pour plus de d\u00e9tails, vous pouvez vous r\u00e9f\u00e9rer aux articles de blog suivants:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-sap\/postgresql-on-sap-btp-how-to-access-instances-via-public-ips\/ba-p\/13868169\">PostgreSQL sur SAP BTP &#8211; Comment acc\u00e9der aux instances via des adresses IP publiques<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-sap\/postgresql-on-sap-btp-instance-sharing-reference-service-plan\/ba-p\/13794791\">PostgreSQL sur SAP BTP &#8211; Partage d&rsquo;instance | Plan de service &lsquo;reference&rsquo;<\/a><\/li>\n<\/ul>\n\n\n\n<p>Si vous \u00eates int\u00e9ress\u00e9 par d&rsquo;autres articles de blog officiels sur PostgreSQL sur BTP, consultez cet index : <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/community.sap.com\/t5\/technology-blog-posts-by-sap\/postgresql-on-sap-btp-are-you-looking-for-official-blog-posts-blog-index\/ba-p\/13788533\">PostgreSQL sur SAP BTP &#8211; Vous recherchez des articles de blog officiels ? INDEX du blog<\/a>. Cependant, dans notre cas d&rsquo;utilisation sp\u00e9cifique, nous ne pouvons pas utiliser ces fonctionnalit\u00e9s. Cette limitation est due \u00e0 la nature de notre configuration actuelle, o\u00f9 ces options ne nous permettent pas d&rsquo;atteindre cet objectif en pratique. Pour contourner ce probl\u00e8me, nous allons cr\u00e9er un tunnel SSH entre Business Application Studio et notre application Cloud Foundry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cr\u00e9ation du profil hybride<\/strong><\/h2>\n\n\n\n<p>Pour configurer le profil hybride, vous devez modifier ou cr\u00e9er le fichier .cdsrc.json\u00a0(ou .cdsrv-private.json) \u00e0 la racine de votre projet CAP. Ce fichier d\u00e9finit les profils de lancement et les options sp\u00e9cifiques pour la commande cds.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"cds\": {\n    \"requires\": {\n      \"\\&#91;hybrid\\]\": {\n        \"db\": {\n          \"kind\": \"postgres\",\n          \"credentials\": {\n            \"host\": \"127.0.0.1\",\n            \"port\": 63306,\n            \"user\": \"\\&lt;user\\&gt;\",\n            \"password\": \"\\&lt;password\\&gt;\",\n            \"database\": \"\\&lt;dbname\\&gt;\",\n            \"sslcert\": \"-----BEGIN CERTIFICATE-----\\\\n...\\\\n-----END CERTIFICATE-----\",\n            \"sslrootcert\": \"-----BEGIN CERTIFICATE-----\\\\n...\\\\n-----END CERTIFICATE-----\"\n          },\n          \"ssl\": {\n            \"rejectUnauthorized\": true,\n            \"ca\": \"\\&lt;same\\_as\\_sslcert\\&gt;\"\n          },\n          \"pool\": {\n            \"acquireTimeoutMillis\": 2000\n          }\n        }\n      }\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>Remplacez les espaces r\u00e9serv\u00e9s &lt;user>, &lt;password>, &lt;database>, ainsi que les champs &lt;sslcert>\u00a0et &lt;sslrootcert>\u00a0par les informations d&rsquo;identification fournies par votre instance PostgreSQL h\u00e9berg\u00e9e sur BTP.<\/p>\n\n\n\n<p>PostgreSQL et CAP n\u00e9cessitent une connexion chiffr\u00e9e (SSL). Par cons\u00e9quent, les champs de configuration SSL doivent \u00eatre explicitement ajout\u00e9s aux informations d&rsquo;identification de la base de donn\u00e9es afin que CAP puisse \u00e9tablir une connexion s\u00e9curis\u00e9e \u00e0 PostgreSQL.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/community.sap.com\/t5\/image\/serverpage\/image-id\/322349iD823E1883D84B021\/image-size\/large?v=v2&amp;px=999\" alt=\"\"\/><\/figure>\n\n\n\n<p>L&rsquo;acc\u00e8s direct \u00e0 la base de donn\u00e9es PostgreSQL distante est restreint pour des raisons de s\u00e9curit\u00e9. En cr\u00e9ant un tunnel SSH, un port local (par exemple, 63306) sur votre environnement BAS est transf\u00e9r\u00e9 de mani\u00e8re s\u00e9curis\u00e9e vers la base de donn\u00e9es distante, de sorte que la connexion \u00e0 127.0.0.1:63306\u00a0acc\u00e8de effectivement \u00e0 l&rsquo;instance PostgreSQL distante via ce tunnel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Activer SSH<\/h2>\n\n\n\n<p>Avant de pouvoir vous connecter via SSH \u00e0 votre application Cloud Foundry, vous devez d&rsquo;abord activer cette fonctionnalit\u00e9 en ex\u00e9cutant&nbsp;:<\/p>\n\n\n\n<p><code>cf enable-ssh bookshop-srv<\/code><br><code>cf restart bookshop-srv<\/code><\/p>\n\n\n\n<p>Si vous rencontrez des probl\u00e8mes, consultez la documentation officielle de Cloud Foundry SSH : <a href=\"https:\/\/www.google.com\/url?source=gmail&amp;sa=E&amp;q=https:\/\/docs.cloudfoundry.org\/devguide\/deploy-apps\/ssh-apps.html\">https:\/\/docs.cloudfoundry.org\/devguide\/deploy-apps\/ssh-apps.html<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connexion s\u00e9curis\u00e9e via tunnel SSH<\/h2>\n\n\n\n<p>Ouvrez un terminal dans Business Application Studio et ex\u00e9cutez la commande suivante&nbsp;:<\/p>\n\n\n\n<p><code>cf ssh -L 63306:&lt;host_from_service_key>:&lt;port_from_service_key> &lt;application_name><\/code><\/p>\n\n\n\n<p>Remplacez &lt;host_from_service_key>\u00a0et &lt;port_from_service_key>\u00a0par les valeurs de votre cl\u00e9 de service PostgreSQL sur BTP (cr\u00e9ez-en une si elle n&rsquo;existe pas). Remplacez \u00e9galement &lt;application_name>\u00a0par le nom de votre application Cloud Foundry (par exemple, bookshop-srv).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/community.sap.com\/t5\/image\/serverpage\/image-id\/322350i6083D44CC7B8CA8B\/image-dimensions\/2500?v=v2&amp;px=-1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Cette commande cr\u00e9e un tunnel SSH qui transf\u00e8re le port local 63306 vers la base de donn\u00e9es PostgreSQL distante via l&rsquo;application Cloud Foundry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lancer l&rsquo;application<\/h2>\n\n\n\n<p>Dans un deuxi\u00e8me terminal, ex\u00e9cutez la commande suivante pour d\u00e9marrer votre application \u00e0 l&rsquo;aide du profil hybride:<\/p>\n\n\n\n<p><code>cds watch --profile hybrid<\/code>Vous devriez voir un message dans la console confirmant la connexion \u00e0 PostgreSQL sur localhost, par exemple&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;cds] - connect to db &gt; postgres {\n  host: '127.0.0.1',\n  port: 63306,\n  ...\n}<\/code><\/pre>\n\n\n\n<p>Votre application s&rsquo;ex\u00e9cute maintenant localement dans Business Application Studio, mais utilise les donn\u00e9es r\u00e9elles de la base de donn\u00e9es PostgreSQL h\u00e9berg\u00e9e sur votre compte BTP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">En cas d&rsquo;erreur \u00ab\u00a0ResourceRequest timed out\u00a0\u00bb<\/h2>\n\n\n\n<p>Si vous voyez l&rsquo;erreur suivante&nbsp;:<\/p>\n\n\n\n<p><code>&lt;message&gt;ResourceRequest timed out&lt;\/message&gt;<\/code>Cela signifie probablement que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le tunnel SSH n&rsquo;est pas actif<\/li>\n\n\n\n<li>Le certificat SSL n&rsquo;est pas charg\u00e9 correctement<\/li>\n\n\n\n<li>Le d\u00e9lai d&rsquo;attente est trop court (d&rsquo;o\u00f9 l&rsquo;importance du param\u00e8tre acquireTimeoutMillis)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Une fois configur\u00e9e, cette configuration vous permet de d\u00e9velopper localement \u00e0 partir de Business Application Studio tout en testant votre application avec des donn\u00e9es r\u00e9elles de PostgreSQL. De cette fa\u00e7on, vous \u00e9vitez de red\u00e9ployer l&rsquo;application apr\u00e8s chaque modification et exploitez pleinement les capacit\u00e9s de test hybrides de CAP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article de blog, je vais vous expliquer comment configurer un profil de test&#8230;<\/p>\n","protected":false},"author":6,"featured_media":8893,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[56,98,89,54,44,99],"class_list":{"0":"post-8892","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-sap-business-technology-platform","8":"tag-sap-btp","9":"tag-sap-business-application-studio","10":"tag-sap-cap","11":"tag-sap-fiori","12":"tag-sapui5","13":"tag-vscode"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP<\/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:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"og:description\" content=\"Dans cet article de blog, je vais vous expliquer comment configurer un profil de test...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/\" \/>\n<meta property=\"og:site_name\" content=\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-23T16:55:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-23T17:24:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"768\" \/>\n\t<meta property=\"og:image:height\" content=\"480\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Valentin Cadart\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Valentin Cadart\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/\"},\"author\":{\"name\":\"Valentin Cadart\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/person\\\/617aad3694012e3d32e0cff660459fd2\"},\"headline\":\"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP\",\"datePublished\":\"2026-03-23T16:55:47+00:00\",\"dateModified\":\"2026-03-23T17:24:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/\"},\"wordCount\":1105,\"publisher\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png\",\"keywords\":[\"sap btp\",\"SAP Business Application Studio\",\"SAP CAP\",\"sap fiori\",\"sapui5\",\"VSCode\"],\"articleSection\":[\"SAP Business Technology Platform\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/\",\"name\":\"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png\",\"datePublished\":\"2026-03-23T16:55:47+00:00\",\"dateModified\":\"2026-03-23T17:24:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png\",\"contentUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png\",\"width\":768,\"height\":480},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2026\\\/03\\\/23\\\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/sapinnov.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP\"}]},{\"@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\\\/617aad3694012e3d32e0cff660459fd2\",\"name\":\"Valentin Cadart\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"caption\":\"Valentin Cadart\"},\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/author\\\/vcadart\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","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\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/","og_locale":"fr_FR","og_type":"article","og_title":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","og_description":"Dans cet article de blog, je vais vous expliquer comment configurer un profil de test...","og_url":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/","og_site_name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","article_published_time":"2026-03-23T16:55:47+00:00","article_modified_time":"2026-03-23T17:24:20+00:00","og_image":[{"width":768,"height":480,"url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png","type":"image\/png"}],"author":"Valentin Cadart","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Valentin Cadart","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#article","isPartOf":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/"},"author":{"name":"Valentin Cadart","@id":"https:\/\/sapinnov.com\/#\/schema\/person\/617aad3694012e3d32e0cff660459fd2"},"headline":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP","datePublished":"2026-03-23T16:55:47+00:00","dateModified":"2026-03-23T17:24:20+00:00","mainEntityOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/"},"wordCount":1105,"publisher":{"@id":"https:\/\/sapinnov.com\/#organization"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png","keywords":["sap btp","SAP Business Application Studio","SAP CAP","sap fiori","sapui5","VSCode"],"articleSection":["SAP Business Technology Platform"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/","url":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/","name":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","isPartOf":{"@id":"https:\/\/sapinnov.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#primaryimage"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png","datePublished":"2026-03-23T16:55:47+00:00","dateModified":"2026-03-23T17:24:20+00:00","breadcrumb":{"@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#primaryimage","url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png","contentUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2026\/03\/PostgreSQL_NetLib_Encryptionizer-768x480-1.png","width":768,"height":480},{"@type":"BreadcrumbList","@id":"https:\/\/sapinnov.com\/index.php\/2026\/03\/23\/configurer-un-profil-de-test-hybride-cap-node-js-avec-postgresql-sur-btp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/sapinnov.com\/"},{"@type":"ListItem","position":2,"name":"Configurer un profil de test hybride CAP (Node.js) avec PostgreSQL sur BTP"}]},{"@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\/617aad3694012e3d32e0cff660459fd2","name":"Valentin Cadart","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","caption":"Valentin Cadart"},"url":"https:\/\/sapinnov.com\/index.php\/author\/vcadart\/"}]}},"_links":{"self":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8892","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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/comments?post=8892"}],"version-history":[{"count":15,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8892\/revisions"}],"predecessor-version":[{"id":8909,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8892\/revisions\/8909"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media\/8893"}],"wp:attachment":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media?parent=8892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/categories?post=8892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/tags?post=8892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}