French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

  • 1.  Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

    Posted Jun 21, 2021 05:36 AM
    Bonjour à vous,

    Je me permet d'utiliser ce forum car je suis actuellement entrain de développer une application pour mon entreprise.
    Mon application est en partie terminée mais il reste une problématique à laquelle je n'arrive pas à répondre :

    J'utilise un flux afin de générer un lien sur Sharepoint contenant mon image via "OnSelect", cependant il n'y a pas de retour sur la photo prise.
    C'est pourquoi je voudrais mettre une image qui va chercher ce dit lien pour avoir ce retour.
    En mettant simplement le lien vers l'url en question, cela marche très bien sur ordinateur, cependant je n'ai pas de visuel sur téléphone...

    J'ai trouvé dans un des posts une extension : .thumbail.large qui résoudrait ce soucis mais impossible de l'appliquer pour mon cas :

    Auriez-vous des informations à ce sujet ?
    Merci par avance pour vos retours !

    ------------------------------
    Robin M
    ------------------------------


  • 2.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

    Gold Contributor
    Posted Jun 22, 2021 11:33 AM
    Salut Robin,
    Je suis pas sûr d'avoir tout compris...
    1. Où se trouve ton image ? Dans une bibliothèque (sans ou avec un lien vers un élément de liste) ? En pièce jointe d'un élément de liste ?
    2. C'est avec ton application que tu prends une photo et tu l'envoies dans SharePoint via un flux Power Automate ?
    3. Lorsque tu récupères la photo côté Power Apps tu la vois sur PC mais pas sur mobile c'est ça ?
    4. Pourquoi dis-tu que ".thumbnail.large" tu ne peux pas l'utiliser dans ton cas ?
    Une chose à savoir lorsque l'on développe une application qui prends des photos avec Power Apps et qui stocke ces photos dans SharePoint :
    • tu prends une photo avec Power Apps et tu l'envoies à un flux Power Automate pour la stocker dans SharePoint
    • côté SharePoint tu te retrouves avec un fichier image dans une bibliothèque
    • lorsque tu veux récupérer cette photo ultérieurement pour visualisation dans Power Apps, il est impossible d'obtenir la photo dans sa résolution d'origine ; la seule façon d'afficher la photo c'est d'utiliser ".thumbnail" et tu n'as que droit résolutions possibles (toutes inférieures à la résolution d'origine) : small, medium, large.
    • si tu veux récupérer la photo dans sa résolution d'origine, t'es obligé de créer un flux Power Automate qui va charger le contenu du fichier et le renvoyer à Power Apps (mais bonjour les perfs !)


    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

    Posted Jun 22, 2021 02:00 PM
    Salut,

    Déjà merci pour ce retour !

    Je vais donc répondre à tous tes points :
    1. Où se trouve ton image ? Dans une bibliothèque (sans ou avec un lien vers un élément de liste) ? En pièce jointe d'un élément de liste ? L'image stockée est dans une bibliothèque de Sharepoint dans "Documents", c'est dans le flux Power Automate que j'ai choisi cette destination
    2. C'est avec ton application que tu prends une photo et tu l'envoies dans SharePoint via un flux Power Automate ? Oui c'est bien avec l'application que je prends la photo, via "caméra" puis "OnSelect" qui envoie par la suite le flux Power Automate.
    3. Lorsque tu récupères la photo côté Power Apps tu la vois sur PC mais pas sur mobile c'est ça ? Oui c'est ça.
    4. Pourquoi dis-tu que ".thumbnail.large" tu ne peux pas l'utiliser dans ton cas ? J'ai essayé d'appliquer cette extension à la suite de mon url qui est générée puis récupérée sous "ThisItem.'Url 1'", mais PowerApps n'a pas l'air de vouloir l'appliquer à la suite, surement un problème de compréhension de ma part, mais j'ai essayé de retourner dans tous les sens mais impossible de le faire fonctionner. 
    Le flux PowerAutomate utilisé :

    Autre chose, le fait de passer par le côté "caméra" au lieu de "photo" est de pouvoir générer un lien directement dans le tableur Sharepoint, car par la suite vous allons l'exporter dans un tableur Excel et via une macro, récupérer les images sur ce tableur. Mais pour cela il nous faut une seule url par cellule.
    C'est pour faciliter l'exportation d'informations, pour, par exemple, les copier/coller efficacement dans un rapport.

    Cordialement,


        ------------------------------
        Robin MAUJARD
        ------------------------------



      1. 4.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

        Gold Contributor
        Posted Jun 23, 2021 08:28 AM
        Salut Robin,
        Ok. Alors, je viens de faire un test de mon côté : j'ai créé une application Power Apps qui me permet de prendre des photos et de les stocker dans une bibliothèque de documents SharePoint via un flux Power Automate.
        Sur l'écran de l'application j'affiche le ".thumbnail.large" des photos qui proviennent de la bibliothèque SharePoint.
        Lorsque je lance l'application sur mon mobile, je récupère bien les photos enregistrées côté SharePoint.

        En fait, je pense que le plus simples ça serait que tu me décrives en détail ce que ton application est censée faire et ce que tu as déjà fait.

        ------------------------------
        EMMANUEL GALLIS
        Power Platform Consultant
        France
        ------------------------------



      2. 5.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

        Posted Jun 23, 2021 02:18 PM
        Salut Emmanuel,

        Effectivement ça sera plus simple,
        Je ne peux pas vraiment rentrer dans les détails, pour cause de confidentialité.

        En gros, je souhaites que des personnes affiliées à la société puissent indépendamment saisir des informations sur téléphone (écrites et photos), pour ensuite de notre côté les répertorier dans un rapport le plus rapidement possible. Nous avons essayer beaucoup de solutions types : google forms, zapier, integromat, etc. Mais le traitement des photos à toujours posé des soucis.

        Ma première approche dans PowerApps a été de trouver un moyen de faire le parallèle entre PowerApps et Sharepoint puis entre Sharepoint et Excel.
        J'ai donc choisi cette approche pour récupérer une photo sur Excel :
        - Utiliser la caméra puis le flux pour générer la photo sous Sharepoint
        - Récupérer le lien que nous donne le flux pour l'envoyer dans le tableur de Sharepoint
        - Extraire le tableur SharePoint en Excel pour ensuite appliquer une macro qui importe les images dans des cellules adjacentes.

        Jusque là, tout va bien.
        Sauf que pour prendre des photos, il n'y a pas de retour direct pour visualiser la photo prise, donc j'ai voulu ajouter une image avec le lien en question, mais le lien simple ne fonctionne pas sous téléphone.
        Ci-dessous, comment j'ai géré dans mon application :
        Il y a surement plus simple comme solution, mais celle-ci me paraissait bien aux vues de nos besoins.

        Cordialement,

        ------------------------------
        Robin MAUJARD
        ------------------------------



      3. 6.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

        Gold Contributor
        Posted Jun 23, 2021 03:29 PM

        Merci pour ces éléments...
        Alors, pour répondre tout d'abord directement à ta problématique "...il n'y a pas de retour direct pour visualiser la photo prise...", voici ce que j'ai compris et ce que je te suggère de faire :

        • dans ton application tu as un contrôle Camera que tu utilises pour prendre une photo et lorsque tu as pris une photo tu aimerais pouvoir la prévisualiser directement dans l'application avant de l'envoyer à SharePoint à l'aide de ton flux UploadPhoto
        • si c'est bien ça qu'il te manque, il suffit simplement de mettre un contrôle Image sur ton écran et de mettre Camera1.Photo dans la propriété Image de ce contrôle ; c'est tout ! Quand tu prendras une photo tu verras alors la photo prise via ce contrôle Image

        En espérant avoir bien compris ton pb et avoir été clair sur la solution.

        Pour en venir maintenant à la solution que tu mets en œuvre... Tout d'abord, un p'tit problème de nomenclature : ce que tu appelles "tableur SharePoint" ça s'appelle une liste (si j'ai bien interprété tes explications). On est d'accord ?

        Revenons sur le besoin initial. Ce que j'en ai compris c'est :

        • ton application permet à différents utilisateurs de saisir du texte et de prendre des photos
        • ces données sont stockées dans SharePoint : la partie texte, je suppose qu'elle est stockée dans une liste ; et les photos sont stockées dans une bibliothèque de documents
        • vous souhaitez ensuite produire un rapport qui combine à la fois ces données texte et les photos
        Si c'est bien ça, quelques questions :
        1. Pourquoi exporter les données vers Excel ? Est-ce qu'elle sont transformées dans Excel ? Parce-que s'il s'agit simplement de produire au final un PDF avec les données saisies par les utilisateurs avec les photos associées, c'est faisable via un simple flux Power Automate.
        2. Comment fais-tu actuellement le lien entre une photo et les données textes stockées dans la liste ? J'ai l'impression que pour l'instant tu ne fais ce lien que via l'url de la photo. A la rigueur, pourquoi pas, si cette url est stockée dans un champ texte de ta liste qui stocke les saisies des utilisateurs. C'est comme ça que tu le fais actuellement ?

        Je profite de ce poste pour t'inviter à prendre quelques minutes pour représenter ton modèle de données via le PPT que j'ai joint à cet article rédigé par mes soins tout dernièrement. Cela te permet à toi (et à d'autres, comme moi par exemple, pour t'aider plus facilement) de bien visualiser comment tu gères les données dans ton application : https://r3dkap.fr/post/comment-creer-vos-listes-sharepoint-pour-vos-applications-power-apps-60cde3aee7328da090060c28 (regarde le paragraphe dédié au modèle de données, au début de l'article ; quant au fichier PPT d'exemple, il est à la fin de l'article).

        ------------------------------
        EMMANUEL GALLIS
        Power Platform Consultant
        France
        ------------------------------



      4. 7.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

        Posted Jun 28, 2021 07:15 AM
          |   view attached
        Bonjour !

        Effectivement, je ne pensais pas pouvoir récupérer directement l'image avec la fonction : Camera1.Photo ! De ce côté là c'est super, merci beaucoup !

        Par contre, j'ai un autre soucis qui est lors de la modification d'éléments précédents, car ces images éphémères n'existent plus, et il n'est plus possible de les revoir... Ducoup, je retombe sur la même problématique qui est d'afficher des images à l'aide du lien généré par PowerAutomate :/

        Pour la seconde partie, c'est exactement ça, je récupère le lien sur Excel, et ce, photo par photo ! J'ai fait un schéma pour te représenter mon application actuelle :
        Ma liste n'est pas complexe, je n'ai qu'une seule liste, sans aucune imbrications.
        Pour la macro Excel, je la met en PJ avec le PowerPoint

        Et enfin, pour la génération en PDF via PowerAutomate, le problème étant que nous modifions souvent les informations reçues, pour approfondir en détail ou autre lors de la mise en page du rapport.

        ------------------------------
        Robin MAUJARD
        ------------------------------

        Attachment(s)

        pptx
        PowerApps résumé.pptx   46 KB 1 version


      5. 8.  RE: Visualisation d'une image sur un appareil sous PowerApps via une url Sharepoint

        Gold Contributor
        Posted Jun 30, 2021 06:22 AM
        Salut Robin,
        Attention à la nomenclature : Camera1.Photo n'est pas une fonction...

        • Camera1 est un contrôle (c'est un objet interactif que l'on peut placer sur un écran d'une application)
        • Photo est une propriété du contrôle Camera1
        • Les contrôles Power Apps (dispos via l'onglet Insérer) ont en général 3 types de propriétés :
          • des propriétés d'actions, aussi appelés événements : le code est déclenché par un événement (clic d'un bouton, modification d'une valeur, ...)
          • des propriétés de données : principalement des propriétés qui fournissent des données (ie du contenu) au contrôle
          • des propriétés de conception, qui décrivent comment le contrôle sera affiché visuellement à l'écran (couleurs, position, ...)
        • Il existe aussi un objet particulier qui s'appelle App, qui n'est pas un contrôle mais seulement un objet, et qui propose quelques propriétés qui caractérisent l'application en elle-même (dimensions, ...) ; elle possède un événement OnStart qui se déclenche au moment où l'application démarre (un nouvel événement OnError est arrivé récemment, mais son rôle n'est pas encore très clair)
        • Une fonction dans Power Apps est comme une fonction dans Excel : elle prend des paramètres en entrée et fournit un résultat en sortie -> elle a donc des parenthèses (toutes les fonctions Power Apps sont recensées ici : https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/formula-reference)
        Voilà... C'était la minute "nomenclature"... 😊

        Par rapport à ton problème...
        Je suppose que ce que tu décris dans ton schéma comme étant une "Galerie d'images" est en fait ta bibliothèque Documents dans lequel sont stockées tes photos. Puisque tes photos sont là, tu vois bien qu'en réalité elles ne sont pas éphémères du tout. Elles sont bien là.
        Du coup, si tu veux réafficher tes photos prises précédemment, il faut que tu rajoutes la bibliothèques Documents en tant que source de données à ton application (comme ta liste que tu as déjà actuellement).
        Ensuite, pour afficher la bonne photo qui vient de Documents, selon l'élément de liste sur lequel tu te trouves, il faut que tu ajoutes un contrôle Image à ta galerie et que tu recherches la bonne photo dans Documents avec l'url de l'élément de liste en cours. Tu peux faire ça avec un bout de code du style :

        LookUp(Documents; 'Lien vers l'élément' = ThisItem.'Url 1').Miniature.Large​

        Mais cette solution n'est pas idéale car tu remarqueras que la partie 'Lien vers l'élément' est soulignée en bleu. Cela veut dire que tu as un problème de délégation. Je vais pas rentrer dans le détail mais en gros cette condition du LookUp() pourrait te retourner des données erronées si tu as un nombre important d'éléments dans ta bibliothèque Documents. L'idéal c'est de se débarrasser de ce problème de délégation.

        Pour faire ça, et pour avoir du coup une solution un peu plus robuste, il faudrait en fait que tu rajoutes un colonne dans ta bibliothèque Documents. Ce serait une colonne de type 'Recherche' (lookup en anglais) qui pointerait vers le champ Titre de ta liste SharePoint. Celle-ci te permettrait de relier directement une photo à un élément de ta liste. Il faudrait ensuite modifier ton flow pour qu'il alimente cette colonne avec l'identifiant de l'élément de ta liste auquel une photo doit être rattachée (il faut donc transmettre à ton flow l'élément de liste en question, ou du moins son ID SharePoint).
        Une fois que tu auras fait ça, côté SharePoint tu pourras remplacer la formule précédente par quelque chose comme ceci (qui ne te posera plus de problème de délégation) :

        LookUp(​Documents; TaColonneRecherche.Value = ThisItem.Titre).Miniature.Large​


        ------------------------------
        EMMANUEL GALLIS
        Power Platform Consultant
        France
        ------------------------------