Optimiser les performances de Project Online

Avec le lancement de Project Online il y a quelques années, les organisations de toutes tailles ont pu utiliser l’ensemble complet de fonctionnalités de gestion de portefeuille de projets (PPM) de Microsoft dans le cadre de notre infrastructure cloud Office 365.

Bien que l’un des avantages évidents de l’utilisation d’un service basé sur le cloud soit d’éviter d’avoir à gérer le déploiement, l’installation et le réglage du matériel et des logiciels, vous pouvez prendre certaines mesures pour vous assurer que votre organisation obtient les meilleures performances de Project Online.

Project Online offre de nombreux paramètres de configuration et de personnalisation, mais les personnalisations peuvent avoir un impact sur les performances. Cet article met en évidence l’impact sur les performances et les compromis de certains des paramètres de Project Online les plus courants. Vous pouvez donc prendre des décisions éclairées en matière de personnalisation et de configuration des Project Online.

Cet article fait partie du projet Planification réseau et réglage des performances pour Office 365 projet.

bonnes pratiques Office 365 et SharePoint Online

Il existe une multitude d’informations sur la planification réseau et l’optimisation des performances pour SharePoint Online et Office 365. Toutes ces informations sont pertinentes pour Project Online clients et doivent être consultées en plus des bonnes pratiques suivantes spécifiques à Project Online.

Project Online configuration et personnalisation

De nombreux éléments d’un site Project Web App peuvent être configurés et personnalisés, des paramètres d’administration aux autorisations, et des paramètres de collaboration à l’apparence. Examinons les paramètres qui peuvent avoir un impact sur les performances globales de votre site Project Web App.

Nous allons aborder les points suivants :

  • Modes d’autorisations de sécurité

  • Types de projets d’entreprise

    • Configuration du site de projet

    • Mécanismes de synchronisation entre Project Online et SharePoint Online

  • Synchronisation du pool de ressources Active Directory

  • Personnalisation et apparence de l’interface utilisateur

  • Pages de détails de projet (PDP) et flux de travail

  • Gestion des événements

  • OData et rapports

  • quota Project Online

(Certaines de ces informations s’appliquent également à Project Server 2013 et Project Server 2016.)

Modes d’autorisation : SharePoint ou Project

Avec Project Online et Project Server 2013, nous avons introduit un nouveau modèle d’autorisation simplifié appelé mode d’autorisation SharePoint, par opposition au mode d’autorisation Project hérité. La comparaison entre les deux modes est disponible sur Technet.

Les nouvelles instances Project Online sont approvisionnées en mode d’autorisation SharePoint par défaut, et nous sommes convaincus que ce mode répond aux besoins de la grande majorité des clients. En utilisant ce mode, vous pouvez gérer les autorisations des utilisateurs via des autorisations et des groupes SharePoint standard.

Le mode d’autorisation de projet offre un haut degré de personnalisation, mais il peut avoir un prix en termes de performances. Si vous créez des centaines de catégories et que vous vous appuyez fortement sur des autorisations dynamiques via votre structure de répartition des ressources (RBS), cela peut ralentir l’expérience de l’utilisateur final pour les utilisateurs qui ont accès à un grand nombre de contenu, tels que les administrateurs et les gestionnaires de portefeuille.

Remarque

Le basculement entre le mode d'autorisation SharePoint et le mode d'autorisation Project Server entraîne la suppression de tous les paramètres liés à la sécurité. Si vous passez du mode d’autorisation SharePoint au mode d’autorisation Project Server classique, vous devez configurer manuellement votre structure d’autorisations de sécurité dans Project Server 2013 et Project Server 2016. Le passage du mode d’autorisation Project Server au mode d’autorisation SharePoint supprime vos informations d’autorisations de sécurité de Project Server 2013 et Project Server 2016.

Recommandation:

Si possible, conservez le mode d’autorisation SharePoint par défaut pour de meilleures performances globales. Si vous devez utiliser le mode d’autorisation Project, limitez autant que possible vos personnalisations.

Types de projets d’entreprise

Un type de projet d’entreprise (EPT) représente un wrapper qui encapsule des phases, des phases, un flux de travail unique et des pages de détails de projet (PDP).

Les EPT vous permettent également de définir :

  • Configuration du site de projet

  • Mécanismes de synchronisation entre Project Online et SharePoint Online

Configuration du site de projet

Les sites de projet reposent sur les fonctionnalités de base de SharePoint. La création de sites de projet n’est pas un processus léger, et décider si et quand votre organisation peut avoir besoin de sites de projet peut grandement aider à améliorer l’expérience globale de l’utilisateur final.

De nombreuses organisations utilisent Project Online pour recueillir et évaluer les propositions de projets avant de décider des projets à financer. Si les sites de projet sont configurés pour être créés automatiquement la première fois qu’un projet est publié, toutes les propositions de projet, même celles qui n’effectuent pas le découpage, obtiennent un site de projet. Ces sites inutiles doivent être nettoyés manuellement par la suite.

Une meilleure approche, si vous décidez d’utiliser des sites de projet, consiste à laisser l’utilisateur choisir quand créer son site de collaboration, ou, mieux encore, à le faire créer par un flux de travail dès que la proposition de projet atteint une certaine porte d’étape.

SharePoint Online limite actuellement le nombre de sous-sites qui peuvent être créés pour chaque collection de sites. Un EPT vous permet de définir la collection de sites dans laquelle créer des sites de projet. Cela vous permet de créer un site de projet pour chaque projet, car vous pouvez les étendre sur plusieurs collections de sites.

Sites de projet dans les collections de sites PWA.

Par exemple, si vous disposez d’une collection de sites dédiée à votre service informatique, vous pouvez configurer votre EPT projets informatiques pour créer des sites de projet à partir de https://contoso.sharepoint.com/sites/IT .

Emplacement de création du site de projet.

Recommandation:

Si votre organisation utilise des sites de projet, sélectionnez l’option pour les créer à la demande plutôt que automatiquement. Cela accélère la première expérience de publication et évite de créer des sites et du contenu inutiles.

Pour chaque EPT, vous pouvez configurer cette option en :

  1. Dans Project Web App Paramètres, cliquez sur Types de projets d’entreprise.

  2. Sélectionnez l’EPT dont vous devez modifier le paramètre.

  3. Dans la page des paramètres EPT, dans la section Site du projet , sélectionnez Autoriser les utilisateurs à choisir.

    Options de création de site de projet.

    Créez des sites de projet dans leur propre collection de sites par l’EPT. Conservez le nombre de sites de projet dans une collection de sites en dessous des limites SharePoint Online SharePoint Online.

Qu’est-ce que vous synchronisez ?

Project Online s’exécute sur SharePoint Online de la même façon que Project Server s’exécute sur SharePoint Server. Par conséquent, nous devons maintenir synchronisé un certain nombre de composants entre deux systèmes. Ces synchronisations peuvent prendre du temps et, en fonction des besoins de votre entreprise, peuvent parfois être inutiles. Cet article explore tous ces différents systèmes de synchronisation pour vous aider à choisir ceux dont vous avez besoin et ceux que vous pouvez désactiver en toute sécurité. Certains de ces paramètres sont déjà désactivés par défaut.

Dans les sections suivantes, nous abordons les points suivants :

  • Synchroniser les autorisations utilisateur pour votre site de projet

  • Synchroniser les listes de tâches SharePoint pour les projets d’entreprise

Synchroniser les autorisations utilisateur

Les sites de projet sont des espaces de travail dans lesquels les équipes de projet peuvent collaborer, charger des documents et soulever des problèmes. Lorsque les autorisations utilisateur de synchronisation sont activées, chaque fois qu’une personne reçoit l’autorisation d’accéder à un projet, les autorisations de site project correspondantes sont mises à jour.

Cette synchronisation se produit chaque fois que le projet est publié. Le compromis pour la commodité de la synchronisation est les performances, par exemple, plus le nombre d’utilisateurs et de sites qui doivent être synchronisés, plus l’opération est lente, en particulier si vous publiez en bloc, importez ou créez plusieurs projets (avec des sites de projets) ou mettez à jour les appartenances aux groupes qui nécessitent une resynchronisation des autorisations de site de projet.

Pour chaque EPT, vous pouvez définir si les autorisations utilisateur de synchronisation sont activées.

Remarque

Si les sites de projet sont créés dans une collection de sites différente de celle où se trouve le site Project Web App (par exemple, https://contoso.sharepoint.com/sites/pwa est l’emplacement où se trouve Project Web App et l’EPT crée des sites de projet dans ), la synchronisation des autorisations utilisateur n’est pas prise en https://contoso.sharepoint.com/sites/ITcharge.

Recommandation:

Nous vous recommandons vivement de désactiver l’option de synchronisation des autorisations de site project si les conditions suivantes sont vraies pour votre déploiement :

  • Vous disposez d’un grand nombre de ressources (>1000)

  • Vous avez un grand nombre de projets qui nécessitent un site Project (>1000)

  • Vous disposez d’un grand nombre de ressources qui doivent être autorisées à accéder à la majorité des sites Project

  • Les sites de projet sont créés en dehors de la collection de sites par défaut (la synchronisation est désactivée)

Voici quelques options à prendre en compte pour gérer les autorisations de votre site Project :

  • Si vos équipes de projet ont un faible taux de roulement, envisagez de désactiver la synchronisation des autorisations de site Project pour améliorer les performances des pages de détails et de publication de projet. Vous devrez ensuite accorder ou supprimer manuellement l’autorisation sur vos sites project chaque fois qu’une personne rejoint ou quitte une équipe de projet.

  • Si l’accès doit être accordé à tous les utilisateurs dans PWA et qu’il correspond à vos autorisations de groupe existantes, envisagez de configurer vos sites Project pour hériter du site PWA parent.

  • Si l’accès au site s’aligne sur des rôles spécifiques, créez un ou plusieurs groupes qui correspondent à ces rôles (éventuellement si la synchronisation de groupe est activée, vous pouvez utiliser les mêmes groupes) et accordez à ces groupes l’accès au site Project.

Pour chaque EPT, vous pouvez activer synchroniser les autorisations d’utilisateur en :

  1. Dans Project Web App Paramètres, cliquez sur Types de projets d’entreprise.

  2. Sélectionnez l’EPT dont vous devez modifier le paramètre.

  3. Dans la page des paramètres EPT, dans la section Synchroniser , sélectionnez Synchronisation des autorisations utilisateur.

    Synchronisation des autorisations utilisateur.

Synchroniser les listes de tâches SharePoint pour les projets d’entreprise

La synchronisation des listes de tâches SharePoint est désactivée par défaut pour améliorer la vitesse de publication du projet. Cela permet également d’accélérer la transition entre les pages de détails du projet. Si vos utilisateurs s’appuient sur la liste des tâches et sa visualisation de chronologie dans le site du projet, vous pouvez activer cette fonctionnalité et vérifier si son impact sur les performances de la publication du projet est raisonnable.

Remarque

Si les sites de projet sont créés dans une collection de sites différente de celle où se trouve le site Project Web App (par exemple, https://contoso.sharepoint.com/sites/pwa est l’emplacement où se trouve Project Web App et l’EPT crée des sites de projet dans https://contoso.sharepoint.com/sites/IT), la synchronisation des listes de tâches SharePoint n’est pas prise en charge.

Action d'amélioration

L’option Synchroniser les listes de tâches SharePoint était destinée à être utilisée avec des plans de petits projets. Si le projet comporte un grand nombre de tâches, leur synchronisation lors de la publication prend un certain temps, car chaque tâche doit être mise à jour une par une. Par exemple, la synchronisation d’un plan de projet de 500 tâches avec la liste des tâches SharePoint prend plusieurs minutes. Même si le travail de file d’attente est sur une corrélation distincte et ne bloque pas l’enregistrement et la modification du plan de projet, nous vous recommandons de ne pas activer l’option Synchroniser les listes de tâches SharePoint. Nous vous recommandons de synchroniser uniquement les projets avec moins de 250 tâches.

Cette option est désactivée par défaut. Activez uniquement la synchronisation des listes de tâches SharePoint si vos utilisateurs ont besoin de la fonctionnalité pour chaque EPT. Pour configurer cette option :

  1. Dans Project Web App Paramètres, cliquez sur Types de projets d’entreprise.

  2. Sélectionnez l’EPT dont vous devez modifier le paramètre.

  3. Dans la page des paramètres EPT, dans la section Synchroniser , sélectionnez Synchroniser les listes de tâches SharePoint.

    Synchroniser les listes de tâches SharePoint.

Synchronisation du pool de ressources Active Directory

La synchronisation du pool de ressources Active Directory en elle-même n’a pas de problèmes de performances particuliers et peut importer des milliers de ressources dans votre instance Project Web App en quelques minutes. Toutefois, son effet en aval sur d’autres parties du système peut avoir un impact sur les performances. Le processus principal à surveiller est la synchronisation des autorisations de ressource mentionnée précédemment. Si l’appartenance à vos groupes Active Directory est importante et que vous devez souvent synchroniser votre pool de ressources, surveillez les effets potentiels en aval sur les tâches de synchronisation d’autorisations associées.

Recommandation:

Limitez la synchronisation Active Directory aux groupes de ressources qui doivent réellement utiliser le système et surveillez les éventuels problèmes d’autorisation après la synchronisation de grands groupes. (Pour configurer la synchronisation du pool de ressources d’entreprise Active Directory, dans Project Web App Paramètres, cliquez sur Synchronisation du pool de ressources Active Directory.

Personnalisations des pages et des vues PWA

Personnalisations de page

La plateforme SharePoint offre d’excellentes fonctionnalités de personnalisation avec son infrastructure de composants WebPart modulaire et la prise en charge des pages personnalisées. Lorsque vous ajoutez des logos, des composants WebPart personnalisés et de nouveaux thèmes, cela peut ne pas avoir un impact significatif sur les performances d’une infrastructure locale en raison des avantages de la proximité du serveur, de la faible latence et des réseaux à bande passante élevée. Toutefois, sur un service en ligne, l’histoire est différente.

Lorsque vous chargez un logo ou un graphique avec une grande taille de fichier, il peut ralentir un peu les pages sur un déploiement local, mais en ligne, les performances sur les chargements de page sont substantielles.

Le même principe s’applique lorsque vous ajoutez plusieurs composants WebPart à une page. Il peut être tentant d’avoir une page personnalisée avec plusieurs composants WebPart, mais à moins que les utilisateurs n’aient réellement besoin de voir les données côte à côte, il est préférable d’avoir des pages spécialisées distinctes plutôt que de les avoir toutes au même endroit. Si les utilisateurs n’ont besoin que du contenu d’un composant WebPart sur la page, ils doivent attendre plus longtemps que la page se charge et affiche les données pour tous les autres composants WebPart.

Recommandation:

Lorsque vous personnalisez des pages, traitez votre site Project Online comme n’importe quel site Web Internet standard et créez des pages légères autant que possible.

Personnalisations des vues

Là encore, la simplicité permet d’améliorer les performances de chargement de page. Les organisations peuvent créer des affichages personnalisés à l’aide de plusieurs pages Project Web App, notamment le Centre de projets, le Centre de ressources, les tâches et les feuilles de temps.

Plus le contenu est affiché, plus le rendu de la page est lent. Vous pouvez réduire le temps de chargement de chaque page de quelques secondes si vous fournissez aux utilisateurs un plus grand nombre de vues simples et ciblées plutôt que quelques vues « tout-en-un ».

Dans les exemples ci-dessous, le chargement de la deuxième vue prend en moyenne 2 à 3 secondes de moins que la première.

Capture d’écran de la vue Centre de projets personnalisée.

Capture d’écran de la vue Centre de projets.

Recommandation:

Lorsque vous configurez des vues, offrez aux utilisateurs des vues spécialisées simples pour accélérer la navigation plutôt qu’une vue tout-en-un complexe qui chargerait des données inutiles la plupart du temps.

Paramètres de l’affichage utilisateur

Centre de projets : Regrouper par avec des correctifs cumulatifs

Les utilisateurs peuvent configurer différentes façons d’afficher la vue, y compris les données regroupées par différents champs. Lorsque vous utilisez group by, les données peuvent être cumulées pour les champs d’agrégation pris en charge (par exemple, la somme des coûts ou un champ personnalisé). Le calcul de ces valeurs agrégées demande au service de charger toutes les valeurs afin d’afficher le total.

Exemple de données regroupées par champs et regroupées pour les champs d’agrégation.

Recommandation:

À moins que l’utilisateur n’ait besoin de voir les valeurs restaurées, désactivez l’option Rollup dans le ruban.

Option de cumul.

Centre de projets : Diagramme de Gantt

La partie graphique de l’affichage Diagramme de Gantt affiche chaque projet sous la forme d’une barre de Gantt récapitulative.

Recommandation:

À moins que l’utilisateur n’ait besoin de voir le Gantt, désactivez l’option Diagramme de Gantt dans le ruban.

Option Diagramme de Gantt.

Pages de détails de projet personnalisées et flux de travail

En plus de la recommandation fournie ci-dessus pour la conception de page, les pages de détails de projet (PDP) sont particulières, car elles peuvent déclencher un recalcul de l’ensemble du projet et lancer des actions de flux de travail, qui peuvent être coûteuses en termes de performances, en fonction de vos personnalisations.

Project Online et Project Server ont deux processus de mise à jour principaux pour les informations sur le projet :

  • Mises à jour nécessitant un recalcul de planification (voir la liste ci-dessous)

  • Champs non planifiés, tels que le nom du projet, la description et le propriétaire.

Nous vous recommandons d’éviter de mettre à jour les deux types de données sur le même PDP pour éviter de déclencher les deux processus de mise à jour en même temps.

Voici une liste des actions les plus courantes qui nécessitent un recalcul planifié.

  • Modifications du calendrier du projet

  • Modifications apportées aux champs de date suivants :

    • Date de début

    • Date de fin

    • Date d’état

    • Date actuelle

  • Modifications dans les champs personnalisés du projet

  • Si le projet a des dépendances vis-à-vis des livrables

Une deuxième façon d’améliorer les performances PDP consiste à réduire le nombre de composants WebPart et de champs personnalisés affichés sur chaque PDP. Si vos processus métier nécessitent des mises à jour fréquentes du même ensemble de champs, créez un PDP dédié avec uniquement ces champs pour améliorer la charge et gagner du temps. L’affichage de tous les champs personnalisés à tout moment entraîne beaucoup de surcharge inutile.

Recommandation:

Créez des PDP spécialisés légers et évitez de mélanger des mises à jour liées à la planification et à des mises à jour non planifiées.

Mises à jour en bloc des champs personnalisés dans les workflows avec la nouvelle API REST

La mise à jour une par une des valeurs des champs personnalisés d’un projet dans un flux de travail nécessite une demande de serveur distincte à l’aide de l’action Définir un champ de projet. Cela réduit les performances lors de la mise à jour d’un grand nombre de champs personnalisés en même temps sur un réseau à latence élevée et à faible bande passante.

Pour résoudre ce problème, il existe une méthode CSOM pour mettre à jour les champs personnalisés en bloc. Cette méthode vous oblige à passer un dictionnaire contenant le nom et les valeurs de tous les champs personnalisés que vous souhaitez mettre à jour.

API pour l’approvisionnement de sites de projet à la demande

Chaque projet peut avoir son propre site SharePoint dédié où les membres de l’équipe peuvent collaborer, partager des documents et soulever des problèmes. Ces sites peuvent être créés automatiquement lors de la première publication ou créés manuellement par le responsable de projet via Project Pro ou l’administrateur via les paramètres Project Web App, ou ils peuvent simplement être désactivés.

Vous pouvez utiliser la méthode CreateProjectSite('') pour décider quand créer leurs sites de projet. Cela est particulièrement utile pour les organisations qui souhaitent créer leurs sites uniquement après qu’une proposition de projet a atteint une étape spécifique dans un flux de travail prédéfini, plutôt qu’à la première publication. Cela améliore considérablement les performances de création de projet en reportant la création de sites project.

Gestion des événements

Les compléments peuvent répondre aux événements déclenchés dans Project Online. Par exemple, un complément peut effectuer une activité supplémentaire après la création d’un projet. Les utilisateurs devront peut-être attendre que ces compléments terminent la gestion des événements avant de pouvoir continuer à travailler avec Project Online.

Recommandation:

Project Online devez être configuré pour gérer certains événements de manière asynchrone afin de réduire le temps d’attente des utilisateurs. Pour ce faire, demandez au développeur de tous les compléments que vous utilisez de s’assurer que leur code est en mesure de gérer les événements After de manière asynchrone. Ils peuvent accéder à cet article pour en savoir plus sur les pratiques qu’ils peuvent suivre pour gérer ces événements.

Si le développeur confirme que le complément est prêt pour la modification, vous devez activer le paramètre Activer le traitement asynchrone des événements après le traitement des événements dans votre page Paramètres PWA .

  1. Dans la page Paramètres PWA , dans la section Stratégies opérationnelles , sélectionnez Paramètres serveur supplémentaires.

  2. Dans la section Gestion asynchrone des événements pour les événements After , assurez-vous que l’option Activer le traitement asynchrone après les événements est sélectionnée.

    Gestion asynchrone des événements pour le paramètre After events.

  3. Sélectionnez Enregistrer.

    Vous devez ensuite tester vos instances pour vérifier que tout fonctionne correctement.

    Remarque

    Ce paramètre ne peut être vu et modifié que par l’administrateur de collection de sites.

OData et rapports

ProjectData OData Service

Project Online dispose d’un service de création de rapports OData qui permet de créer des rapports/visualisations sur les données stockées dans le service. L’API du service de création de rapports OData ProjectData est définie ici.

Les appels au service de création de rapports ProjectData OData sont régis par SharePoint Online. Consultez l’article Éviter d’être limité ou bloqué dans SharePoint Online pour vous assurer que les appels sont moins susceptibles d’être limités et pour implémenter correctement les recommandations de nouvelle tentative et d’interruption exponentielle.

En outre, le fait de suivre les recommandations décrites dans ce document réduit le nombre, la longueur et la fréquence des appels nécessaires à la récupération des données. Si la limitation se produit souvent, vérifiez au sein de l’organisation que plusieurs services peuvent interroger les mêmes données ou ne pas suivre les meilleures pratiques décrites dans cet article et affecter tout le monde.

Rapports chronologiques

Dans Project Online vous pouvez choisir le niveau de granularité dont vous avez besoin pour les données de création de rapports chronologiques. Les options et l’impact des niveaux sont entièrement documentés dans Configurer le cumul des données de rapports chronologiques dans Project Online. Le choix d’un niveau qui génère le moins de données pour vos scénarios permet aux données d’être visibles plus rapidement dans le point de terminaison du service OData Reporting et réduit le temps de téléchargement.

Liste des options par ordre de performances (de la plus performante à la moins performante en fonction de la quantité de données générées) :

  • Jamais

  • Périodes fiscales

  • Mensuelle

  • En semaines

  • Journalière

Les périodes fiscales présentent l’avantage majeur par rapport à Monthly , car les données de rapport sont conservées uniquement pour les périodes fiscales définies, tandis que mensuelles conservent les données pendant toute la durée de tous vos projets.

À l’aide du service OData project, vous pouvez extraire des informations de votre instance Project Online à des fins de création de rapports.

Recommandation:

Stockez le moins de données chronologiques cohérentes avec les besoins de votre entreprise. N’utilisez pas Daily si vous avez des workflows qui attendent la fin de la publication. La génération quotidienne des données requises peut prendre beaucoup de temps, ce qui entraîne l’attente des workflows.

Interrogation du service

Le nombre d’entités pouvant être retournées dans une requête du service OData ProjectData est limité . Par conséquent, l’interrogation d’une grande quantité de données nécessite l’envoi de plusieurs requêtes web au service, ce qui ajoute une surcharge réseau et une latence pour chaque requête.

Recommandation:

Évitez d’effectuer des chargements de données « actualiser tout » complets. Ces actualisations peuvent avoir un impact sur les performances du site PWA, en particulier pendant les pics d’utilisation, ce qui entraîne une dégradation globale des performances des opérations utilisateur dans PWA ou une limitation.

Effectuer des actions d’actualisation Odata après les heures d’ouverture. Les décisions de maintenir des rapports en temps réel ou proches des rapports réels doivent également prendre en compte les compromis en matière de performances pour l’expérience utilisateur dans le site PWA. Si la configuration requise pour « tout actualiser » existe, consultez la section « SQL Server Integration Services (SSIS) – Recommandé pour les jeux de données volumineux ».

Pour une instance Project Web App qui contient un grand nombre d’entités, telles que des projets, des affectations ou des tâches, vous devez limiter les données retournées de l’une des manières suivantes au moins. Si vous ne vous limitez pas les données renvoyées, la requête peut dépasser les limites par défaut et affecter les performances du serveur.

  • Utilisez toujours une option d’URL $filter et $select pour limiter les données. Par exemple, la requête suivante filtre par date de début du projet et retourne uniquement quatre champs, dans l’ordre du nom du projet :

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?$filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&$orderby=ProjectName&$select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • Évitez les champs personnalisés qui sont des recherches à valeurs multiples. Un calcul supplémentaire est nécessaire pour traiter les valeurs de champs personnalisés qui sont des recherches à valeurs multiples. Ces champs ne sont pas en mesure de tirer parti de plusieurs optimisations qui ont été implémentées pour des scénarios clients plus courants. Si des champs personnalisés à valeurs multiples ont déjà été configurés, améliorez la vitesse de recherche et la fiabilité en vous assurant qu’aucun de ces champs n’est spécifié dans votre requête Odata filtrée.

  • Interrogation d’entités par clé ou association. Lorsque vous interrogez des entités, reportez-vous au document de métadonnées à l’adresse https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/$metadata. Dans la mesure du possible, interrogez l’entité de l’une des manières suivantes :

  • Keys

    Remarque

    S’il y a plusieurs clés, l’utilisation de la première clé est plus efficace que la seconde.

  • Associations

    Par exemple, vous pouvez interroger l’entité Assignment via AssignmentId et ProjectId :

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12' and ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    
    or
    
    https://ServerName/ProjectServerName/_api/ProjectData/Assignments(AssignmentId=guid'719d849a-79b4-e911-b073-00155d9c3d12',ProjectId=guid'b5b02399-79b4-e911-b073-00155d9c3d12') 
    

    via AssignmentId :

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12'
    

    via ProjectId :

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter= ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    

    via l’association via Project :

    https://ServerName/ProjectServerName/_api/ProjectData/Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • Effectuez plusieurs requêtes pour renvoyer des données page par page, en utilisant l’opérateur $top et l’opérateur $skip en boucle. Par exemple, la requête suivante obtient les problèmes 11 à 20 pour tous les projets, dans l’ordre de la ressource affectée au problème :

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Évitez de récupérer le nom du projet,de la tâche ou de la ressource lors de l’interrogation de l’entité d’affectation . Le service effectue un traitement supplémentaire pour récupérer les noms respectifs. Si les données ont déjà été récupérées à partir d’autres requêtes, ne les incluez pas dans le filtre $select lors de l’interrogation de l’affectation.

Recommandation:

  • Limitez la quantité de données que vous interrogez au moment de l’exécution en utilisant le filtrage côté serveur pour récupérer uniquement les colonnes dont vous avez besoin. L’impact de ceci est le plus visible avec les champs personnalisés. Ajoutez les champs personnalisés uniquement si vous en avez besoin.

  • Vérifiez que vous filtrez sur la clé d’entité. La clé d’entité est indexée et offre une expérience de récupération de données beaucoup plus performante. Vous pouvez trouver la ou les clés de chaque entité en consultant le document de métadonnées de service dans votre instance PWA : https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

Récupération de données et création de rapports

PowerBI

Si la quantité de données est faible, Power BI peut lire régulièrement des données à partir du service Project OData et fournir divers rapports dynamiques. Vous trouverez un exemple de pack de contenu ici.

Si la quantité de données dans Project Online est importante, vous pouvez toujours importer un sous-ensemble des données tant qu’il respecte les limites de taille des données PowerBI décrites ici. Une autre option consiste à créer vos rapports dans une fenêtre mobile, c’est-à-dire en filtrant les projets qui étaient actifs au cours des 30 derniers jours ou en affichant la capacité des ressources pour les 6 prochains mois. Passez en revue la section $filter/$select pour connaître les meilleures pratiques, car PowerBI peut ne pas tirer parti des optimisations de filtrage côté service.

Excel OData

Excel peut être utilisé pour télécharger des données et créer des visualisations/rapports personnalisés. Si la quantité de données dans Project Online est importante, un sous-ensemble des données peut utiliser une fenêtre mobile, c’est-à-dire le filtrage des projets actifs au cours des 30 derniers jours ou l’affichage de la capacité des ressources pour les 6 prochains mois. Passez en revue la section $filter/$select pour connaître les meilleures pratiques, car Excel peut ne pas tirer parti des optimisations de filtrage côté service.

SQL Server Integration Services (SSIS)

À l’aide de SSIS, Project Online données de création de rapports peuvent être téléchargées à partir du service Project OData dans une base de données SQL Server locale ou dans Microsoft Azure. Une fois téléchargés, tous les rapports/visualisations peuvent être créés. Un autre processus est nécessaire pour que les données locales restent synchronisées avec Project Online.

Lorsque vous utilisez SSIS, utilisez le modèle suivant pour lequel Project Online a été optimisé. Le modèle réduit le temps nécessaire à la récupération et à la synchronisation des données locales. En outre, téléchargez uniquement les champs nécessaires pour répondre aux besoins de l’entreprise. Moins les champs interrogés sont réduits, plus les données peuvent être récupérées rapidement.

Synchronisation complète

Récupérez l’instantané actuel des données de création de rapports qui vous intéressent. Utilisez la méthode suivante pour récupérer efficacement Project et les entités associées.

Par exemple, à l’aide de l’entité Project .

  1. Interrogez projectId à partir de l’entité Project, y compris les filtres supplémentaires. Par exemple, filtrez les projets qui ont des dates de début ou de fin spécifiques.

  2. Interrogez l’entité Project en spécifiant les champs qui doivent être téléchargés, en filtrant sur un Seul ProjectId précédemment récupéré. Incluez le ProjectModifiedDate tel qu’il est utilisé dans le modèle de synchronisation delta ci-dessous.

  3. Répétez l’étape 2 pour chaque ProjectId. En outre, pour chaque ProjectId, téléchargez les données des entités associées.

Par exemple, à l’aide de l’entité Task :

  1. Interrogez le TaskId à partir de l’entité Task en filtrant sur tous les champs supplémentaires, ainsi que sur le ProjectId du projet de l’étape précédente.

  2. Interrogez l’entité Task en spécifiant les champs qui doivent être téléchargés et en filtrant sur un Id de tâche unique précédemment récupéré. Incluez le TaskModifiedDate tel qu’il est utilisé dans le modèle de synchronisation delta ci-dessous.

  3. Répétez cette opération pour chaque Id de tâche.

    De même, utilisez la même approche pour chaque entité associée, par exemple Assignment, TaskTimephasedData

Les étapes précédentes s’appliquent à d’autres groupes d’entités, par exemple, lors de la récupération des informations de feuille de temps :

  • Feuille de temps : récupérez timesheetId et ModifiedDate en fonction des critères de filtre, puis les enregistrements de feuille de temps, puis timeSheetLines en filtrant sur timeSheetId et poursuivez avec d’autres entités associées, en veillant à ce que vous filez par id de clé primaire (TimesheetUID) et les champs de date de modification.

Lors de la récupération des informations d’entité de ressource :

Delta Sync

Vérifiez régulièrement pour maintenir à jour la copie locale des données de création de rapports. Répétez les étapes ci-dessous si nécessaire pour le groupe d’autorisations respectif, par exemple, Feuille de temps, Ressource...

  1. Interrogez tous les ProjectId et la date de modification à partir du point de terminaison project à l’aide de critères $filter.

  2. Supprimez le projet local et les enregistrements associés (Tâches, Affectations, etc.) où le ProjectId n’existe plus.

  3. Lorsque la date de modification du service et la date de modification locale sont différentes pour l’enregistrement du projet, interrogez le point de terminaison du projet pour obtenir tous les champs obligatoires en filtrant sur un seul ProjectId à la fois. En outre, pour chaque ProjectId, téléchargez les données des entités associées.

Par exemple, à l’aide de l’entité Task :

  1. Interrogez taskId et TaskModifiedDate à partir de l’entité Task en filtrant sur tous les champs supplémentaires, ainsi que sur le projectId de l’étape précédente où les données ont changé, c’est-à-dire que la date de modification du service Project ne correspondait pas à la date de modification locale.

  2. Supprimez les enregistrements locaux et associés pour TaskId qui n’existe plus.

  3. Lorsque la date de modification du service et la date de modification locale sont différentes, interrogez le point de terminaison d’entité respectif en passant TaskId et la clé primaire d’entité et mettez à jour la version locale.

Répétez cette opération pour chaque entité associée, par exemple Assignment, TaskTimephasedData.

quota Project Web App

Par défaut, le site Project Web App est fourni avec une limite de 25 Go et est distinct de la limite sur toutes les données stockées dans la collection de sites SharePoint où Project Web App est activé. L’utilisation des options de granularité des rapports pour réduire votre volume de données peut vous aider à rester dans le quota.

Remarque

Le quota PWA peut être augmenté (par incréments) jusqu’à un maximum de 100 Go. Un nouveau site PWA sera nécessaire une fois la limite de quota atteinte. Les augmentations au-delà de 50 Go nécessitent que le site PWA n’utilise plus l’option de granularité des rapports chronologiques quotidiens . Pour discuter de l’augmentation du quota de sites PWA, contactez Microsoft.

Conclusion

Project Online, comme tout service cloud s’exécutant sur Internet, nécessite un réglage spécifique pour offrir les meilleures performances par rapport à un déploiement local.

Bien que nous améliorions constamment le système pour accélérer les performances, vous pouvez prendre certaines mesures en attendant pour offrir une bonne expérience à vos utilisateurs finaux.

Recommandation récapitulative :

  • Utilisez le mode d’autorisation SharePoint si possible.

  • Activez uniquement les fonctionnalités que vous utiliserez réellement.

  • Conservez les pages et la personnalisation aussi simples et légères que possible pour accélérer les temps de chargement des pages.

  • Utilisez le filtrage côté serveur ou exportez des données de flux Odata vers une base de données SQL Server pour plus de flexibilité de création de rapports.

  • Choisissez une option de granularité de création de rapports qui utilise le moins de données qui répond à vos besoins en matière de création de rapports.

Frontières et limites du logiciel Microsoft Project Online