IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft a reconstruit Teams de A à Z et promet des performances deux fois plus élevées
La nouvelle application Teams est deux fois plus rapide et utilise 50 % de ressources en moins

Le , par Bruno

26PARTAGES

4  0 
Microsoft a annoncé la sortie de la nouvelle version de Microsoft Teams dans un post publié le 27 mars. Elle arrive avec d'importantes améliorations des performances et des changements d'interface utilisateur. Microsoft Teams a été totalement remanié pour fonctionner plus rapidement et avoir une interface plus simplifiée. Microsoft Teams a été entièrement repensé, et un nouvel aperçu est disponible pour permettre aux entreprises d’essayer la grande refonte qui a été élaborée pendant des années. « Le nouveau Teams est plus rapide, plus simple et plus flexible que jamais », déclare Sumi Singh, CVP de l'ingénierie pour Microsoft Teams, dans une interview. « Nous avons fait d'énormes progrès en matière de performances et de convivialité. La nouvelle application Teams est deux fois plus rapide et utilise 50 % de ressources en moins.

Microsoft Teams est une application de communication collaborative propriétaire en mode SaaS officiellement lancée par Microsoft en novembre 2016. L'installation de la nouvelle application Microsoft Teams devrait être trois fois plus rapide et le lancement ou la participation à des réunions deux fois plus rapide. Microsoft indique que la nouvelle application Microsoft Teams devrait également consommer 50 % de mémoire en moins et 70 % d'espace disque en moins. Il s'agit là d'améliorations significatives des performances, en particulier si l’utilisateur constate des ralentissements dans l'application Teams actuelle.

Microsoft Teams : Avantages de la nouvelle architecture

Microsoft Teams a réalisé un investissement important dans la réarchitecture de son client de bureau, en mettant l'accent sur la simplification de l'expérience utilisateur. Ce billet donne un aperçu des objectifs et des avantages attendus de la modularisation et de la stratification qui ont été mises en œuvre. La version grand public de Microsoft Teams a déjà commencé à utiliser cette nouvelle architecture, et la version preview de la mise à jour pour les clients commerciaux sera d'abord disponible pour Windows, avec une prise en charge pour le web, Mac, EDU (éducation), et VDI (infrastructure de bureau virtuel) qui suivra plus tard dans l'année.


Le client classique de Microsoft Teams utilisait des logiciels open-source tels qu'Electron comme hôte, AngularJS comme cadre de développement web, et une variété de contrôles personnalisés construits à l'aide de HTML et CSS. Lorsque le développement de Teams a commencé en 2015, ces choix ont permis la livraison rapide de clients multiplateformes pour le web et les ordinateurs de bureau. Cependant, au fur et à mesure que les capacités et l'innovation de Teams se sont développées de manière significative au fil du temps, elles ont mis à rude épreuve les ressources des appareils.

Consciente de cette situation, l'équipe a commencé à analyser les technologies disponibles, à effectuer des analyses comparatives, à construire des prototypes et à définir la nouvelle architecture, connue en interne sous le nom d'« étoile polaire ». Parmi les décisions clés prises, citons la participation et la normalisation de la collection de contrôles UX Fluent UI, le passage d'Angular à React pour la construction des interfaces utilisateur, le déplacement du traitement des données du fil principal vers un travailleur de couche de données client et, enfin, le passage d'Electron à l'utilisation de WebView2 en tant qu'hôte.


Afin d'assurer une transition en douceur pour nos clients et de continuer à fournir une nouvelle valeur pendant le développement de la nouvelle architecture, l'approche stratégique suivante a été mise en œuvre. Nous avons d'abord intégré certains des composants construits à l'aide de React/Fluent dans le client Teams classique.

Bien que cela ait amélioré les performances des composants, cela a entraîné une lenteur générale et une utilisation accrue des ressources, car nous faisions fonctionner deux frameworks dans le client Teams classique. Le client grand public a ensuite été construit sur la base de la nouvelle architecture, parce qu'il nécessitait moins de fonctionnalités que le client commercial et ne disposait pas d'un client Teams classique à partir duquel basculer.

Cela a réduit les risques en nous permettant de valider les mesures de performance et de fiabilité de la nouvelle architecture dans le client grand public et, en parallèle, de continuer à ajouter des fonctionnalités très demandées dans le client Teams classique. La phase suivante a consisté à étendre la base de code du client grand public afin d'ajouter la prise en charge des fonctionnalités commerciales pour soutenir cette nouvelle version de Teams tout en validant les résultats de l'amélioration des performances.

Chaque couche comporte des avantages et des bénéfices pour une nouvelle expérience Teams :

Fluent UI

La collection de contrôles d'expérience utilisateur (UX) Fluent UI nous a permis de standardiser les composants communs et d'obtenir des résultats cohérents sur toutes les plateformes. L'utilisation de ces styles et contrôles réactifs et multiplateformes a permis d'améliorer la réactivité par rapport à la plupart de nos contrôles personnalisés et d'assurer une expérience cohérente et cohésive sur tous les appareils. Nous sommes en train de migrer vers Fluent v9, qui offre des avantages notables en termes de performances avec CSS-in-JavaScript.

React

La décision de passer d'AngularJS à React a été principalement basée sur les caractéristiques de performance et les résultats d'analyse comparative spécifiques à nos cas d'utilisation. Ce changement et les choix avec la réécriture ont abouti à une base de code plus petite et plus modulaire, un meilleur support pour les composants partageables et une réactivité accrue. Nous avons observé que React était mieux adapté à nos scénarios et que ce changement a été bénéfique pour les performances globales de l'application.

Couche de données du client

L'une des principales caractéristiques de JavaScript est sa nature monothématique. Pour surmonter cette limitation, nous avons mis en œuvre une solution en déplaçant la gestion des données vers un travailleur séparé, connu sous le nom de couche de données du client. Cela a permis de récupérer des données, de les stocker, d'effectuer des opérations de conformité des données, de transmettre des notifications push et d'exécuter des fonctionnalités hors ligne dans des threads parallèles, sans ajouter de contention au thread principal de l'interface utilisateur.

La couche de données du client est accessible via une couche GraphQL à partir du fil d'exécution principal, et la communication interprocessus (IPC) sert de connexion entre ces couches. En déchargeant le traitement des données du fil principal, nous avons observé une amélioration de la réactivité de l'expérience utilisateur. En outre, la séparation des tâches a permis d'obtenir un code plus propre et plus optimisé.

WebView2

Les principaux avantages observés lors de la transition d'Electron à WebView2 sont une utilisation réduite de la mémoire et une empreinte disque réduite, les ressources étant partagées avec Edge. En outre, nous avons été en mesure de tirer un meilleur parti des capacités natives fournies par WebView2 et d'assurer la prise en charge de versions plus récentes de Chromium (dernières mises à jour de performance et de sécurité).

WebView2 est disponible en tant que SDK pour la création d'applications hybrides multiplateformes, ce qui permet une utilisation plus efficace des ressources et une meilleure intégration avec la plateforme sous-jacente, avec pour résultat une application plus performante et plus fiable. Cette transition a été une étape positive pour offrir une meilleure expérience à l'utilisateur.

Au-delà de la mise à niveau de la technologie de base, Microsoft a également investi massivement dans la performance, la stabilité, la facilité d'utilisation et une plus grande flexibilité. Voici quelques exemples de ces investissements.


Pipeline de rendu vidéo amélioré

Les habitudes et les attentes des gens en matière de réunions en ligne ont considérablement changé pendant la pandémie. La demande d'utilisation accrue de la vidéo dans les réunions et l'intensité de cette utilisation ont explosé.

Alors que l'équipe de Teams s'efforcait d'augmenter rapidement son infrastructure dorsale de diffusion audio/vidéo, elle a également reconstruit l'architecture de rendu vidéo côté client dans Teams pour l'adapter à la complexité et à l'intensité de l'utilisation de la vidéo. Microsoft a développé de A à Z un plan de réunion plus efficace pour une meilleure gestion de la vidéo, une liste virtualisée pour une navigation plus fluide, et nous sommes passés à un compositeur et à un moteur de rendu natifs pour le traitement des médias.

La nouvelle architecture vidéo est beaucoup plus efficace dans le traitement vidéo, ce qui se traduit par une consommation d'énergie réduite de 50 % et permet à l'application Teams de prendre en charge des fonctions vidéo plus complexes et plus avancées (par exemple, une grille vidéo 7x7, des vues dynamiques) sur un plus large éventail de matériel.

Ces améliorations ont été introduites dans Teams classique, mais elles sont également prises en charge dans Teams nouveau et d'autres améliorations sont à venir.

Adopter l'Open Source

Microsoft se dit toujours déterminé à utiliser du code source ouvert dans son processus de développement. Par exemple, elle a mis en œuvre l'utilisation de lage, ce qui a permis d'accélérer les temps de construction. En outre, Playwright s'est avéré être un framework fiable pour les tests et l'automatisation. « Cela nous a rendu plus agiles, et nous avons constaté que souvent ces paquets open source offrent le meilleur de la race et apportent les meilleures caractéristiques de performance », a déclaré Sumi Singh de Microsoft Teams.

Dans la nouvelle application Teams, Microsoft a également ajouté un clavier plus efficace pour Activity, Chat et Teams, une aide contextuelle pour les raccourcis clavier, le support de Windows 11 High Contrast, et une performance améliorée pour les utilisateurs de lecteurs d'écran. Tirant parti de l’intégration native avec Windows 11, la nouvelle version de Teams exploite les notifications de toasts du système d'exploitation qui respectent les paramètres de Windows 11 tels que « Ne pas déranger » et le centre de notification.

Nouvelle architecture du bureau Teams

Le diagramme ci-joint présente une vue d'ensemble des principaux éléments qui composent l'architecture du client de bureau. L'hôte natif tire parti de Edge WebView2, GraphQL est utilisé pour abstraire la couche de données du client, la communication inter-processus (IPC) fait office d'agent de connexion, et ReactJS, TypeScript et Fluent UI sont les technologies normalisées utilisées pour l'expérience utilisateur. Les applications construites sur la plateforme Teams n'ont plus besoin d'un wrapper WebView. Les applications sont désormais hébergées dans une iFrame hors processus à l'aide du processus Edge Renderer.


Réunions à grande échelle

Les réunions Teams sont largement utilisées pour les communications à grande échelle au niveau de l'organisation ou de l'entreprise, au-delà de la collaboration point à point en petits groupes. Nous avons apporté des améliorations ciblées en termes de performances et d'échelle dans nos expériences de réunions à grande échelle dans Teams, où il y a généralement des milliers ou plus de participants simultanés avec une forte utilisation de la vidéo et des chats.

Les optimisations ont porté sur la mise en lot et la réduction des événements IPC, la réduction du nombre de rendus de l'interface utilisateur et l'élimination des expériences bruyantes. Grâce à ce travail d'optimisation, nous pouvons désormais offrir une latence de connexion aux réunions plus rapide et cohérente, ainsi qu'une réactivité de l'application, quelle que soit la taille de la réunion.

Multi-comptes / Multi-tenants

Microsoft a entrepris une révision complète de notre support pour les organisations multi-locataires et multi-comptes. Cela inclut des améliorations significatives des processus d'authentification, de synchronisation et de notification. Les données de stockage des utilisateurs, y compris les applications créées sur les plateformes Teams, sont isolées à travers les locataires et les comptes.

Par conséquent, les utilisateurs peuvent désormais s'attendre à une expérience de collaboration fluide et améliorée entre les locataires et les comptes, avec des notifications de chat, d'appel et de début de réunion provenant de tous les locataires ou comptes connectés, simultanément, quel que soit le locataire ou le compte dans lequel ils sont actuellement actifs. Le passage d'un locataire à l'autre se fera également de manière transparente et beaucoup plus rapidement qu'auparavant.

Rationalisation de l'installation des applications (MSIX)

Afin d'améliorer la distribution de notre client sur les appareils Windows, nous avons mis en place un support pour MSIX. Il en résulte une nette amélioration de la fiabilité des installations et des mises à jour d'applications, ainsi qu'une diminution de l'utilisation de la bande passante du réseau et de l'espace disque. L'installation dans le dossier Program Data permet une installation unique pour tous les utilisateurs d'un appareil. En outre, les administrateurs locataires peuvent s'appuyer sur Microsoft Intune pour gérer les déploiements de Teams et alléger le fardeau de l'installation pour les utilisateurs.

Renforcer la sécurité

Nous avons pris des mesures pour renforcer la protection de notre système en adoptant des types de confiance et en mettant en œuvre une politique de sécurité du contenu plus stricte. Ces efforts ont permis de renforcer notre protection contre les attaques de type cross-site scripting (XSS). Un autre avantage clé de l'installation MSIX de Teams est qu'elle installe l'application dans le dossier de données du programme plutôt que dans le dossier du profil de l'utilisateur qui n'est pas accessible en écriture par l'utilisateur, ce qui ajoute une meilleure protection contre les attaques qui tentent de modifier l'installation.

Obtenez ce dont vous avez besoin (données partielles)

Pour relever le défi de la gestion de quantités importantes de données et de threads au sein de Teams, qui peut avoir un impact négatif sur les performances, nous sommes passés à un modèle de données partielles. Cette approche consiste à n'extraire que les données nécessaires au rendu d'un écran, plutôt que d'extraire toutes les données par défaut. Cela a également permis d'améliorer considérablement l'utilisation de la mémoire et du disque du produit.

Passage du polling aux notifications push

Nous sommes passés d'un système de sondage pour la mise à jour des politiques, des événements du calendrier et des canaux épinglés à un modèle de push. Cette approche améliore l'expérience de l'utilisateur et réduit la charge de travail du client.

Optimiser la mémoire

Certaines stratégies utilisées pour améliorer les performances ont parfois un coût en termes de mémoire (par exemple, la mise en cache des données dans la mémoire, la récupération anticipée des données ou le préchargement du code). Bien que certaines de ces techniques aient un coût en termes de mémoire, nous avons ajouté la possibilité de faire ces choix de manière dynamique en fonction du modèle d'utilisation observé par le client.

En outre, plusieurs des optimisations en matière de performances, qui ont consisté à réduire la quantité de données recherchées, traitées et stockées localement, ont permis de réduire de manière significative la consommation de mémoire. L'un des éléments clés de notre architecture consistait en de meilleures stratégies de regroupement du code afin de ne fournir que le code nécessaire. Microsoft a également vidé périodiquement la mémoire inutilisée en exploitant les API de Windows et de webview2.

Développer l'infrastructure et les outils de performance

Dans le but d'atteindre les objectifs de performance, l'équipe de Teams a développé son infrastructure et ses outils de performance internes. Des tests automatisés étendus sont exécutés et doivent passer par des portes établies, et des tableaux de bord d'expérimentation qui peuvent bloquer les demandes d'extraction, après chaque vérification, et tout changement qui entraîne une régression des performances est soit annulé, soit optimisé pour résoudre le problème.

Ce processus est soutenu par des tableaux de bord complets, des systèmes d'alerte et une équipe dédiée à la performance. En outre, grâce à un partenariat continu avec Edge, l'équipe de Teams a mis à la disposition de tous plusieurs améliorations de l'outillage.


Cela a été un véritable parcours du combattant et nous continuerons à pousser et à investir des ressources pour optimiser l'expérience. Le nouveau Teams prend en charge les plateformes Windows Intel, AMD et ARM et sera bientôt disponible pour toutes les principales plates-formes, y compris le Web, les Macs natifs M1, M2 et Intel, ainsi que les VDI. Microsoft prévoit de partager des gains de performance significatifs au fur et à mesure que la prise en charge de chacune de ces plateformes sera disponible.

En ce qui concerne l'IA, le nouveau client Teams est également considéré comme la base du travail futur de Microsoft avec son assistant Copilot et d'autres fonctionnalités basées sur l'IA pour Teams. « Les expériences d'IA nécessitent toutes une itération et une expérimentation très rapides », explique M. Singh. « Vous n'obtiendrez pas la perfection du premier coup, il y a donc beaucoup d'apprentissage supervisé, d'apprentissage non supervisé, d'apprentissage à partir des utilisateurs, et cette architecture nous permet vraiment de faire cela ».

Microsoft a déjà détaillé ses plans pour Copilot dans Microsoft Teams, où vous serez en mesure d'inviter l'assistant IA dans les discussions de groupe pour effectuer des tâches telles que la planification des réunions, ou il apparaîtra dans les réunions et les discussions sur la barre latérale pour aider à des tâches telles que le résumé, les récapitulatifs ou les questions d'ordre général. La fonction de chat professionnel de Copilot existera également dans Teams sous la forme d'un chatbot que vous pourrez utiliser comme assistant personnel pour extraire des données et des informations de l'ensemble des services et des applications de Microsoft 365.

Le nouveau client Teams de Microsoft sera disponible en mode preview dès aujourd'hui, car l'entreprise recueille des commentaires avant de le déployer plus largement dans le courant de l'année. Les entreprises devront faire partie de l'aperçu public de Microsoft Teams pour y avoir accès, et un nouveau bouton « essayer le nouveau Teams » apparaîtra dans le coin supérieur gauche de l'application existante. Vous pourrez revenir à l'application Teams classique si nécessaire.

Il y a cependant quelques lacunes dans les fonctionnalités de la version préliminaire. Les entreprises ne pourront pas accéder à des applications tierces ou à des applications de ligne d'activité (LOB) dans la version préliminaire, ce qui constitue pour l'instant un grand absent de la nouvelle expérience Teams. Certaines fonctions d'appel avancées, comme les files d'attente, sont également absentes, de même que des fonctions de réunion avancées, comme les salles de réunion.

Vous devrez également utiliser Windows pour accéder au nouveau client Teams. Microsoft travaille sur une version Mac améliorée, mais elle ne sera pas disponible en avant-première dans l'immédiat. Le nouvel aperçu de Teams n'est pour l'instant disponible que pour les utilisateurs commerciaux, et Microsoft indique qu'il prévoit de l'apporter à l'éducation, aux nuages gouvernementaux et à des plateformes telles que VDI et le web plus tard dans l'année.

Source : Microsoft

Et vous ?

Utilisez-vous Microsoft Teams pour votre communication collaborative ? Sinon, quel outil utilisez-vous ?

Que pensez-vous de Microsoft Teams ? Quelle appréciation faites-vous des améliorations apportées par Microsoft à Teams ?

Voir aussi :

Microsoft prépare une nouvelle version de Teams entièrement reconstruite avec de meilleures performances dont une préversion est prévue pour mars, selon un rapport

Microsoft Teams compte désormais plus de 270 millions d'utilisateurs actifs mensuels, soit 20 millions d'utilisateurs mensuels de plus que six mois auparavant

Microsoft effacera les données des utilisateurs pros Teams sur la version gratuite s'ils ne passent pas à une offre payante, le nouveau Teams gratuit ne conservera pas les discussions ou les réunions

Microsoft lancera Teams Premium, une version payante de Teams destinée aux entreprises, en février 2023 et certaines fonctionnalités actuellement accessibles à tous seront désormais payantes

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de archqt
Membre émérite https://www.developpez.com
Le 28/03/2023 à 15:58
Pourquoi ne pas le faire en C++ avec un framework multi-plateforme ? Sauf erreur il y a un rapport 2 de vitesse entre javascript et le C++. Il me semble que Skype, racheté pas Microsoft, était fait soit en Pascal (Delphi) soit en C++ en fonction de l'OS.
0  0 
Avatar de chasis.fan
Nouveau membre du Club https://www.developpez.com
Le 02/11/2023 à 15:40
Voila pour les constations ancien vs nouveau teams en terme de ressources mémoire et occupation disque
0  0