AccueilBlogTest technique Power Apps : ce qu'on évalue pour un profil data
Guide recrutement data

Test technique Power Apps : ce qu'on évalue pour un profil data

Power Apps est devenu un outil clé pour les Analytics Engineers qui travaillent dans un écosystème Microsoft. On ne teste pas la maîtrise du drag-and-drop — on évalue la capacité à architecturer des solutions robustes connectées à l'écosystème data.

Data Builder·Juin 2025·8 min de lecture·Data Analyst · Analytics Engineer

Power Apps s'impose dans les équipes data Microsoft pour remplacer les fichiers Excel éparpillés, collecter des données de manière structurée, et connecter les processus métier aux pipelines de données. En entretien, on cherche des profils capables d'architecturer — pas juste de cliquer.

1Architecture d'une solution Power Apps

Question discriminante

Décrivez l'architecture d'une application Power Apps que vous avez construite en production. Quelles sources de données avez-vous utilisées et pourquoi ?

Une application Power Apps complète combine plusieurs composants de la Power Platform :

  • Canvas App — interface utilisateur à l'écran, logique métier en Power Fx, navigation entre écrans
  • Sources de données — SharePoint Lists (simple, sans licence supplémentaire), Dataverse (recommandé pour la robustesse), SQL Server, Excel, API REST
  • Power Automate — workflows déclenchés depuis l'app (envoi d'emails, notifications Teams, validation)
  • Power BI intégré — visuels Power BI embarqués dans les écrans Power Apps
  • Environnements — DEV, TEST, PROD séparés avec gestion des solutions (ALM)

Cas d'usage typique en data : remplacer la collecte Excel multi-pays par une application centralisée avec validation à la saisie, notifications automatiques via Power Automate, et reporting Power BI connecté à Dataverse.

2Power Fx : la logique applicative

Question discriminante

Quelle est la différence entre Patch() et SubmitForm() ? Dans quel cas utilisez-vous l'un ou l'autre ?

// Patch : écriture directe dans une source de données Patch( MaListeSharePoint, Defaults(MaListeSharePoint), { Titre: TextInput1.Text, Statut: "En cours", DateCreation: Now() } ) // SubmitForm : soumission via un formulaire (Form control) // Plus simple, gère automatiquement les modes New/Edit SubmitForm(MonFormulaire) // Filtre et recherche Filter( MaCollection, Statut = "Actif" && Pays = Dropdown1.Selected.Value ) // Navigation conditionnelle If( User().Email = AdminEmail, Navigate(EcranAdmin, ScreenTransition.Fade), Navigate(EcranUtilisateur, ScreenTransition.Fade) )
  • Patch() — écriture directe, plus flexible, mais plus verbeux. Idéal pour les mises à jour partielles
  • SubmitForm() — lié à un Form control, gère les modes New/Edit automatiquement. Plus simple pour les formulaires standards
  • Collect() / ClearCollect() — collections en mémoire locale pour les données temporaires
  • Delegation — limites de 500-2000 lignes sur les fonctions non-déléguables : Filter(), Search() avec certains connecteurs

3Sources de données : SharePoint vs Dataverse

Question discriminante

Quand choisissez-vous Dataverse plutôt que SharePoint Lists comme source de données ?

SharePoint ListsDataverse
LicencesInclus Microsoft 365Nécessite Power Apps Premium
VolumeLimité (~5000 lignes performantes)Conçu pour les gros volumes
ModélisationTables plates uniquementRelations, clés étrangères, types complexes
SécuritéPermissions SharePoint simplesRow-Level Security granulaire (RLS business)
VersioningLimitéHistorique des modifications natif
EnvironnementsDifficile à promouvoir DEV→PRODNatif dans la gestion des solutions ALM

4Power Automate : les flux liés aux apps data

Question discriminante

Comment déclencheriez-vous un pipeline data automatiquement depuis une validation utilisateur dans Power Apps ?

  • Instant flows (button) — déclenchés manuellement depuis Power Apps via un bouton
  • Automated flows — déclenchés par un événement (nouvelle ligne Dataverse, modification SharePoint)
  • Notifications Teams/Email — alerter automatiquement les responsables quand une saisie est soumise
  • Intégration Azure — déclencher une Azure Function, un Logic App, ou un pipeline Azure Data Factory depuis un flow
  • HTTP connector — appeler une API REST externe (webhook, service Python, etc.)

Cas concret : quand un utilisateur valide un formulaire dans Power Apps → Power Automate envoie un email au manager → si approuvé → déclenche un pipeline Azure Data Factory pour ingérer les nouvelles données → Power BI se rafraîchit automatiquement.

5Limites et contournements

Question discriminante

Comment gérez-vous la limite de 2000 lignes dans Power Apps sur une table de 50 000 lignes ?

  • Limite de délégation — 500 lignes par défaut, configurable jusqu'à 2000, pas contournable pour les fonctions non-déléguables
  • Stratégies de contournement : filtrer par utilisateur connecté (User().Email), paginer par statut ou date, utiliser des Dataverse views pré-filtrées côté serveur
  • Pas pour les gros volumes — au-delà de 10 000 lignes actives, préférer une interface web ou une Power BI App
  • Pas pour les utilisateurs externes — SSO ne fonctionne pas hors tenant Microsoft, utiliser Azure B2C ou une application web
  • Pas pour les traitements lourds — déplacer la logique complexe vers Azure Functions, Power Automate ou dbt

6Gouvernance ALM : DEV / TEST / PROD

Question discriminante

Comment promotez-vous une application Power Apps de l'environnement de développement à la production ?

  • Solutions — conteneur qui regroupe app, flows, tables Dataverse, connexions
  • Environnements séparés — DEV (développement), TEST (recette client), PROD (production)
  • Export/Import manuel — exporter la solution depuis DEV, importer en TEST puis PROD
  • Pipelines ALM automatisés — Azure DevOps ou GitHub Actions avec le Power Platform Build Tools
  • Gestion des connexions — les connexions (SharePoint, SQL) doivent être reconfigurées par environnement

7Grille par niveau

NiveauMaîtrise attendueSignal GONO-GO
JuniorCanvas apps simples, SharePoint Lists, Power Fx de base, Patch()A déployé une app avec formulaire et validation, sait utiliser Patch()Ne connaît pas la limite de délégation, ne sait pas naviguer entre écrans
ConfirméDataverse, Power Automate intégré, RLS, gestion des rôles utilisateursA utilisé Dataverse, a configuré des flows de notification, gère les permissions par profilUtilise SharePoint pour tout sans justification, ne connaît pas Dataverse
SeniorArchitecture complète, ALM DEV/TEST/PROD, intégration Azure, optimisation performanceA promu une solution via les pipelines ALM, a intégré Power Apps dans un pipeline data AzureNe connaît pas les solutions ALM, ne sait pas gérer les environnements
LeadStandards équipe, patterns réutilisables, gouvernance CoE (Center of Excellence)A défini les patterns de développement Power Apps pour une équipe, a mis en place un Centre d'ExcellenceNe peut pas expliquer sa stratégie de gouvernance Power Platform

Vous recrutez un profil Analytics Engineer ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.