Développeur Business Central AL : événements, API et mises à jour SaaS

Le développeur Business Central écrit en AL, dans VS Code, les extensions qui adaptent l'ERP de Microsoft aux processus d'une entreprise sans toucher au code de base. En ligne, Microsoft met à jour l'application chaque mois et deux fois par an en version majeure, et le code doit passer chaque version sans casser.

Recevoir la fiche complète

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

La fiche Développeur Business Central : technologies, chaîne du poste, une question et la grille d'évaluation

Le passage aux extensions doit être vérifié en premier dans les questions d'entretien d'un développeur Business Central AL. Jusqu'à Business Central 14, on modifiait directement les objets standard en C/AL dans l'environnement C/SIDE. Depuis, tout s'écrit en AL : extensions de tables et de pages, abonnés aux événements, nouveaux objets dans une plage d'identifiants réservée. Beaucoup de CV viennent de Navision et citent les deux langages. Demandez quelle migration la personne a menée, et comment elle a remplacé les modifications du code de base.

En ligne, le développeur n'a accès ni à la base SQL ni aux bibliothèques .NET. Les échanges passent par les API REST de Business Central, des pages API personnalisées, HttpClient en AL et les connecteurs Power Platform. Les mises à jour automatiques imposent aussi une discipline : codeunits d'installation et de mise à niveau, suivi des objets rendus obsolètes, essais sur la version suivante avant son arrivée chez le client.

Côté outillage, comptez VS Code avec l'extension AL Language, des conteneurs Docker gérés par BcContainerHelper ou des sandboxes en ligne, et souvent AL-Go for GitHub pour la CI/CD. Publier sur AppSource ajoute des règles de nommage et une validation par Microsoft. La certification MB-820 atteste les bases. Le PDF ajoute un cas de 20 minutes sur une remise par palier de chiffre d'affaires.

L'environnement AL de Business Central

Langage AL et VS Code

Le langage de Business Central, hérité du C/AL de Navision. Les objets (tables, pages, codeunits, rapports, requêtes, XMLports, énumérations) sont des fichiers texte dans un projet VS Code, compilés en une application .app. Le fichier app.json décrit l'éditeur, la version, la plage d'identifiants et les dépendances.

Extensions et événements

Le code de Microsoft ne se modifie plus. Une extension de table ajoute des champs, une extension de page ajoute des contrôles ou des actions, et un codeunit abonné réagit aux événements publiés par l'application de base, avant ou après une validation par exemple. Commencez l'évaluation par là.

Tables, FlowFields et SIFT

Les tables portent des champs normaux et des FlowFields, calculés à la demande avec CalcFields à partir d'autres tables, comme un solde client ou une quantité en stock. Les clés avec SumIndexFields accélèrent ces sommes. Un développeur qui ignore ces mécanismes écrit des boucles lentes.

API et intégrations

Business Central expose des API REST standard (v2.0) et accepte des pages API personnalisées. Les appels sortants passent par HttpClient. En ligne, l'authentification se fait par OAuth avec Microsoft Entra ID, puisque les clés d'accès aux services web ne sont plus prises en charge depuis octobre 2022.

Rapports et mises en page

Les rapports se présentent en RDLC, Word ou Excel. Une extension de rapport ajoute des colonnes ou une mise en page sans copier l'état standard, et les utilisateurs choisissent la mise en page à utiliser. Pour l'analyse, les requêtes AL et les pages API alimentent aussi Power BI.

Installation, mise à niveau et obsolescence

Un codeunit d'installation prépare les données à la première installation, un codeunit de mise à niveau transforme les données quand une nouvelle version de l'extension arrive. Microsoft marque des objets et des événements obsolètes avant de les retirer, et le compilateur le signale. Le code doit être prêt avant la version majeure suivante.

Test Toolkit et AL-Go for GitHub

Le Test Toolkit fournit des bibliothèques pour créer des données et valider des documents dans des codeunits de test. AL-Go for GitHub et BcContainerHelper automatisent la compilation, les tests et la publication. Sur AppSource, Microsoft valide en plus chaque version avant publication.

Télémétrie Application Insights

Business Central envoie sa télémétrie vers Azure Application Insights (opérations longues, verrous, erreurs, appels d'API). C'est le principal outil de diagnostic en ligne, où l'on n'a pas accès au serveur. Demandez si la personne sait interroger ces traces.

Le développeur Business Central travaille le plus souvent chez un partenaire Microsoft ou un éditeur de solutions, plus rarement dans l'équipe informatique d'une entreprise utilisatrice. Les projets mêlent déploiements en ligne, migrations depuis Navision ou d'anciennes versions sur site, et maintenance d'extensions existantes. Les offres françaises parlent de développeur, de consultant technique ou de lead technique Business Central, et citent AL, C/AL, NAV, VS Code, les API, Power Platform, parfois Azure Functions. La certification Business Central Developer Associate (examen MB-820) se renouvelle chaque année. Précisez dans l'offre si l'environnement est en ligne ou sur site, et la part de migration depuis C/AL.

Six points techniques pour juger un développeur AL

  • Langage AL et modèle d'extensions
  • Événements et logique métier
  • Données, FlowFields et performance
  • API et intégrations
  • Installation, mise à niveau et AppSource
  • Tests, CI/CD et télémétrie

Cinq questions d'entretien sur les extensions AL

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é

    Le client veut un champ « transporteur préféré » sur la fiche client, repris sur les commandes de vente. Comment le développez-vous ?

    Une bonne réponseUne extension de table sur Customer et sur Sales Header pour ajouter le champ, avec une relation vers la table des transporteurs, des extensions de pages pour l'afficher, et un abonné à l'événement de validation du champ client de l'en-tête de vente (OnAfterValidateEvent sur Sell-to Customer No.) pour recopier la valeur. Les identifiants viennent de la plage de l'extension, et les noms portent le préfixe ou suffixe convenu.

    Signal d'alerteCopier la page standard pour la modifier, ou décrire une modification directe de la table Customer comme en C/AL.

  2. Question 2 · confirmé

    Avant la validation d'une commande de vente, il faut bloquer l'opération si le client dépasse un encours donné. Où placez-vous ce contrôle ?

    Une bonne réponseDans un codeunit abonné à un événement publié avant la validation, par exemple OnBeforePostSalesDoc du codeunit Sales-Post, qui lève une erreur claire. La personne vérifie que l'événement couvre aussi la validation par lot et les appels par API, et regarde d'abord si le contrôle de limite de crédit standard suffit.

    Signal d'alerteUn contrôle placé seulement sur l'action de la page, que la validation par lot ou une API contournent.

  3. Question 3 · senior

    Une page liste qui affiche 20 000 écritures client met dix secondes à charger. Que regardez-vous ?

    Une bonne réponseLes FlowFields affichés et calculés pour chaque ligne, les champs ajoutés par extension qui imposent une jointure avec leur table d'extension, et le déclencheur OnAfterGetRecord qui lit d'autres tables. Les pistes : SetLoadFields pour ne charger que les champs utiles, une clé avec SumIndexFields pour les sommes, un calcul retiré de la liste. La personne lit la télémétrie ou le profileur de performance avant de modifier quoi que ce soit.

    Signal d'alerte« C'est le serveur de Microsoft » sans mesure, ou un FindSet suivi d'un CalcFields sur toutes les lignes dans une boucle.

  4. Question 4 · confirmé

    Un site e-commerce doit créer des commandes de vente dans Business Central en ligne. Comment l'intégrez-vous ?

    Une bonne réponsePar l'API standard v2.0 (salesOrders et salesOrderLines) si elle couvre les champs, ou par une page API personnalisée avec son propre éditeur, groupe et version. L'authentification passe par OAuth, avec une application Microsoft Entra ID enregistrée dans Business Central et des jeux d'autorisations limités. La personne gère les erreurs 429, les appels groupés en $batch et un identifiant externe pour éviter les doublons.

    Signal d'alerteUn service web avec un utilisateur et une clé d'accès, abandonnés en ligne depuis 2022, ou un accès direct à la base SQL, impossible en ligne.

  5. Question 5 · senior

    Votre extension passe en version 2.0 et un champ doit changer de type. Comment évitez-vous de perdre les données des clients ?

    Une bonne réponseUn nouveau champ du bon type, et un codeunit de mise à niveau (Subtype = Upgrade) qui copie les données de l'ancien champ vers le nouveau, protégé par une étiquette de mise à niveau (Upgrade Tag) pour ne s'exécuter qu'une fois. L'ancien champ est marqué obsolète, puis retiré dans une version ultérieure. La mise à niveau se teste sur une sandbox copiée de la production.

    Signal d'alerteChanger le type directement et forcer la synchronisation du schéma, ce qui échoue ou détruit les données.

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

Business Central AL : réponses aux recruteurs

Que reste-t-il à apprendre à un développeur Navision C/AL ?

La syntaxe AL lui sera familière, et sa connaissance des tables et des validations standard reste un atout. Le changement porte sur la méthode : plus de modification du code de base, des événements et des extensions, VS Code au lieu de C/SIDE, Git, des pipelines et des mises à jour imposées. Demandez une extension qu'il a écrite de bout en bout, avec un codeunit de mise à niveau. Sans cela, prévoyez une montée en compétence.

Business Central en ligne ou sur site : qu'est-ce qui change pour le développeur ?

En ligne, il n'a ni accès à SQL ni bibliothèques .NET, les extensions doivent viser le cloud, et les mises à jour de Microsoft arrivent selon un calendrier fixe. Le diagnostic passe par la télémétrie. Sur site, il peut encore utiliser .NET et intervenir sur le serveur, mais il porte les montées de version. Un profil qui n'a connu que le sur site doit montrer qu'il sait coder sans ces facilités.

Un test technique AL peut-il se faire sans licence client ?

Oui. Un conteneur Docker créé avec BcContainerHelper ou un environnement d'essai en ligne, avec la société de démonstration CRONUS, suffit. En une heure, demandez une extension de table et de page, un abonné qui contrôle la validation d'une commande et un codeunit de test. Faites expliquer le choix de l'événement à voix haute. Le raisonnement compte autant que le code produit.

La certification MB-820 garantit-elle l'autonomie sur un projet ?

Elle montre la connaissance des objets AL, des outils, du déploiement et des intégrations, et se renouvelle chaque année par une évaluation en ligne. Elle ne dit rien des migrations depuis C/AL, des mises à niveau d'extensions chez de vrais clients ou du diagnostic par télémétrie. Gardez-la comme repère et vérifiez ces points par des exemples précis tirés des derniers projets.

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