Tester un développeur SAP BTP sur CAP, les destinations et la sécurité

Le développeur SAP BTP écrit avec CAP des applications et des extensions autour de S/4HANA, en Node.js ou en Java, avec un modèle de données décrit en CDS. Le poste se situe entre le développeur web et le développeur SAP, et peu de CV couvrent bien les deux.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Développeur SAP BTP / CAP : technologies, chaîne du poste, une question et la grille d'évaluation

La façon dont l'entreprise étend S/4HANA sert de point de départ aux questions d'entretien pour un développeur SAP BTP. SAP pousse à sortir le code spécifique du cœur de l'ERP. Les extensions tournent sur BTP et appellent S/4HANA par ses API. Le développeur décrit les entités en CDS, écrit la logique dans des handlers Node.js ou Java, expose un service OData et déploie sur Cloud Foundry ou Kyma, souvent avec HANA Cloud comme base.

Le framework évolue vite. CAP Node.js est passé en version 10 en juin 2026, avec Node.js 22 au minimum, et CAP Java en version 5. Pour l'authentification, la documentation CAP conseille IAS pour les nouveaux projets, alors que beaucoup d'applications en production tournent avec XSUAA. Un CV qui parle surtout de SAP Cloud Platform et de Neo décrit une expérience antérieure à ces changements.

L'écart entre deux profils se voit sur la connexion à S/4HANA. Appeler une API depuis son poste est simple. La faire passer par une destination, le Cloud Connector et la bonne identité utilisateur demande d'avoir déployé au moins une fois chez un client. Le PDF propose un cas de 20 minutes sur une extension de suivi des réclamations.

Les services BTP qu'un développeur CAP utilise

SAP CAP (Cloud Application Programming Model)

Le framework de SAP pour écrire des services sur BTP. On décrit les données et les services en CDS, CAP fournit la lecture, l'écriture, la pagination et le draft, et le développeur ajoute sa logique dans des handlers. Il existe en Node.js et en Java (sur Spring Boot). En local, une commande suffit pour lancer le service sur une base SQLite.

CDS

Le langage de modélisation de CAP : entités, associations, compositions, aspects et annotations, y compris celles qui pilotent les écrans Fiori Elements. Il ressemble aux vues CDS d'ABAP sans être le même langage. Un profil ABAP doit le signaler, et vous, le vérifier.

SAP BTP, Cloud Foundry et Kyma

La plateforme cloud de SAP, organisée en global account, sous-comptes et spaces. Les applications CAP tournent sur Cloud Foundry, le plus courant, ou sur Kyma, un Kubernetes géré par SAP. BTP propose aussi un environnement ABAP pour qui veut rester en ABAP Cloud.

SAP HANA Cloud

La base de données des applications CAP en production, avec un conteneur HDI par application qui reçoit le schéma généré depuis le CDS. CAP sait aussi fonctionner sur PostgreSQL. Demandez comment la personne fait évoluer le schéma sans perte de données.

XSUAA et SAP Cloud Identity Services (IAS)

Les services d'authentification et d'autorisation. XSUAA lit le fichier xs-security.json et ses rôles, il équipe la plupart des applications existantes. IAS, avec AMS pour les autorisations, est la voie conseillée par CAP pour les nouveaux projets. Les droits se déclarent dans le modèle avec @requires et @restrict.

Destinations, Connectivity et Cloud Connector

Le chemin d'un appel vers S/4HANA. La destination porte l'adresse et l'authentification, le service Connectivity et le Cloud Connector installé chez le client font passer l'appel vers un système derrière le pare-feu. C'est le point qui pose le plus de problèmes au premier déploiement.

MTA et déploiement

Le format qui décrit une application et ses services (mta.yaml), construit avec mbt et déployé avec cf deploy. Sur Kyma, ce sont des charts Helm. La plupart des équipes y ajoutent une chaîne d'intégration continue, celle de SAP ou la leur.

SAP Event Mesh

La messagerie qui transporte les événements métier publiés par S/4HANA, comme la modification d'un partenaire ou d'une commande. CAP s'y abonne par son module de messagerie. Elle évite d'interroger l'ERP en boucle pour savoir ce qui a changé.

SAP Build et Business Application Studio

Business Application Studio est l'environnement de développement de SAP, dans le navigateur. SAP Build regroupe des outils low-code (Build Apps, Build Process Automation) et Build Code pour les développeurs. Une expérience SAP Build Apps n'équivaut pas à une expérience CAP, ce qu'un CV ne précise pas toujours.

Le développeur SAP BTP intervient le plus souvent dans un programme S/4HANA, aux côtés de développeurs ABAP, de consultants fonctionnels et d'un architecte BTP. Il construit des applications d'extension, des interfaces entre S/4HANA et d'autres systèmes, parfois des applications multi-tenant vendues à plusieurs clients. Les offres demandent CAP en Node.js ou en Java, Fiori Elements pour l'interface, et souvent des notions d'ABAP et de RAP pour comprendre ce qui se passe côté ERP. Précisez dans l'offre le langage retenu pour CAP, l'environnement (Cloud Foundry ou Kyma), le service d'identité en place et si S/4HANA est installé sur site ou dans le cloud.

Les points techniques à valider chez un développeur SAP BTP

  • Modélisation CDS et services CAP
  • Logique métier dans les handlers
  • Authentification et autorisations (XSUAA, IAS)
  • Connexion à S/4HANA et services distants
  • Déploiement MTA sur Cloud Foundry ou Kyma
  • Tests, multitenancy et exploitation

Cinq questions sur CAP, la sécurité et les appels à S/4HANA

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · junior à confirmé

    Une commande a des lignes, et un client peut avoir plusieurs commandes. Comment modélisez-vous ces deux liens en CDS, et qu'est-ce qui les distingue ?

    Une bonne réponseLes lignes sont une composition de la commande (Composition of many Items) : elles naissent, se modifient et disparaissent avec elle, et le draft Fiori les couvre. Le client est une association (Association to Customers) : il vit sa propre vie. Il ajoute les aspects cuid et managed pour la clé et les champs de création et de modification, et sait écrire le lien retour de la ligne vers sa commande.

    Signal d'alerteTout en associations avec des clés étrangères gérées à la main, ou l'ignorance que supprimer une commande supprime ses lignes en composition.

  2. Question 2 · confirmé

    Avant d'enregistrer une commande, il faut vérifier que son total ne dépasse pas le plafond du client. Où placez-vous ce contrôle dans CAP ?

    Une bonne réponseDans un handler before sur la création et la modification de l'entité, dans l'implémentation du service (srv.before en Node.js, une méthode @Before en Java). Il lit le client dans la même transaction avec une requête CQL et rejette avec req.error ou req.reject et un code 4xx lisible par Fiori. Pour une règle simple, une annotation comme @assert.range suffit. Il sait à quel moment le contrôle s'exécute quand la saisie passe par un brouillon.

    Signal d'alerteLe contrôle fait uniquement dans l'écran. Ou un handler on qui remplace le traitement générique puis réécrit l'insertion à la main.

  3. Question 3 · confirmé

    Seuls les responsables peuvent valider une commande, et chacun ne doit voir que les commandes de sa région. Comment le mettez-vous en place ?

    Une bonne réponseDes annotations @requires et @restrict sur le service, l'entité et l'action valider, avec une condition where: region = $user.region pour le filtrage par enregistrement. Les rôles et l'attribut région sont déclarés dans xs-security.json avec XSUAA, regroupés en collections de rôles affectées dans le cockpit, ou en politiques AMS avec IAS. Il teste en local avec des utilisateurs simulés.

    Signal d'alerteMasquer le bouton dans l'écran et laisser le service ouvert, ou une liste d'utilisateurs écrite dans le code.

  4. Question 4 · confirmé à senior

    Votre application CAP doit lire les partenaires dans un S/4HANA installé chez le client, derrière son pare-feu. Comment l'appel arrive-t-il jusqu'à l'ERP ?

    Une bonne réponseIl importe la définition de l'API (par exemple API_BUSINESS_PARTNER, téléchargée sur le SAP Business Accelerator Hub) avec cds import, ce qui crée un service distant. La configuration CAP pointe vers une destination du sous-compte, de type OnPremise, qui passe par le service Connectivity et le Cloud Connector installé chez le client, lequel relie un hôte virtuel à l'hôte réel. Il précise le mode d'authentification, compte technique ou propagation de l'utilisateur, et teste en local avec un profil hybrid ou le mock automatique de CAP.

    Signal d'alerteOuvrir un port vers l'ERP, ou une URL et un mot de passe dans le code.

  5. Question 5 · confirmé

    Vous déployez une application CAP sur Cloud Foundry pour la première fois. Que contient votre mta.yaml ?

    Une bonne réponseDes modules : le service CAP (Node.js ou Java), le déployeur de base pour HANA Cloud (conteneur HDI), l'approuter ou le contenu pour le dépôt HTML5 si l'interface passe par SAP Build Work Zone. Des ressources : l'instance HDI, XSUAA ou IAS avec son fichier de sécurité, le service de destination. Les liens requires et provides entre les deux. cds add mta génère la base, mbt build construit l'archive, cf deploy la déploie.

    Signal d'alerteDes cf push à la main pour chaque morceau, avec les identifiants de la base dans les variables d'environnement saisies à la main. Aucune idée de ce qu'est un conteneur HDI.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Questions fréquentes sur le recrutement d'un développeur SAP BTP

Quel parcours mène au poste de développeur SAP BTP ?

Deux parcours dominent. Des développeurs ABAP qui ont pris le virage de S/4HANA, à l'aise avec le métier SAP et RAP, qui apprennent Node.js ou Java. Des développeurs web Node.js ou Java arrivés sur des projets SAP, solides sur le code et les déploiements, qui découvrent OData, les API de S/4HANA et les autorisations SAP. Identifiez lequel vous avez en face et creusez la moitié qui lui manque.

CAP ou RAP : quel profil chercher pour une extension S/4HANA ?

Cela dépend de l'endroit où l'extension tournera. RAP s'écrit en ABAP, dans S/4HANA ou dans l'environnement ABAP de BTP, au plus près des données de l'ERP. CAP s'écrit en Node.js ou en Java sur BTP, pour des applications à côté de l'ERP, avec leurs propres données. Beaucoup d'entreprises utilisent les deux. Un développeur qui sait expliquer quand il choisirait l'un ou l'autre a déjà vu des projets réels.

Node.js ou Java pour un développeur CAP ?

Suivez ce que votre équipe a choisi. CAP Node.js est le plus répandu dans les exemples de SAP et sur les petits projets. CAP Java, construit sur Spring Boot, se retrouve chez les équipes qui ont déjà du Java et des exigences fortes d'exploitation. Les concepts sont communs : CDS, handlers, services distants, sécurité. Un développeur solide sur l'un passe à l'autre, avec un temps d'adaptation au langage et à son outillage.

Comment organiser un exercice pratique sur CAP ?

Un test technique en direct d'une heure suffit, sur le poste du candidat avec cds watch, sans compte BTP. Fournissez un petit modèle CDS et demandez d'ajouter une composition, une action avec un contrôle métier et une restriction de droits, testée avec des utilisateurs simulés. Gardez dix minutes pour faire expliquer comment ce service serait déployé et relié à S/4HANA. Vous voyez la modélisation, le code et la connaissance de la plateforme.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint