Dans la jungle des outils de visio-conférence

– Un article de Céline Morvan – Le télétravail aujourd’hui explose ! Boosté par la pandémie actuelle, même les entreprises les plus frileuses se voient obligées de collaborer en changeant leur manière de travailler. Plusieurs outils comme : Skype, Google Hangout, Monday.com, Slack, Teams, Klaxoon, Trello, Zoom ; se démocratisent et influencent nos nouvelles habitudes de demain.

Zoom sur Zoom

L’explosion de la visio-conférence

La plateforme vidéo pour le télétravail ou apéritif entre amis est devenue une des applications les plus populaires en l’espace de quelques semaines.

blog ai3 Vision%20image%202 Dans la jungle des outils de visio-conférence
Source : Statista

Que ce soit sur Google Play ou l’App Store, en France, plus d’un demi-million de téléchargements de l’application Zoom a été relevé entre le 26 mars et 1er avril.

Une application qui fait le buzz car elle correspond tout à fait aux besoins du moment : une plateforme vidéo de très bonne qualité, accessible gratuitement et pouvant réunir jusqu’à 100 personnes en simultané, arborant une ergonomie simple, moderne et ludique.

Zoom s’est différencié très rapidement face à ses concurrents principaux (Teams, GoogleMeet ou Facebook Room) par sa gratuité et sa facilité d’utilisation.

Deuxième tendance lors du confinement

Après le 1er avril 2020, la plateforme a malheureusement vu certaines failles nuisant largement à sa popularité. En effet, celle-ci comportait de nombreux disfonctionnements notamment sur la sécurité.

Sans mise en garde ou formation il était facilement possible d’oublier certains détails de paramétrages de la plateforme et déclencher un « Zoombombing ». Expression devenue très populaire suite aux failles de la plateforme, par exemple une intrusion malveillante dans la réunion d’une personne qui publie des images ou vidéos néfastes à charactère pornographique ou haineux.

Également avant avril, l’ID de la réunion était visible et accessible par tous pendant la réunion. Plusieurs personnes (partant d’un bon sentiment) avaient publié une photo représentant leur meeting mais l’ID associé y était bien visible et de nombreux intrus se sont alors invités à la réunion. C’est ce qui est arrivé par exemple au Premier Ministre britannique, Boris Johnson.

blog ai3 Visio%20image%203 Dans la jungle des outils de visio-conférence

En parallèle des milliers de comptes Zoom auraient été vendus sur le DarkWeb, ou offerts à des hackers avec des données personnelles telles que : e-mail, mot de passe, URL de connexion, clé d’entrée générée et fournie par l’administrateur des meetings.

Plusieurs entreprises et politiques ont interdit l’utilisation de la plateforme tant que la sécurité n’était pas totale.

À la suite de ses différentes attaques, Zoom a changé rapidement sa stratégie en appliquant une nouvelle fonction nommée « Security ». Elle permet notamment d’évincer des participants, d’éviter le partage de contenus, de limiter le nombre de personnes pouvant rejoindre la réunion, ou de les mettre en attente. Un mot de passe est proposé par défaut pour que seuls les invités puissent se connecter.

Que penser de Zoom ?

Comme pour beaucoup d’applications, le boom de l’utilisation de la visio-conférence a fait augmenter le risque de ciber attaques.

Zoom s’est adapté très rapidement et a pu répondre aux problématiques qu’ont rencontrées les entreprises ou particuliers dans le domaine de la sécurité. La majorité des entreprises de visio-conférence n’ont pas encore crypté de bout à bout leurs conversations mais Zoom a su se développer et répondre aux attaques de la compétition.

L’application reste leader sur le marché de la visio-conférence par sa fluidité et facilité d’utilisation. D’autres options comme le « Webinar » se démocratisent pour permettre de diffuser en direct des événements et conférences en Live ou de réunir un très grand groupe de spectateurs.

Si vous souhaitez en savoir plus sur la plateforme et organiser des webinars et live de grande envergure n’hésitez pas à nous contacter !

La plateforme de collaboration Teams

Là où Zoom ou d’autres plateformes se concentrent sur la visioconférence, d’autres deviennent très populaires par le télétravail et le travail en collaboration.

C’est le cas de la plateforme Teams qui est avant tout une messagerie collaborative (discussion personnelle ou de groupes prédéfinis) conçue pour le travail en équipe et le suivi de projets.

Teams propose également la fonction de visioconférence, notamment celle issue de Skype for Business.

Quelle est donc la différence entre Skype for Business et Teams ?

Skype for business a été conçu pour les échanges en temps réels (1 to 1 ou groupé) avec des conversations éphémères et ouvertes à tous (invitation au grand public qui utilise Skype à des fins personnelles).

Teams souhaite mettre en avant la collaboration au-delà de la communication. On y retrouve la conversation instantanée, synchronisée en groupe ou en communauté, si on le souhaite. L’historique est gardé comme les fichiers échangés ou autres données. Il y a également la possibilité d’inviter des personnes extérieures à l’organisation, dans des espaces de travail prédéfinis.

Aujourd’hui, Microsoft pousse à la fermeture de Skype for Business pour sa plateforme Teams. Celle-ci permet de centraliser l’ensemble des fonctionnalités Skype (Chat, Visio, Appel), et y additionne de nouveaux usages pour le travail en équipe ; la collaboration.

Nos conseils pour bien choisir sa plateforme de travail en collaboration instantanée ou visio-conférence.

C’est un choix stratégique pour toute entreprise. Il faut avant tout s’assurer de maitriser les risques pouvant potentiellement provenir de ces outils, ou de bien éduquer les collaborateurs aux bons gestes de sécurité du quotidien.

Il faut donc vérifier si l’outil dispose d’un bon cryptage des conversations et du système de sécurité, également la confidentialité des liens de connexion. Se renseigner sur la gestion des données personnelles des utilisateurs et être certain que la politique du logiciel est claire quant à l’éventuel usage commercial des contenus de réunion.

Le comportement désinvolte des utilisateurs est celui qui menace également la sécurité de l’entreprise. Il faut en être conscient et mettre en place des sensibilisations et des formations régulières.

Pour faciliter l’adoption de l’outil, bien préparer l’environnement de travail virtuel pour les collaborateurs : chats d’équipe dirigés par les managers, création en amont de groupe de travail ou de projets.

De nouvelles aventures vous attendent autour des projets en collaboratif, nous sommes là pour vous accompagner all the way !

#teletravail #live #visio #collaboration

Microsoft Teams, l’heure des bilans !

Suite à la crise du Covid-19 et au récent confinement, la sphère professionnelle a massivement investi dans le désormais fameux Microsoft Teams. Aujourd’hui, il est temps de faire un premier bilan et d’aborder le « Retour sur investissement ».

Un article de Sylvie Roche & Hélène Ramette

D’après le Journal du Net : « Teams a enregistré un pic de plus de 200 millions de participants à des réunions virtuelles sur une journée du mois d’avril 2020, générant plus de 4,1 milliards de minutes de meetings ».

Face à ce succès massif et sans précédent, il est temps d’aborder les sujets qui fâchent : quel est le retour sur investissement de Microsoft Teams et Office 365 ? Et comme une infographie est plus parlante qu’un long discours… Voici des premiers éléments de réponse en image !

blog ai3 ROI%20Teams%20-%20infographie Microsoft Teams, l'heure des bilans !

La Battle : Quand Kaizala entre sur le ring

/// Un article de Sylvie Roche ///

Quelques mots sur le contexte

En 2016, Kaizala voit le jour comme une expérimentation du Garage Microsoft. Développée par les équipes indiennes et à destination du marché indien, l’appli a pour objectif de concurrencer les solutions de messagerie instantanée type WhatsApp. Elle est conçue pour les collaborateurs qui travaillent peu dans un bureau (ex : itinérants, techniciens…). L’expérimentation lancée dans 28 pays est concluante. Il n’y a plus qu’à la diffuser dans le monde entier.
 
Largement utilisée en Inde, Microsoft décide de l’ouvrir très globalement en Mai 2019.
 
Alors forcément, on s’est posé plein de questions : Si Teams est le produit chouchou de Microsoft, pourquoi pousser Kaizala ?
Il ne s’agirait pas d’un miroir aux alouettes ?… Autrement dit, est-ce que l’insatiable Teams ne va pas en faire une bouchée dans quelques mois ?

Et surtout : Kaizala va-t-il remplacer WhatsApp dans nos cœurs ? (dans le fond, on l’aime bien notre WhatsApp !)

Alors on a invité Kaizala à rejoindre Teams et WhatsApp sur le ring, et on a lancé une battle !

blog ai3 So-youz%20Kaizala La Battle : Quand Kaizala entre sur le ring

Qu’est-ce qu’ils ont dans le ventre ?

La vocation de Teams est de permettre aux équipes de collaborer sur des projets. Ce qui n’est pas le cas des applications de messagerie Kaizala et WhatsApp. Comparons ce qui est comparable.
 
• La messagerie instantanée
Kaizala et WhatsApp ont été conçus pour échanger de façon instantanée. Ce que permet aussi Teams… Mais on ne va pas se mentir, si vous avez besoin d’une réponse rapide, vous dégainez Kaizala ou WhatsApp d’un geste. Et hop ! La conversation s’enclenche. Dans Teams, la communication est au service des projets.
 
Ceci dit… Kaizala vous aide à animer votre équipes où qu’elle soit. De nombreux add-on ont été ajoutés au fil de discussion pour renforcer cet usage : sondages, tâches, rendez-vous…

blog ai3 Kaizala2 La Battle : Quand Kaizala entre sur le ring
blog ai3 Appels%20vide%CC%81os La Battle : Quand Kaizala entre sur le ring

Seul bémol : pour l’instant, Kaizala n’est pas connecté à d’autres outils O365 (au hasard : Outlook, Task, Planner…).
 
• Les appels (audio et vidéo)
Teams est l’outil d’animation de réunion incontesté : partage d’écran, enregistrement des réunions, et… c’est tout pour l’avance sur ses concurrents !

Car pour le reste, WhapsApp et Kaizala sont étonnamment puissants : appels audio et vidéo à plusieurs, messagerie instantanée disponible pendant les appels… Et en termes d’interface, comment dire… c’est kif kif.

Néanmoins, pour animer un webinar ou une conférence via un PC, Teams reste incontournable.
 
• Et pour les entreprises…

Beaucoup d’entreprises sont confrontées aux problématiques suivantes :
 
1. Comment je peux agir sur le Shadow IT ?
2. Je ne vais pas brouiller la communication avec un canal de plus ?
3. C’est sécurisé votre truc ?
 
Alors, ça donne quoi Kaizala ?

Les nouveautés qui vont booster l’adoption de Microsoft Teams

/ Un article de Nathalie BELVAL /

Avec les applications Office 365, des mises à jour régulières sont poussées directement aux utilisateurs… Parfois déstabilisant, ce mode de fonctionnement se fait maintenant de partout et d’autant plus depuis l’arrivée des applications mobiles avec les stores d’applications proposant des mises à jour régulières. Afin d’anticiper l’arrivée des prochaines mises à jour, voici un article qui résume ces nouveautés très attendues dont la plupart ont été annoncées et sont sorties à l’occasion de de l’Ignite 2019.

Les Canaux Privés

Microsoft en parle, cette nouveauté est enfin arrivée !

Comment ça fonctionne ?
Vous allez pouvoir définir des utilisateurs spécifiques pour vos canaux. Les canaux privés seront affichés avec un petit cadenas comme sur l’image ci-dessous :

blog ai3 Canaux%20prive%CC%81s Les nouveautés qui vont booster l’adoption de Microsoft Teams

Cette évolution va permettre de répondre aux problématiques de confidentialité dans la diffusion des informations et ainsi de faire du ménage dans vos équipes Teams afin d’en fusionner certaines entre elles ! En effet, certains membres de l’équipe pourront ou non accéder aux conversations et aux fichiers du canal privé.

Ce qui est sûr c’est qu’avec cette évolution, Teams se rapproche de très près des fonctionnalités proposées par Slack avec ces notions de canaux privés. Ce qui donnait à Slack un gros avantage par rapport à Teams qui paraît plus fouillis aux premiers abords du fait de ses multitudes d’équipes.

L’amélioration des discussions (réponses à un message dans une discussion de groupe)

Dans certains cas et usages, une simple discussion de groupe pourrait suffire pour échanger sur Teams sans même créer une équipe. Cet usage peu utilisé car tout le monde à tendance à vouloir créer une équipe sur Teams… est un usage équivalent à l’application WhatsApp avec ses groupes de conversation. Avec l’avantage en plus sur Teams, de pouvoir lancer une réunion ou même disposer d’un espace de stockage de fichiers et notes collaboratives.

Microsoft va donc faire évoluer les conversions de groupe et ajouter cette fonctionnalité très pratique de réponse à un message en particulier ce qui peut être utile dans le cas d’une conversation de groupe très active :

blog ai3 Conversation%20Active Les nouveautés qui vont booster l’adoption de Microsoft Teams

Modifier l’arrière-plan pendant les vidéos-conférences (prochainement)

L’effet flouté avec sa webcam fait toujours son effet sur Teams… La fonctionnalité va être poussée encore plus loin avec la possibilité de changer son arrière-plan et mettre un autre décor : un bureau hyper moderne, une salle de réunion immense ou bien un décor des îles ! Grâce à cette fonctionnalité, de plus en plus de personnes feront leurs réunions avec leurs caméras actives ce qui les rends beaucoup plus vivantes et immersives entre collègues de travail.

Les sous-titres pendant les réunions

Microsoft met le paquet sur les réunions et proposera également de sous-titrer sa réunion ! De plus quand celles-ci seront enregistrées une recherche textuelle sous forme de mots clés permettra de localiser un passage sur un sujet en particulier via l’application Stream. Cette fonctionnalité de sous-titre est d’ores et déjà disponible sur PowerPoint et fonctionne vraiment bien !

blog ai3 Sous-titre%20dans%20PPT Les nouveautés qui vont booster l’adoption de Microsoft Teams

Utilisation des tableaux blancs physiques des salles de réunion (prochainement)

Pendant une réunion, il est déjà possible d’utiliser des applications afin de créer des tableaux blancs avec l’application Microsoft Whiteboard :

blog ai3 Tableau%20blanc Les nouveautés qui vont booster l’adoption de Microsoft Teams

Une nouvelle application / outil de capture fera son apparition afin de permettre d’utiliser un tableau blanc physique : la caméra de la salle de réunion filmera le tableau blanc de la salle avec un effet de transparence pour pouvoir le lire même derrière la personne prenant des notes.

blog ai3 Tableau%20blanc%202 Les nouveautés qui vont booster l’adoption de Microsoft Teams

Les participants à la réunion pourront eux aussi ajouter du contenu.

Une fonctionnalité plutôt futuriste (Microsoft n’a pas encore trop communiqué sur la sortie de cette nouveauté) cependant elle reste très prometteuse et attendue par tous ceux qui en ont entendu parler… elle a le gros avantage d’utiliser un matériel existant ce qui la rendra beaucoup moins onéreuse qu’un tableau blanc type Surface Hub !

En conclusion

Avec ces nouveautés, Microsoft arrive à combiner le meilleur des fonctionnalités qui font que WhatsApp et Slack soient encore beaucoup utilisés par des entreprises et à les intégrer au sein de son application Teams. Ces nouveautés assez riches vont nous permettre de simplifier les échanges, l’organisation des différentes équipes et rendre les réunions encore plus immersives ! Elles auront sans doute un impact encore plus important sur notre productivité au quotidien qui est déjà à ce jour très impactée grâce à Microsoft Teams :

blog ai3 Impact%20Teams Les nouveautés qui vont booster l’adoption de Microsoft Teams


Vous avez envie de proposer de nouvelles fonctionnalités dans Teams ? Postez vos idées dans le UserVoice de Microsoft Teams : https://microsoftteams.uservoice.com/

Nouveautés M365 à venir…

Voici quelques nouveautés qui arriveront, d’ici 5 mois, sur les environnements européens.

Généralités

Le client #OneDrive est enfin en G.A., ou plutôt va bientôt, ici en France, permettre la synchronisation différentielle. Cette nouvelle fonctionnalité va tout simplement, comme chez les autres concurrents, nous permettre de ne synchroniser que la partie d’un document qui a été effectivement modifiée. Beaucoup plus rapide pour sauvegarder de gros documents.

Les données #Yammer arrivent enfin en Europe, mais que pour les tenants qui sont créés maintenant. Mauvaise nouvelle pour ceux qui ont déjà lancé leur Yammer, il n’y aura pas d’option pour migrer en Europe, il faudra fermer le tenant et en créer un nouveau.

#Office365 ProPlus sera maintenant en installation 64 bits, pensez à changer l’option par défaut lors du téléchargement. Il est toujours permis d’installer votre licence sur 5 appareils, mais nouveauté, si par mégarde vous installez un 6e appareil, au lieu d’être bloqué comme aujourd’hui, la plus ancienne installation sera désactivée automatiquement.

Focus sur #TEAMS

Toujours dans un délai : d’ici 5 mois, voici quelques nouveautés qui arrivent dans TEAMS.

  • Les canaux (channels) privés, enfin! Le canal sera visible dans le menu de gauche mais pas son contenu (Conversations, Fichiers, et autres onglets)
blog ai3 TEAMSPrivateChannel-1 Nouveautés M365 à venir...
Private Channel
blog ai3 TEAMSPrivateChannelZoom.png Nouveautés M365 à venir...
  • La recherche transverse dans les conversations
blog ai3 TEAMSSearchFilter Nouveautés M365 à venir...
Search
  • Arrêter les notifications, comme dans Yammer, il est maintenant possible de ne plus suivre une conversation. Et si la conversation vous intéresse, vous pouvez inversement la suivre 🙂
blog ai3 TEAMSTurnOffNotifications Nouveautés M365 à venir...
Turn off notifications
  • Traduction des conversations dans sa langue
blog ai3 TEAMSTranslation-1024x526 Nouveautés M365 à venir...

Toujours plus d’options, de fonctionnalités dans les calendriers / réunions ou les conférences en direct (Skype Meeting Broadcast == Live Event in Teams)

  • Un mode compagnon sur mobile afin de prendre la main sur la présentation durant la réunion.
  • L’ajout d’une image en arrière plan (attention, il n’est pas encore possible de la supprimer !)
  • Sous-titrage en direct et dans sa langue, pensez bien à sélectionner l’option lors de la création de la réunion, ainsi les malentendants pourront suivre eux aussi.
blog ai3 TEAMSSubtiles Nouveautés M365 à venir...
  • Le tableau blanc numérisé automatiquement et en directe
  • La détection des réunions en cours dans les « Teams Room » équipés d’équipements de salle de réunion afin d’être ajouter automatiquement aux réunions ou d’y participer en tant qu’invité.
  • La vue par défaut 2×2 va pouvoir passer en 3×3 dans les vidéos conférences, et vous allez pouvoir faire un épingler les participants.
blog ai3 TEAMSPin.png Nouveautés M365 à venir...
  • Faire une réunion maintenant, dans la foulée, depuis une conversation!
blog ai3 TEAMSMeetNow-1 Nouveautés M365 à venir...

Et après…

Depuis plus de 10 ans nous mettons en place la collaboration en entreprise, il est maintenant temps d’aborder la suite chez nos clients : Les étiquettes. Ces étiquettes permettant de mettre en place les sujets de régulation, de rétention, de classification ou de protection. Tel que le règlement no 2016/679, mots clés > GDPR ou RGPD, données personnelles, CNIL, etc.

Bref les labels : Unified Labelling vont maintenant se paramétrer via Office 365 afin de combiner protection et vie du document.

C’est le seul produit qui permet aujourd’hui de joindre la règle sur la data en elle-même (Word, PowerPoint, Excel, Outlook).

  • Security Label > Azure Information Protection : portal.azure.com devient Sensitivity Labels dans O365
  • Retention Label > Office 365 : protection.office.com
blog ai3 ULButtons Nouveautés M365 à venir...

Configuration depuis 2 endroits, mais quand même une synchronisation automatique, il suffit de l’activer au niveau de l’AIP > Manage > Unified labeling.

blog ai3 ULTogether-1024x614 Nouveautés M365 à venir...

Le tout sera intégré dans office online dès le Q1 2020 !

C’est tout pour le moment….

Recommandations pour la construction d’applications PowerApps

Voici un petit résumé des dernières recommandations Microsoft figurant dans le livre blanc destiné aux développeurs d’applications PowerApps.

Vous y trouverez également quelques suggestions personnelles.

Conventions de nommage des objets

Ecrans

Les noms des écrans étant lus par les logiciels lecteurs d’écran, il est important de nommer ses écrans de manière très claire :

  • Home Screen
  • Search Screen
  • Customer Screen

Voici quelques exemples :

blog ai3 20101_ecrans Recommandations pour la construction d'applications PowerApps

Contrôles

Voici une proposition d’abréviations à utiliser comme préfixes dans les noms que vous attribuerez à vos contrôles :

Type de contrôle (en anglais)Abréviation
buttonbtn
camera controlcam
canvascan
cardcrd
collectioncol
combo boxcmb (je préfère cbx)
datesdte (je préfère dat)
drop downdrp (je préfère ddl)
formfrm
gallerygal
groupgrp
header page shapehdr
html texthtm
iconico
imageimg
labellbl
page section shapesec
shapes (rectangle, circle, …)shp (je préfère rec pour les rectangles et shp pour le reste)
table datatbl (je préfère tab)
text inputtxt
timertim
etc.

Un contrôle doit avoir un nom unique dans une application. Si un contrôle est réutilisé sur plusieurs écrans, il est recommandé de le suffixer par une abréviation précisant l’écran où il se trouve. Par exemple, un bouton btnHome sur les écrans Search Screen et Customer Screen :

  • btnHomeSS
  • btnHomeCS

Conventions de nommage du code

Variables

Quelques recommandations pour le nommage de vos variables :

  • Donnez-lui un nom qui décrive clairement sa fonction, son rôle
  • Utilisez un préfixe différent selon qu’il s’agit d’une variable locale ou globale
    • loc pour les variables locales
    • gbl pour les variables globales (je préfère glo)
  • N’hésitez pas à utiliser plusieurs mots pour nommer votre variable, sans les séparer par un caractère spécial mais simplement en faisant commencer chaque mot par une majuscule
  • Utilisez le camel case

Exemples :

  • Variable globale : gloFocusedBorderColor
  • Variable locale : locSuccessMessage

Collections

Quelques recommandations pour le choix du nom de vos collections :

  • Utilisez un nom qui représente vraiment le contenu de votre collection
  • Préfixez le nom de votre collection par col
  • Si nécessaire, utilisez plusieurs mots en les faisant commencer chacun par une majuscule
  • Utiliser le camel case

Quelques exemples :

  • colMenuItems
  • colSelectedOrders

Organisation des objets et du code

Organisez à l’aide de groupes

Les contrôles de chacun de vos écrans devraient idéalement être rassemblés dans des groupes. Cela vous facilitera la lisibilité du contenu de vos écrans et vous pourrez déplacer ces groupes plus aisément d’un écran à l’autre. Remarque : les galeries, les formulaire et les graphiques sont déjà des contrôles groupés mais rien ne vous empêche de les mettre également à l’intérieur d’autres groupes.

Voici un exemple :

blog ai3 20101_groupes Recommandations pour la construction d'applications PowerApps

Pour plus de flexibilité dans l’utilisation des groupes, vous pouvez également activer la fonctionnalité expérimentale Essayer le contrôle Groupe amélioré (enhanced Group control). Celle-ci vous permettra d’imbriquer des groupes et de leur affecter des propriétés influant sur les contrôles qu’ils contiennent. Cela permet une gestion plus claire et plus efficace de vos contrôles.

Minimiser le nombre de vos contrôles

Plus il y a de contrôles dans votre application et plus ses performances se dégraderont. Il est donc important d’optimiser le nombre de contrôles. Par exemple, plutôt que d’avoir 4 images s’affichant alternativement à l’aide la propriété Visible, privilégiez un seul contrôle Image avec un peu de code :

blog ai3 Image-22 Recommandations pour la construction d'applications PowerApps

Optimisation du code

Il est possible d’optimiser les structures conditionnelles de type If de la manière suivante :

blog ai3 Image-23 Recommandations pour la construction d'applications PowerApps

…peut s’écrire plus simplement ainsi :

blog ai3 Image-24 Recommandations pour la construction d'applications PowerApps

Egalement, si plusieurs contrôles doit effectuer le même code, préférez l’utilisation d’un bouton masqué contenant le code dans sa propriété OnSelect et utilisez la fonction Select pour le déclencher à partir de vos contrôles.

Recommandations sur le code

Évitez aussi de multiples appels à une fonction qui prend des paramètres en nombre infinis :

blog ai3 Image-25 Recommandations pour la construction d'applications PowerApps

…au lieu de :

blog ai3 Image-25-1 Recommandations pour la construction d'applications PowerApps

Préférez ClearCollect(…) à Clear;Collect(…).

Préférez aussi CountIf(…) plutôt que Count(Filter(…)).

Optimisation des performances

Le OnStart

Pour rappel, cet événement n’est appelé qu’une seule fois au lancement de l’application. Y mettre une quantité importante de code pourrait nuire à l’expérience utilisateur. Par exemple, trop de code dans cet événement pourrait induire un temps d’attente plus ou moins long avant l’affichage du premier écran.

La fonction Concurrent

Pour exécuter du code en parallèle et optimiser le temps d’exécution de certaines portions de code, la fonction Concurrent s’avère très pratique. Elle permet d’éviter l’utilisation de contrôles de type Timer pour le chargement simultané de données.

blog ai3 Image-26 Recommandations pour la construction d'applications PowerApps

Attention à éviter d’y mettre des segments de code interdépendants ; la fonction ne le supporte pas (vous ne pouvez pas définir une variable dans l’une des opération concurrente et la modifier dans une autre).

Pour plus d’information sur l’utilisation de la fonction Concurrent afin d’optimiser les performances de vos applications, consulter ce lien :
https://www.youtube.com/watch?v=xHJvbMEj-so

Délégation et non-délégation

Gardez à l’esprit que certaines fonctions et certains opérateurs peuvent être délégués par le serveur possédant la source de données et d’autres non. L’utilisation de fonctions non-déléguées oblige le chargement de ces données au préalable ce qui induit un temps d’exécution plus long.

Pour mieux comprendre les aspects de délégation, consultez cet article :
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-overview

Collections locales

Privilégiez l’utilisation de collections locales pour stocker les données provenant de votre source plutôt que d’y faire de nombreux appels en direct.

Procédures stockées sur SQL Server

Si vous utilisez SQL Server comme source de données pour votre application, d’énormes gains en performance peuvent être réalisés en déportant le traitement des données via des procédures stockées appelées à partir d’un flux de travail Microsoft Flow.

Code coûteux en performance

Lorsque vous devez exécuter du code pouvant potentiellement être chronophage, suivez ces quelques conseils :

  • N’exécutez pas ce code AVANT l’affichage de votre prochain écran ; affichez d’abord votre prochain écran et mettez votre code dans l’événement OnVisible de l’écran pour qu’il s’exécute en arrière-plan pendant que l’utilisateur prend connaissance du contenu de l’écran
  • Utilisez un message indiquant qu’un chargement ou un traitement conséquent est en cours afin que l’utilisateur patiente quelques instants
  • Utilisez, dans la mesure du possible, la fonction Concurrent pour paralléliser les traitements

Limiter la taille du package de l’application

Bien que PowerApps optimise au maximum le chargement des applications, il est possible de suivre quelques règles pour aller encore plus dans le sens de l’optimisation :

  • Supprimez les médias inutilisés
  • Privilégiez les images SVG aux images PNG ou JPG
  • Réduisez la résolution de votre application si une grosse résolution n’est pas indispensable
  • Supprimez les écrans inutilisés
  • Vérifiez que vous n’avez pas trop de workflows dans une même application. Si vous avez une partie de votre application destinée à des administrateurs et une autre à des utilisateurs, pensez éventuellement à les éclater en deux applications distinctes.

Republiez régulièrement vos applications

La plateforme PowerApps évoluant en permanence, pensez à republier régulièrement vos applications afin de bénéficier de ses nouvelles évolutions et optimisations.

Le design

Styles relatifs par lien parent/enfant

Plutôt que de redéfinir « en dur » des valeurs de mise en forme (taille, position, couleurs, …) pour chaque contrôle, privilégiez l’utilisation de formules rendant plusieurs contrôles dépendant d’un seul. En modifiant la mise en forme du contrôle parent, tous ses enfants se mettront à jour automatiquement. Cela rendra la maintenance du design de votre application beaucoup plus aisée.

Utilisation de galleries

L’utilisation de galeries pour l’affichage de données sera beaucoup plus efficace que l’utilisation de formulaires. Gardez-le à l’esprit afin d’optimiser l’affichage de vos données.

Formulaires

Les formulaires doivent plutôt être utilisés dans le cadre de saisies de données répétitives. Ils sont également très pratiques pour regrouper efficacement des données d’une même source.

Applications à facteurs de formes multiples

Si votre application doit s’exécuter sur des périphériques dont le facteur de forme diffère, créez-là d’abord pour un facteur de forme donné. Testez-la et validez-là puis convertissez-la vers l’autre facteur de forme. Jetez un œil à l’article suivant pour savoir comment effectuer cette conversion :
http://toddbaginski.com/blog/how-to-convert-a-powerapp-from-one-layout-to-another/

Débogage et gestion des erreurs

Il peut être très aisé de gérer les erreurs de votre application à l’aide de contrôles de type Toggle. Utilisez la propriété Default du toggle pour déterminer lorsqu’il y a erreur et utilisez sa propriété OnCheck pour définir le comportement de l’application suite à l’apparition de l’erreur.

D’autre part, utilisez un panel masqué pour y mettre des valeurs de variables ou des indicateurs d’états qui se mettront à jour en temps réel lors de l’exécution de votre application. Cela vous permettra de déboguer votre application beaucoup plus facilement.

D’ailleurs, vous pouvez en profiter pour n’afficher ce panneau de débogage qu’aux concepteurs d’applications PowerApps. Pour cela, utilisez le connecteur PowerApps for Makers de la manière suivante :

blog ai3 Image-27 Recommandations pour la construction d'applications PowerApps

Documentation

Commentaires

Les commentaires sont disponibles dans le code de vos applications PowerApps depuis Juin 2018. Les deux formats suivants sont acceptés :

  • Commentaire de ligne : utilisez le formalisme // pour commenter tout ce qui s’y trouve après, sur la ligne en cours uniquement
  • Bloc de commentaires : utilisez /* et */ pour écrire des commentaires sur plusieurs lignes

Ecrans de documentation

Vous pouvez également créer des écrans où insérer du texte pour documenter à minima votre application. Assurez-vous qu’aucune navigation ne permette à l’utilisateur d’atterrir sur ces écrans afin qu’ils ne soient visibles que des concepteurs d’application dans l’éditeur PowerApps.

blog ai3 Image-28 Recommandations pour la construction d'applications PowerApps

Si vous avez des questions ou des remarques, n’hésitez pas…

PowerApps Développeur – DEPLOYER

Introduction

Dans Office 365 vous ouvrez PowerApps et s’affiche le titre Développez rapidement des applications professionnelles.

Voilà une belle promesse, surtout que ces applications fonctionnent sur smartphone !
Mais qu’en est-il de l’investissement en temps, de la documentation disponible, des limites de ces apps, de leur diffusion, de leur maintenabilité ?

Voyons la réelle étendue des pouvoirs que vous donne PowerApps 😉

Pour développer une application, vous allez :

  1. Définir ou identifier les données manipulées
  2. Concevoir ou générer* vos pages et écrire du code
  3. Publier votre application V1 dans votre tenant O365
  4. Partager cette application avec vos collègues
  5. Demain vous ou une autre personne produira de nouvelles versions

Dans ce second article je me focalise sur les points 1., 3. et 4. : PARTAGER LES DONNÉES / DEPLOYER.

*La génération d’une App est possible depuis une modern list SharePoint
Autre article : PowerApps Developpeur – CODER

Les données

Dans PowerApps comme dans Flow il faut mettre en place un connecteur pour utiliser une source de données, d’ailleurs les 2 produits partagent les mêmes connecteurs.
Le terme connexion est équivalent à connecteur dans PowerApps en Français.

Il existe des connecteurs pour Office 365, pour Azure et aussi  Facebook, Jira, WordPress, …
Une fois qu’un connecteur est créé, il est disponible pour n Apps et n Flows.
Une App ou un Flow peut avoir une seule ou plusieurs sources de données.

Exemple 1 : le connecteur OneDrive Entreprise permet d’utiliser un classeur Excel comme source de données.
PowerApps reconnaît comme table de données chaque objet Tableau, différents tableaux peuvent être présents dans une même feuille de calcul ou des feuilles séparées.

blog ai3 PowerAppsDev10-1024x362 PowerApps Développeur - DEPLOYER

Exemple 2 : le connecteur Utilisateurs d’Office 365 permet d’accéder à son compte utilisateur et aux comptes de son organisation (la capture écran est faite à partir de plusieurs captures).

blog ai3 PowerAppsDev11 PowerApps Développeur - DEPLOYER

Exemple 3 : le connecteur SharePoint permet que votre application affiche et mette à jour une liste SharePoint.  Typiquement vous définissez les données de suivi d’un projet dans un site d’équipe SharePoint puis vous générez une App mobile pour un accès en mobilité.

blog ai3 PowerAppsDev14 PowerApps Développeur - DEPLOYER

Enfin, les API REST permettent aussi les connecteurs personnalisés.

Une fois que vous avez déployé votre application PowerApps, les utilisateurs doivent l’autoriser à utiliser leur identité pour tous les connecteurs concernés.
Exemple avec l’application « PowerApps Training for Office » qui fait partie des modèles d’applications disponibles.

blog ai3 PowerAppsDev12 PowerApps Développeur - DEPLOYER

Voyons maintenant le déploiement d’une application PowerApps.

Déployer

Déployer une application PowerApps c’est :

  • Publier la Version que l’on veut mettre en production
    • La version courante est identifiée par En direct
  • S’assurer que le public ciblé par cette App a bien accès aux données
  • Partager l’application avec d’autres personnes de mon organisation
    • Partage avec 2 collègues, une équipe ou tout le monde pour l’utiliser
    • Partage avec telle ou telle personne pour l’utiliser et la modifier, ces personnes verront les versions publiées et les autres et peuvent être bêta testeurs

blog ai3 PowerAppsDev15 PowerApps Développeur - DEPLOYER

Pour l’utiliser depuis un navigateur sur PC, votre App a une URL que vous trouvez dans sa page Détails.

Sur tablettes et smartphones

blog ai3 PowerAppsDev16-300x223 PowerApps Développeur - DEPLOYERAucune complexité pour déployer des Apps sur les terminaux mobiles. Il suffit d’installer l’application PowerApps qui vous demande votre compte Office 365 et se connecte à votre environnement.

Cette application PowerApps est le lanceur de vos Apps.

En revanche c’est à la conception de votre App que vous indiquez la taille des pages, pensez donc mobile first si vous ciblez un usage nomade.

Conclusion

Cet article examine les points 1., 3. et 4. du développement d’une application PowerApps :

1. Définir ou identifier les données manipulées
2. Concevoir ou générer vos pages et écrire du code
3. Publier votre application V1 dans votre tenant O365
4. Partager cette application avec vos collègues
5. Demain vous ou une autre personne produira de nouvelles versions

Si les données sont définies par le besoin, leur(s) emplacement(s) est à définir pour être accessibles à la population visée. Ceci peut paraître une évidence, mais attention aux évolutions futures.

Vos Apps étant des applications SaaS, les déployer consiste à les partager (les ouvrir) aux utilisateurs. Ce partage se combine avec la notion de versions intermédiaires et de versions publiées.

Article sur les points 2.  et 5.  : PowerApps Developpeur – CODER

PowerApps Développeur – CODER

Introduction

Dans Office 365 vous ouvrez PowerApps et s’affiche le titre Développez rapidement des applications professionnelles.

Voilà une belle promesse, surtout que ces applications fonctionnent sur smartphone !
Mais qu’en est-il de l’investissement en temps, de la documentation disponible, des limites de ces apps, de leur diffusion, de leur maintenabilité ?

Voyons la réelle étendue des pouvoirs que vous donne PowerApps 😉

Pour développer une application, vous allez :

  1. Définir ou identifier les données manipulées
  2. Concevoir ou générer* vos pages et écrire du code
  3. Publier votre application V1 dans votre tenant O365
  4. Partager cette application avec vos collègues
  5. Demain vous ou une autre personne produira de nouvelles versions

Dans ce 1er article je me focalise sur les points 2. et 5. : CODER et MAINTENIR.

*La génération d’une App est possible depuis une modern list SharePoint, ceci est illustré plus avant dans cet article.

Autre article : https://as-ai3-blog-001.azurewebsites.net/PowerApps Developpeur – DEPLOYER

Exemple de besoin

Voici une application ultra simple, sans obligation de définir la structure et l’emplacement des données.

blog ai3 PowerAppsDev02 PowerApps Développeur - CODER blog ai3 PowerAppsDev03 PowerApps Développeur - CODER

Le code

Les instructions sont placées dans les événements (la capture écran est faite à partir de plusieurs captures)

blog ai3 PowerAppsDev04 PowerApps Développeur - CODER

Événement OnVisible de la page Main : la variable locale AddMode prend la valeur True (variable de type booléen).
Événement OnChange du champ Name : la variable locale CurrentName prend la valeur du champ Name.
Événement Default du champ Name : si mode ajout le champ est vide, sinon il contient l’élément sélectionné dans la liste.

Le choix des variables est essentiel pour la maintenance de l’application, ce qui est expliqué plus loin dans cet article. Il est important de les nommer avec soin.

La propriété Text du bouton AddOrUpdate est une formule qui positionne son libellé en « Ajouter » ou « Modifier » en fonction de la variable locale AddMode.
Le code de l’événement OnSelect de ce bouton :

  • La variable mémoire pour une liste est une collection
  • En mode ajout : ajouter un élément à la collection
  • Sinon mettre à jour
  • Puis dans les 2 cas passer en mode ajout (double point virgule pour enchaîner des instructions)

blog ai3 PowerAppsDev05 PowerApps Développeur - CODER

Les captures écran ci-dessus montrent que les utilisateurs aguerris aux formules Excel peuvent facilement faire la transition vers PowerApps.
La documentation PowerApps présente d’ailleurs le language comme des formules.
https://docs.microsoft.com/fr-fr/powerapps/maker/canvas-apps/formula-reference

blog ai3 PowerAppsDev06 PowerApps Développeur - CODERCependant plus les règles métier vont s’enrichir plus le code va être difficile à lire.
Une des idées qui a émergé de la communauté PowerApps  est la mise forme du code, à laquelle peuvent s’ajouter les commentaires « // ceci est un commentaire ».

 

User voice de la communauté PowerApps :
https://powerusers.microsoft.com/t5/PowerApps-Ideas/idb-p/PowerAppsIdeas

 

Au delà de la mise en forme du code et des commentaires, voyons plus généralement la maintenabilité des Apps.

La maintenabilité

Comme dans un classeur Excel avec de nombreuses formules réparties dans différentes cellules, il est difficile d’appréhender le code dans son ensemble.

La 1ère chose qui va fortement nous aider sont les variables, qui peuvent être locales ou globales.
En savoir plus  https://docs.microsoft.com/fr-fr/powerapps/maker/canvas-apps/working-with-variables#types-of-variables

En effet, PowerApps affiche les différentes variables et pour chacune :

  • Où elle est définie (où sa valeur est affectée), par exemple UpdateContext({AddMode: true})
  • Où est utilisée, par exemple If(AddMode;"";MyColl.Selected.Title)
  • Où elle est indirectement utilisée, par exemple :
    • La variable AddMode est utilisée pour initialiser valeur par défaut champ Name
    • Donc Name.OnChange est une utilisation indirecte de AddMode

Ainsi les variables permettent de « suivre le fil » des traitements.

blog ai3 PowerAppsDev07 PowerApps Développeur - CODER

La seconde chose qui va nous aider pour la maintenance est de produire une documentation technique dans une ou plusieurs pages de l’application, tel que :

blog ai3 PowerAppsDev08 PowerApps Développeur - CODER

Générer depuis SharePoint

Quand la source de données est une modern list SharePoint il est possible d’utiliser PowerApps pour personnaliser les formulaires, mais aussi pour créer une application mobile.

En un clic cette application est générée avec les fonctionnalités d’affichage de la liste, tri, recherche, ajout dans la liste, maj, suppression.
Il est ensuite possible de la personnaliser avec son propre code.

blog ai3 PowerAppsDev13 PowerApps Développeur - CODER

Conclusion

Cet article examine les points 2. et 5. du développement d’une application PowerApps :

1. Définir ou identifier les données manipulées
2. Concevoir ou générer vos pages et écrire du code
3. Publier votre application V1 dans votre tenant O365
4. Partager cette application avec vos collègues
5. Demain vous ou une autre personne produira de nouvelles versions

Pour coder une application il faut positionner des formules dans son IHM, cela favorise la prise en main de PowerApps par des personnes qui ne sont pas développeurs.
Pour la maintenance d’une application par d’autres personne que son auteur, je conseille d’appliquer les bonnes pratiques suggérées ici.

PowerApps est adapté aux développements en cycles courts [ Besoin  =>  App V1  =>  App V2  => … ]
Ceci dit le produit est en évolution rapide, cela se voit à travers les nombreuses idées émises par la communauté : Planned(152) Started(34) Completed(158)

Article sur les points 1.  3.  et 4.  : https://as-ai3-blog-001.azurewebsites.net/PowerApps Developpeur – DEPLOYER

Continuous integration for a SharePoint Framework Project

 

blog ai3 Header-1024x195 Continuous integration for a SharePoint Framework Project

 

SharePoint Framework is the development tooling used for the new SharePoint Modern Pages, it allow to create WebPart, List Field Customiser or Page extensions.

In the context of a development project, you may be need to increase the speed of your deployment and testing by using the Azure DevOps Tool Suite. You’ll find below a small tutorial to automate your build and release with Azure DevOps.

The SharePoint Framework package creation with Azure DevOps is splitted in two parts: the creation of the package itself and its deployment to the SharePoint Online App Catalog.

Build Setup :

From the Pipelines menu click on Builds and on New Pipeline, the configuration wizard is displayed:

blog ai3 Create-Build1-300x211 Continuous integration for a SharePoint Framework Project

From this screen, you should select your project, the repository and your target branch. On the next screen, you have the possibility to start from a template but we’ll start from a fresh template, so click one Empty Job

blog ai3 Create-Build2-300x70 Continuous integration for a SharePoint Framework Project

 

To do this job you should had the following steps :

 

  • Task Node Tool Installer

Here we will install the recommended Node Version for SharePoint Framework : 8.11.

blog ai3 Create-Build3-300x155 Continuous integration for a SharePoint Framework Project

  • Task NPM

Here we’re installing all Node Modules for our project

 

blog ai3 Create-Build4-300x182 Continuous integration for a SharePoint Framework Project

 

  • Task Gulp x2

Here we’re adding 2 gulp task to bundle and package our SPFX project

blog ai3 Create-Build5-300x273 Continuous integration for a SharePoint Framework Projectblog ai3 Create-Build6-270x300 Continuous integration for a SharePoint Framework Project

 

  • Task Publish Build Artifacts

Finally we’re publishing the build package to use it in the release pipeline

blog ai3 Create-Build7-279x300 Continuous integration for a SharePoint Framework Project

Release Setup:

There’s several ways to publish a SPFX package : Gulp, PowerShell and the Office 365 CLI. For this tutorial I’ll use the latest method because it is system agnostic ( based on NodeJS ) and easier to use.

First of All, you’ll have to grant the permissions on your tenant to the Office 365 CLI ( just connect to your tenant through this CLI from your computer ).
You can find an installation guide of Office 365 CLI here : https://pnp.github.io/office365-cli/

 

blog ai3 Create-Release1-1024x654 Continuous integration for a SharePoint Framework Project

Once it’s done, we’re ready to create our Release Pipeline.

 

From the Pipelines menu click on Releases, New, and then Release Pipeline: the Configuration Wizard is appearing :blog ai3 Create-Release2 Continuous integration for a SharePoint Framework Project

Click on Empty Job  and define a name for your stage ( for our example the stage name will be SharePoint Online ), once it’s done click on the hyperlink below the stage name and access to the task list:blog ai3 Create-Release3 Continuous integration for a SharePoint Framework Project

Add the following tasks :

 

  • Task Node Tool Installer :

We’re installing the recommended Node version for the Office 365 CLI

blog ai3 Create-Release4 Continuous integration for a SharePoint Framework Project

 

  • Task NPM :

We’re installing the Office 365 CLI

 

blog ai3 Create-Release5 Continuous integration for a SharePoint Framework Project

 

  • Task Command Line :

We’re first connecting to the tenant through a user / password authentication method: tenantUrl, password and username are here Custom Variables

blog ai3 Create-Release7 Continuous integration for a SharePoint Framework Project

  • Task Command Line :

Finally we’re adding the app to the app catalog ( _TestIC-CI is the Artifact Name )

blog ai3 Create-Release8 Continuous integration for a SharePoint Framework Project

To test your work create a new release and your package will be deployed in your tenant catalog !

Alternative aux dépréciations de commandes PowerShell Skype et Teams

Le saviez vous?

Si dans le cadre de l’administration d’infrastructure Skype Team Online, vous utilisiez des commandes Powershell telles que Get-CsActiveUserReport, Get-CsP2PSessionReport, Get-CsUserActivitiesReport, Get-CsConferenceReport… Sachez que ces commandes (et d’autres) ont été dépréciées par Microsoft depuis le début d’année 2018.

blog ai3 depreciated_cmd-300x17 Alternative aux dépréciations de commandes PowerShell Skype et Teams

La solution de remplacement à ces commandes se trouve donc être désormais Microsoft Graph.
Microsoft Graph permet d’accéder aux données et aux renseignements dans Office 365 en utilisant l’API fournie par Microsoft dans le but de créer des applications pour les organisations et les clients afin de se connecter directement à de nombreuse ressources via un point de connexion unique, https://graph.microsoft.com, notamment pour:

– Azure Active Directory
– Les services Office 365: Sharepoint, OneDrive, Outlook/Exchange, Skype Teams…
– …

blog ai3 MSGRAPH-300x187 Alternative aux dépréciations de commandes PowerShell Skype et Teams

Microsoft Graph se connecte à toutes les ressources de ces services à l’aide de relations. Par exemple, un utilisateur peut être connecté à un groupe via une relation memberOf et à un autre utilisateur via une relation manager. L’application peut donc parcourir ces relations pour accéder à aux ressources connectées et effectuer des actions via l’API.

Vous pouvez également obtenir des informations précieuses sur les données de Microsoft Graph. Par exemple, vous pouvez récupérer les informations concernant l’usage de Skype Teams au sein de l’organisation (nombre de session Audio/Vidéo, nombre de connexion, temps de chaque session…)

Ci dessous un exemple de script permettant la récupération des informations concernant l’activité des utilisateurs Skype Online.
blog ai3 example1-1-300x103 Alternative aux dépréciations de commandes PowerShell Skype et Teams
Exemple d’un fichier d’extraction en sortie de script:
blog ai3 example2-300x118 Alternative aux dépréciations de commandes PowerShell Skype et Teams

Source: https://developer.microsoft.com/fr-fr/graph