Power Apps
Intégrer la caméra dans vos applications Power Apps
Prendre une photo depuis une application et la ranger avec le bon dossier : inspection, réclamation, chantier. Le bon contrôle, les formules et les pièges.
La caméra dans Power Apps permet de prendre une photo directement depuis une application, sans quitter l’écran de saisie, puis de la ranger avec le reste du dossier. Dans une entreprise, elle sert à documenter ce qui se passe sur le terrain : un défaut sur une machine, un colis abîmé, l’avancement d’un chantier. Deux contrôles existent, et leur différence de qualité d’image est le premier point à connaître.
Ce que la photo change sur le terrain
Prenons une situation type : un technicien de maintenance intervient chez un client. Aujourd’hui, il prend une photo avec son téléphone, l’envoie par e-mail le soir, et quelqu’un la rattache à la bonne fiche. Avec une application Power Apps, il ouvre la fiche d’intervention, prend la photo au même endroit et enregistre : l’image part avec le dossier, sans tri à faire ensuite. Le responsable voit le constat sans attendre, et personne ne cherche plus quelle photo va avec quelle intervention.
D’autres situations reviennent souvent :
- Inspection et contrôle qualité : un défaut constaté est accompagné de sa preuve visuelle.
- Réclamation : la photo du problème, jointe au formulaire, accélère le traitement de la demande.
- Chantier : chaque étape est documentée, avec la date de la prise de vue enregistrée dans la même ligne.
- Inventaire : une photo de l’article ou de l’équipement facilite son identification.
Avant de construire, posez deux questions : la photo doit-elle être lisible en détail, et où sera-t-elle stockée ? Les réponses décident du contrôle à utiliser et de la façon d’enregistrer l’image.
Caméra ou Ajouter une image : choisir le bon contrôle
Beaucoup de tutoriels ne présentent que le contrôle Caméra. C’est pourtant le mauvais choix dès que le détail compte, car ses images sont limitées à 640 sur 480 pixels, d’après la documentation Microsoft du contrôle Caméra.
| Critère | Caméra | Ajouter une image |
|---|---|---|
| Prise de vue | Dans l’écran de l’application, avec aperçu en direct | Par la fenêtre de l’appareil : photo ou image existante |
| Qualité | 640 x 480 pixels au maximum | Pleine résolution |
| Métadonnées (date, position) | Aucune | Absentes sur iOS, d’après Microsoft |
| Formule pour lire l’image | Camera1.Photo |
AddMediaButton1.Media |
| À choisir pour | Une photo témoin rapide, un aperçu immédiat, des images légères | Un défaut à lire en détail, un document, une preuve à zoomer |
Avec Ajouter une image, mettez UseMobileCamera à true pour imposer la prise de vue et interdire le choix d’une image déjà présente sur l’appareil. C’est utile quand la photo doit être prise sur place. La documentation du contrôle Ajouter une image liste ses autres réglages.
Ajouter et régler le contrôle caméra
- Dans Power Apps Studio, ouvrez le volet Insérer, catégorie Média, puis ajoutez Caméra.
- Autorisez l’application à utiliser la caméra si la demande apparaît.
- Dimensionnez le contrôle et placez-le à portée de pouce : sur le terrain, les utilisateurs portent parfois des gants ou travaillent d’une seule main.
- Ajoutez un contrôle Image et mettez dans sa propriété
Imagela formuleCamera1.Photo. - Lancez l’aperçu avec F5, puis touchez le contrôle caméra pour prendre la photo.
Point à savoir : la photo se prend en touchant le contrôle lui-même, et sa propriété Photo contient toujours la dernière image. Le contrôle Image ajouté à côté permet à l’utilisateur de la vérifier et de la reprendre avant l’enregistrement.
Les propriétés les plus utiles :
Camera: le numéro de la caméra à utiliser. Il ne s’agit pas d’un simple choix entre avant et arrière, car un appareil peut en avoir plusieurs.AvailableDevices: la table des caméras disponibles, avec les colonnesIdetName.Stream,StreamRateetOnStream: la capture automatique, à un intervalle de 100 millisecondes à 1 heure. Cela sert par exemple à photographier un poste chaque minute.VisibleetDisplayMode: pour n’afficher ou n’activer la caméra qu’au bon moment.
Pour laisser l’utilisateur choisir la caméra, insérez une liste déroulante, mettez Camera1.AvailableDevices dans sa propriété Items, puis cette formule dans la propriété Camera de la caméra :
Dropdown1.Selected.Id
Prendre, vérifier et garder plusieurs photos
Chaque prise remplace la précédente dans Photo. Pour en garder plusieurs, ajoutez-les à une collection, un tableau temporaire propre à l’application. Dans la propriété OnSelect de la caméra :
Collect(MesPhotos, Camera1.Photo)
Ajoutez une galerie verticale, avec MesPhotos dans Items. Dans le contrôle Image de la galerie, la propriété Image reçoit ThisItem.Url. Pour retirer une photo ratée, placez ceci dans OnSelect de cette image :
Remove(MesPhotos, ThisItem)
Pour rattacher un commentaire à chaque photo, créez un enregistrement. Dans la galerie, l’image se lit alors avec ThisItem.Photo :
Collect(MesPhotos, {Photo: Camera1.Photo, Commentaire: TextInput1.Text, Prise: Now()})
Pour limiter le nombre de photos, désactivez la caméra une fois le maximum atteint, avec cette formule dans sa propriété DisplayMode :
If(CountRows(MesPhotos) >= 3, DisplayMode.Disabled, DisplayMode.Edit)
Les formules de cet article utilisent la virgule. Dans une interface en français, selon la langue ou les réglages régionaux, le séparateur d’arguments devient le point-virgule (;) et l’enchaînement de deux formules s’écrit ;;. Microsoft appelle aussi à la prudence avec les images en collection : elles occupent la mémoire de l’appareil. Envoyez-les régulièrement vers la source.
Enregistrer les photos dans vos données
Dans Dataverse
Dans Dataverse, la base de données de la Power Platform, ajoutez à votre table une colonne de type Image. Les écritures passent par la fonction Patch, qui crée ou modifie une ligne sans formulaire. La formule la plus sûre crée d’abord la ligne, puis ajoute l’image :
Set(varInspection, Patch(Inspections, Defaults(Inspections), {Titre: "Contrôle quai 3"}));
Patch(Inspections, varInspection, {Photo: Camera1.Photo})
Pourquoi deux étapes : Dataverse n’accepte à la création d’une ligne que la colonne d’image dite principale. Si votre colonne l’est, une seule écriture suffit.
Deux réglages sont à contrôler. Une colonne d’image accepte 30 Mo au plus, selon la limite que vous lui fixez. Surtout, Dataverse génère une miniature de 144 pixels de côté : sans l’option de stockage de l’image complète, activée sur la colonne, vous ne gardez pas l’original. La documentation Microsoft des colonnes d’image précise ces règles.
Dans SharePoint
Pour relier Power Apps à SharePoint, la méthode la plus courante consiste à transmettre l’image à un flux, qui crée ensuite le fichier dans une bibliothèque de documents. La fonction JSON transforme la photo en texte encodé en base64 :
Set(varPhotoTexte, Substitute(JSON(Camera1.Photo, JSONFormat.IncludeBinaryData), """", ""));
EnregistrerPhoto.Run(varPhotoTexte)
Substitute retire les guillemets ajoutés par JSON, et EnregistrerPhoto est le nom de votre flux. Dans Power Automate, l’outil qui enchaîne ces actions dans le cloud, l’action Créer un fichier reçoit alors l’expression dataUriToBinary() appliquée au texte reçu. Le flux peut aussi prévenir un responsable ou classer le fichier dans le bon dossier.
Autorisations, pannes courantes et hors connexion
L’appareil doit avoir une caméra, et l’utilisateur doit autoriser son usage lors de la première ouverture. S’il refuse, le contrôle ne fonctionne pas. Prévoyez un message qui explique où changer ce réglage, et une autre façon d’ajouter une image avec Ajouter une image.
- Navigateurs. Microsoft cite la prise en charge d’Edge, Chrome, Firefox et Opera, ainsi que des appareils Android et iOS. Les autres plateformes affichent un avertissement. Safari ne figure pas dans cette liste : sur iPhone, utilisez l’application Power Apps Mobile.
- Caméra bloquée. Vérifiez les autorisations du navigateur, souvent signalées par une icône barrée dans la barre d’adresse.
- Appareils d’entreprise. Une stratégie de sécurité peut interdire la caméra. Voyez ce point avec votre service informatique avant le déploiement.
- Démarrage lent. Selon le modèle, la caméra peut mettre quelques secondes à s’initialiser. C’est normal, et il vaut mieux le dire aux utilisateurs.
- Mémoire faible. Sur un appareil qui manque de mémoire, la caméra est désactivée temporairement pour éviter un plantage.
- Application Windows. Power Apps pour Windows peut planter avec ce contrôle : Microsoft conseille alors le lecteur web.
Sans réseau, SaveData(MesPhotos, "photosLocales") garde les photos sur le téléphone, par exemple sur un bouton Sauvegarder. À la réouverture, LoadData(MesPhotos, "photosLocales", true) les recharge, et true évite une erreur si rien n’a encore été sauvegardé.
Ces fonctions ne fonctionnent pas pendant la création dans le navigateur : testez sur un téléphone. Microsoft limite leur stockage à 1 Mo dans Teams et dans un navigateur, et évoque de 30 à 70 Mo de mémoire disponible en général sur mobile. Quelques photos passent, un chantier entier non. Enfin, si votre besoin porte sur l’identification, le lecteur de codes-barres de Power Apps sera plus rapide et plus fiable qu’une photo.
Quand se faire accompagner sur la gestion des photos
Pour quelques images par semaine rangées dans une liste, vous pouvez tout à fait avancer seul. Faites-vous accompagner quand les volumes deviennent importants, quand les photos servent de preuve en cas de litige, ou quand elles montrent des personnes ou des données sensibles. Il faut alors décider où elles sont stockées, combien de temps, qui y accède et ce que cela coûte en capacité, et ces choix sont difficiles à reprendre une fois des milliers d’images enregistrées. Notre page sur les applications métier conçues avec Power Apps situe ces projets.
Questions fréquentes
Peut-on prendre plusieurs photos à la suite avec le contrôle caméra ?
Oui. Chaque nouvelle photo remplace la précédente dans la propriété Photo, mais vous pouvez les conserver avec Collect(MesPhotos, Camera1.Photo) dans OnSelect. Enregistrez-les ensuite dans votre source de données, car les images en collection occupent la mémoire de l’appareil.
Le contrôle caméra fonctionne-t-il sur tous les navigateurs ?
Non. Microsoft indique la prise en charge d’Edge, Chrome, Firefox et Opera, ainsi que des appareils Android et iOS. Les autres navigateurs et plateformes affichent un avertissement. Une politique d’entreprise peut également bloquer l’accès à la caméra.
Quelle est la qualité des images prises avec le contrôle caméra ?
Elle est limitée à 640 sur 480 pixels. Cela suffit pour une photo témoin, pas pour lire un numéro de série ou un petit défaut. Dans ces cas, utilisez le contrôle Ajouter une image, qui garde la pleine résolution.
Comment limiter le nombre de photos qu’un utilisateur peut prendre ?
Comptez les photos avec CountRows et passez le contrôle en DisplayMode.Disabled une fois la limite atteinte. Vous pouvez aussi le masquer avec la propriété Visible. Affichez le nombre de photos restantes, pour que l’utilisateur comprenne pourquoi la caméra ne répond plus.
Peut-on annoter les photos prises dans l’application ?
Le contrôle caméra ne propose pas d’annotation. La solution la plus simple est un champ de commentaire enregistré avec la photo, comme dans la formule avec Commentaire plus haut. Pour dessiner sur l’image, il faudra un composant spécifique ou un service externe appelé par un flux.
Quelle est la taille maximale des images stockées ?
Elle dépend de la source. Dans Dataverse, une colonne d’image accepte 30 Mo au plus, et n’accepte que les formats GIF, JPEG, BMP et PNG. Sur SharePoint, vérifiez les limites de votre bibliothèque. Avec le contrôle caméra, limité à 640 sur 480 pixels, les fichiers restent de toute façon petits.
À lire ensuite
- Power Apps Model-driven vs Canvas : Quelle approche choisir ?Deux façons de construire une application Power Apps : à partir de vos données ou à partir d’un écran vide. Voici comment choisir selon votre processus, vos équipes et vos licences.8 min
- Créer votre première application Canvas en 30 minutesUne application Canvas se dessine comme une diapositive, puis se relie à vos données. Suivez ces cinq étapes pour obtenir une première version utilisable, avec les vraies formules.8 min
- Afficher des données dynamiques avec les galeries Power AppsLa galerie est le contrôle qui affiche vos listes de données dans une application : demandes, contacts, interventions. Comment la créer, la filtrer, la trier et la garder rapide, avec de vraies formules.9 min
- Comprendre et optimiser la délégation dans Power AppsSans délégation, une application Power Apps ne regarde que les premières lignes et peut donner un résultat faux sans prévenir. Comment le repérer et le corriger.9 min