Vibe Coding en ABAP, quelles nouveautés ?

Traitement en cours…
Terminé ! Vous figurez dans la liste.

Dans ce dernier aticle, nous avions vu comment utiliser Github Copilot pour nous accompagner au développement, que ce soit en termes d’autocomplétion, de proposition de code pour tests unitaire ou la création d’objet.

Un problème revenait cependant, il n’était pas possible de développer en « mode agentic » avec des outils tel que Github Copilot ou Claude code, tout au mieux un coopié-collé du code généré.

Aujourd’hui, je vous propose 2 solutions que j’utilise au quotidien qui me permettent désormais de vibe coder au sein des environnement ABAP sans utiliser Joule For Developer.

  • Github Copilot en mode « Agent »
  • Utilisation de MCPs avec Claude Code

Github Copilot en mode « Agent »

Comme vous pouvez le voir dans cette discussion, la version Agent Mode dans Github Copilot pour ADT est désormais disponible dans Github Copilot Nightly.

This image has an empty alt attribute; its file name is image.png

Grâce à cette solution, vous pouvez désormais discuter directement avec l’agent, qui se charge d’écrire de manière autonome le code dans votre environnement SAP.

Exemple ici si je demande d’ajouter un nouveau champ dans ma CDS :

This image has an empty alt attribute; its file name is image-1.png

Et c’est fait !


This image has an empty alt attribute; its file name is image-2-1024x732.png

Vous pouvez désormais conserver ou annuler la modification. Si vous conservez la modification, le CDS est correctement mis à jour :

This image has an empty alt attribute; its file name is image-3-1024x657.png

Utilisation de MCPs avec Claude Code

Malgré cette beelle avancé, ma préférence personnelle se tourne vers Claude Code et l’utilisation de MCPs Ccommunautaires.

mcp-sap-docs permet a l’agent d’avoir accès à la documentation SAP et donc une meilleure performance pour écrire du code ABAP et résoudre des problèmes complexe sur la stack SAP.
Pour l’utiliser, la manière la plus simple est d’ajouter cette URL à vos MCP : https://mcp-sap-docs.marianzeis.de/mcp.
Mais vous pouvez aussi le déployer en local.

Quant à vibing-steampunk, c’est un MCP qui permet aux agents IA d’accèder directement à votre serveur SAP pour lire/analyser/pousser du code.
Pour l’utiliser, il faudra PULL le repository Github sur votre poste, puis configurer la connexion a votre système. Rien de compliqué en suivant le README.md.
Pour ma part, j’utilise la configuration via un fichier cookies.txt qui me permet de m’authentifier en mon nom via SSO à mon système.

Une fois les installation faites :

  • Lancer Claude Code depuis Eclipse ou VSCode
This image has an empty alt attribute; its file name is image-4-1024x755.png
This image has an empty alt attribute; its file name is image-5-1024x413.png

Et demandez ce que vous voulez faire dans votre système. Inutile de préciser que vous souhaitez utiliser vos MCP, Claude Code saura automatiquement quand il est nécessaire de les utiliser.

Dans notre exemple ici, nous allons demander à créer une nouvelle CDS :

This image has an empty alt attribute; its file name is image-8.png

On voit que l’agent appelle automatiquement le MCP pour venir lire la CDS source I_PRODUCT

This image has an empty alt attribute; its file name is image-9.png

Puis ensuite l’agent propose de créer la CDS via le MCP :

This image has an empty alt attribute; its file name is image-10-1024x403.png

Une fois que c’est fait et l’objet activé, un message de succès est retourné :

This image has an empty alt attribute; its file name is image-11-1024x445.png

Dans le cas où un message d’erreur aurait été retourné, l’agent aurait fait en sorte de corriger automatiquement le problème.

Nous pouvons désormais trouver la CDS créée via ADT :

This image has an empty alt attribute; its file name is image-12.png

Conclusion

Aujourd’hui de nouvelle fonctionnalités s’offrent à nous pour développer via l’aide d’agent IA. Il est à noter qu’avec l’arrivée d’ADT sur VSCode et de manière plus globale sur tous les IDEs communément utilisés, celà rebattera surement les cartes de l’utilisation d’agent de développement sachant qu’ils s’y intègreront surement plus nativement.

Laisser un commentaire