Optimiser les performances de Project Online

Importante

Microsoft Project Online sera mis hors service le 30 septembre 2026. Pour plus d’informations, reportez-vous à cette annonce : Mise hors service de Microsoft Project Online : Ce que vous devez savoir.

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 portefeuilles de projets (PPM) de Microsoft tout en bénéficiant de la commodité de notre infrastructure cloud Office 365.

Bien que l’un des avantages évidents de l’utilisation d’un service cloud évite d’avoir à gérer le déploiement, la configuration et le réglage du matériel et des logiciels, vous pouvez encore effectuer certaines étapes pour vous assurer que votre organisation tire le meilleur parti de Project Online.

Project Online propose de nombreux paramètres de configuration et de personnalisation, mais les personnalisations peuvent avoir un impact sur les performances. Cet article décrit l’impact sur les performances et les compromis de certains des paramètres de Project Online les plus courants, afin de vous permettre de prendre des décisions éclairées en matière de personnalisation et de configuration de Project Online.

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

Meilleures pratiques concernant Office 365 et SharePoint Online

Il existe une mine d’informations sur la planification réseau et le réglage des performances pour SharePoint Online et Office 365. Toutes ces informations sont pertinentes pour les clients de Project Online et doivent être consultées en plus des meilleures pratiques suivantes spécifiques à Project Online.

Configuration et personnalisation de Project Online

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

Nous couvrirons :

  • Modes d’autorisations de sécurité

  • Types de projets d’entreprise

    • Configuration du site du projet

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

  • Synchronisation de la liste des ressources partagées Active Directory

  • Personnalisation de l’interface utilisateur et apparence

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

  • Gestion des événements

  • OData et rapports

  • Quota de 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 peut être trouvée sur Technet.

Les nouvelles instances de Project Online sont configurées par défaut en mode d’autorisation SharePoint. Nous sommes convaincus que ce mode répondra aux besoins de la grande majorité des clients. Ce mode vous permet de gérer les autorisations des utilisateurs via des autorisations et des groupes SharePoint classiques.

Le mode d’autorisation Project 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 la structure de vos autorisations de sécurité dans Project Server 2013 et Project Server 2016. Le retour du mode d’autorisation Project Server au mode d’autorisation SharePoint supprime vos informations d’autorisations de sécurité de Project Server 2013 et de Project Server 2016.

Recommandation :

Si possible, conservez le mode d’autorisation SharePoint par défaut pour obtenir de meilleures performances globales. Si vous avez besoin d’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 étapes, un flux de travail unique et des pages de détail de projet (PDP).

Les EPT vous permettent également de définir :

  • Configuration du site du projet

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

Configuration du site du projet

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

De nombreuses organisations utilisent Project Online pour collecter et évaluer les propositions de projet 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 ne sont pas retenues, obtiennent un site de projet. Ces sites inutiles devraient être nettoyés manuellement par la suite.

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

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

Sites de projet dans des collections de sites PWA.

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

Emplacement de création du site du projet.

Recommandation :

Si votre organisation utilise des sites de projet, sélectionnez l’option permettant de les créer à la demande plutôt qu’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 les paramètres de Project Web App, cliquez sur Types de projets d’entreprise.

  2. Sélectionnez l’EPT pour lequel 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. Maintenir le nombre de sites de projet dans une collection de sites en dessous des limites de SharePoint Online SharePoint Online.

Que synchronisez-vous ?

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 la synchronisation d’un certain nombre de composants entre deux systèmes. Ces synchronisations peuvent prendre du temps et, selon les besoins de votre entreprise, 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 :

  • Synchroniser les autorisations utilisateur pour votre site de projet

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

Synchronisation des autorisations de l’utilisateur

Les Sites de projet sont des espaces de travail dans lesquels les équipes de projet peuvent collaborer, télécharger des documents et soulever des problèmes. Lorsque la synchronisation des autorisations utilisateur est activée, chaque fois qu’une personne est autorisée à participer à un projet, les autorisations de site de projet 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 il y a d’utilisateurs et de sites à synchroniser, plus l’opération est lente, en particulier si vous publiez, importez ou créez en bloc plusieurs projets (avec des sites Project), ou mettez à jour des appartenances à des groupes qui nécessiteront une resynchronisation des autorisations de site de projet.

Pour chaque EPT, vous pouvez définir si la synchronisation des autorisations utilisateur est activée.

Remarque

Si des 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 l’emplacement de Project Web App et de l’EPT la création de 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 remplies 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 de projet (>1000)

  • Vous disposez d’un grand nombre de ressources auxquelles vous devez accorder l’accès à la majorité des sites Project

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

Voici quelques options à prendre en compte pour la gestion des autorisations de votre site Project :

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

  • Si l’accès doit être accordé pour tous les utilisateurs dans PWA et qu’il correspond aux autorisations de votre groupe existant, envisagez de configurer vos sites Project pour qu’ils héritent 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 (si la synchronisation de groupe est activée, vous pouvez utiliser les mêmes groupes si celle-ci est activée) et accordez à ces groupes l’accès au site Project.

Pour chaque EPT, vous pouvez activer Synchroniser les autorisations utilisateur en :

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

  2. Sélectionnez l’EPT pour lequel 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 des projets. 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 chronologie dans le site Project, vous pouvez activer et case activée cette fonctionnalité si son impact sur les performances de la publication de 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 l’emplacement de Project Web App et de l’EPT la création de sites de projet danshttps://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 projet de petite taille. Si le projet comporte un grand nombre de tâches, leur synchronisation lors de la publication prendra 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 se trouve sur une corrélation distincte et n’empêche 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 comportant moins de 250 tâches.

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

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

  2. Sélectionnez l’EPT pour lequel 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 de la liste des ressources partagées Active Directory

La synchronisation de la liste des ressources partagées Active Directory ne présente pas de problèmes de performances particuliers et peut importer des milliers de ressources dans votre Project Web App instance en quelques minutes. Cependant, 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. En cas de rotation importante de l’appartenance à vos groupes Active Directory et que vous devez synchroniser souvent votre liste de ressources, surveillez les effets potentiels en aval sur les tâches de synchronisation des autorisations associées.

Recommandation :

Limitez la synchronisation Active Directory aux groupes de ressources qui ont réellement besoin d’utiliser le système et surveillez tout problème d’autorisation potentiel après la synchronisation de groupes volumineux. (Pour configurer la synchronisation de la base de ressources Active Directory Entreprise, dans les paramètres de Project Web App, cliquez sur Synchronisation de la liste de ressources partagées Active Directory.

Personnalisation des pages et des vues PWA

Personnalisations de page

La plateforme SharePoint offre d’excellentes fonctionnalités de personnalisation avec son infrastructure modulaire WebPart et sa prise en charge des pages personnalisées. L’ajout de logos, de composants WebPart personnalisés et de nouveaux thèmes peut ne pas avoir d’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. Cependant, sur un service en ligne, l’histoire est différente.

Lorsque vous chargez un logo ou un graphique avec une taille de fichier importante, cela peut ralentir un peu les pages lors d’un déploiement local, mais en ligne, l’impact sur les performances des chargements de page est considérable.

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 tout avoir au même endroit. Si les utilisateurs n’ont besoin que du contenu d’un seul composant WebPart sur la page, ils doivent encore attendre plus longtemps que la page se charge et affiche les données de tous les autres composants WebPart.

Recommandation :

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

Personnalisations des affichages

Là encore, la simplicité contribue grandement à améliorer les performances de chargement des pages. Les organisations peuvent créer des vues personnalisées à l’aide de plusieurs pages de Project Web App, notamment Centre de projets, Centre de ressources, Tâches et 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 deuxième affichage prend en moyenne 2 à 3 secondes de moins à se charger que le premier.

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

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 une navigation plus rapide plutôt qu’une vue tout-en-un complexe qui chargerait des données inutiles la plupart du temps.

Paramètres d’affichage utilisateur

Centre de projets : Regrouper par avec des correctifs cumulatifs

Les utilisateurs peuvent configurer différentes façons de recevoir l’affichage de leur affichage, y compris le regroupement des données par différents champs. Lorsque vous utilisez Regrouper par, 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 cumulées pour les champs d’agrégation.

Recommandation :

À moins que l’utilisateur n’ait besoin de voir les valeurs cumulées, désactivez l’option Cumul 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étail de projet et flux de travail personnalisés

Outre la recommandation fournie ci-dessus pour la conception de page, les pages de détail de projet (PDP) sont particulières en ce sens qu’elles peuvent déclencher un recalcul de l’ensemble du projet et lancer des actions de flux de travail, qui peuvent toutes deux être des opérations coûteuses en termes de performances, en fonction de vos personnalisations.

Project Online et Project Server ont deux processus principaux de mise à jour des informations de projet :

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

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

Nous vous recommandons d’éviter de mettre à jour les deux types de données sur la même PDP afin d’é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 de planification.

  • Modifications apportées au calendrier du projet

  • Modifications apportées aux champs de date suivants :

    • Date de début

    • Date de fin

    • Date d’état

    • Date actuelle

  • Modifications apportées aux champs personnalisés du projet

  • Si le projet a des dépendances sur des livrables

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

Recommandation :

Créez des PDP spécialisés légers et évitez de mélanger les mises à jour liées au calendrier et non liées au calendrier.

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

La mise à jour des valeurs des champs personnalisés d’un projet dans un flux de travail une par une nécessite une requête de serveur distincte à l’aide de l’action Définir le champ du projet. Il en résulte une réduction des performances lors de la mise à jour simultanée d’un grand nombre de champs personnalisés 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 nécessite que vous transmettiez un dictionnaire contenant le nom et les valeurs de tous les champs personnalisés à 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 de Project Web App, ou ils peuvent simplement être désactivés.

Vous pouvez utiliser la méthode CreateProjectSite('') pour déterminer quand créer leurs sites de projet. Ceci 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 la création de projet en reportant la création des sites de projet.

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 aient terminé de traiter les événements avant de pouvoir continuer à travailler avec Project Online.

Recommandation :

Project Online doit ê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 capable de gérer les événements After de manière asynchrone. Ils peuvent consulter 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 alors activer le paramètre Activer le traitement asynchrone après l’événement sur votre page Paramètres PWA .

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

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

    Gestion des événements asynchrones pour le paramètre d’événements After.

  3. Sélectionnez Enregistrer.

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

    Remarque

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

OData et rapports

ProjectData OData Service

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

Les appels au service de création de rapports ProjectData OData sont régis par SharePoint Online. Consultez l’article Évitez 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 de recul exponentiel.

De plus, suivre les recommandations décrites dans le présent document réduira le nombre, la longueur et la fréquence des appels nécessaires pour récupérer des données. Si la limitation de requêtes est fréquente, effectuez une case activée dans toute l’organisation, car 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 expliqués en détail 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 permettra d’afficher plus rapidement les données dans le point de terminaison OData Reporting Service et réduira le temps nécessaire au téléchargement.

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

  • Jamais

  • Périodes fiscales

  • Mensuelle

  • En semaines

  • Journalière

Les périodes fiscales ont le grand avantage par rapport aux périodes mensuelles en ce que les données de création de rapports sont conservées uniquement pour les périodes fiscales définies, tandis que les données mensuelles contiendront les données pendant toute la durée de tous vos projets.

À l’aide du service Project OData, vous pouvez extraire des informations de vos Project Online instance pour la création de rapports.

Recommandation :

Stockez le moins de données chronologiques possible, en fonction des besoins de votre entreprise. N’utilisez pas Tous les jours si vous avez des flux de travail qui attendent la fin de la publication. La génération quotidienne des données requises peut entraîner une attente des flux de travail.

Interrogation du service

Il existe des limites au nombre d’entités pouvant être retournées dans une requête du service OData ProjectData. 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 complets « tout actualiser ». 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 des performances globales des opérations utilisateur dans PWA ou une limitation.

Effectuez des actions d’actualisation Odata en dehors des heures d’ouverture. Les décisions de maintenir des rapports en temps réel ou presque réels doivent également prendre en considération les compromis de performance sur l’expérience utilisateur sur le site PWA. Si la configuration « Tout actualiser » est requise, consultez la section « SQL Server Integration Services (SSIS) – Recommandé pour les grands ensembles de données ».

Pour un Project Web App instance 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 d’au moins une des manières suivantes. 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 renvoie 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 à plusieurs valeurs. Un calcul supplémentaire est nécessaire pour traiter les valeurs de champ personnalisées qui sont des recherches à plusieurs valeurs. Ces champs ne peuvent pas tirer parti de plusieurs optimisations implémentées pour des scénarios clients plus courants. Si des champs personnalisés à plusieurs valeurs ont déjà été configurés, améliorez la vitesse et la fiabilité de la recherche 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 existe plusieurs clés, l’utilisation de la première clé fonctionnera mieux que l’utilisation de la deuxième uniquement.

  • 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 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/tâche/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 à l’aide du filtrage côté serveur pour récupérer uniquement les colonnes dont vous avez besoin. L’impact est plus visible avec les champs personnalisés. Ajoutez les champs personnalisés uniquement si vous en avez besoin.

  • Assurez-vous 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 examinant le document de métadonnées du service dans votre instance PWA :https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

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

PowerBI

Si la quantité de données est faible, Power BI peut lire régulièrement les données du service Project OData et vous aider à fournir une variété de rapports dynamiques. Un exemple de pack de contenu est disponible ici.

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

SQL Server Integration Services (SSIS)

À l’aide de SSIS, les données de création de rapports de Project Online 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é, tous les rapports/visualisations peuvent être créés. Un processus supplémentaire est nécessaire pour maintenir les données locales 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 synchronise les données locales. En outre, téléchargez uniquement les champs nécessaires pour répondre aux exigences de l’entreprise. Moins il y a de champs interrogés, plus vite les données peuvent être récupérées.

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 le 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 à télécharger, en filtrant sur un seul ProjectId qui a été récupéré précédemment. Incluez ProjectModifiedDate tel qu’il est utilisé dans le modèle de synchronisation delta ci-dessous.

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

Par exemple, à l’aide de l’entité Tâche :

  1. Interrogation sur le TaskId à partir du filtrage de l’entité Tâche sur tous les champs supplémentaires, ainsi que sur le ProjectId du projet de l’étape précédente.

  2. Interrogez l’entité Tâche, en spécifiant les champs à télécharger et en filtrant sur un seul TaskID qui a été récupéré précédemment. Incluez 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 la feuille de temps :

  • Feuille de temps : récupérez le TimesheetId et ModifiedDate en fonction des critères de filtre, puis les enregistrements de feuille de temps, puis le filtrage TimeSheetLines sur le TimeSheetId et continuez sur d’autres entités associées, en vous assurant que vous classez par ID de clé primaire (TimesheetUID) et les champs de date de modification.

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

  • Récupérez ResourceId et ResourceModifiedDate, puis les enregistrements de ressource , puis ResourceTimephasedData , etc. Incluez les ID de clé primaire et les dates de modification respectifs.

Delta Sync

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

  1. Interrogez tous les ID de projet et les dates de modification à partir du point de terminaison du projet à l’aide de critères $filter.

  2. Supprimez le projet local et les enregistrements associés (tâches, affectations, etc.) dans lesquels l’ID de projet n’existe plus.

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

Par exemple, à l’aide de l’entité Tâche :

  1. Interrogation sur les éléments TaskId et TaskModifiedDate à partir du filtrage des entités de tâche sur les champs supplémentaires, ainsi que sur l’ID projet de l’étape précédente où les données ont changé, c’est-à-dire que la date de modification du service Project ne correspond pas à la date de modification locale.

  2. Supprimez les enregistrements locaux et associés pour l’ID de tâche 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 transmettant 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 de Project Web App

Par défaut, le site Project Web App est soumis à une limite de 25 Go et est distinct de la limite de toutes les données stockées dans la collection de sites SharePoint où Project Web App est activé. L’utilisation des options de granularité de création de 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 quotidiens et chronologiques . Pour discuter de l’augmentation du quota de sites PWA, contactez Microsoft.

Conclusion

Project Online, comme tout service cloud exécuté 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 entre-temps pour offrir une bonne expérience à vos utilisateurs finaux.

Recommandation récapitulative :

  • Utilisez le mode d’autorisation SharePoint lorsque cela est possible.

  • Activez uniquement les fonctions que vous utiliserez réellement.

  • Gardez les pages et la personnalisation aussi simples et légères que possible pour un chargement plus rapide des pages.

  • Utilisez le filtrage côté serveur ou exportez les flux Odata vers une base de données SQL Server pour une plus grande flexibilité de reporting.

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

Frontières et limites du logiciel Microsoft Project Online