Du MPP au XER

Le format MPP est l’un des principaux formats de Microsoft Project, souvent utilisé pour stocker les charges de travail, les calendriers et les finances. Depuis la sortie initiale de Microsoft Project en 1984, il est utilisé pour gérer des projets, développer des calendriers, définir des budgets et allouer des ressources. Par conséquent, le format MPP est le type de fichier natif associé à Microsoft Project et stocke les informations du projet lors de l’enregistrement d’un projet. De même, le format de fichier XER est un format de fichier de projet propriétaire utilisé par l’application de planification et de gestion de projet Primavera P6. Ainsi, s’il est nécessaire de convertir les fichiers MPP dans un autre format, nous devons soit installer et configurer une solution sur site, soit opter pour une solution basée sur le cloud.

API de traitement de Microsoft Project

Microsoft Project et Primavera P6 font partie des formats de fichiers les plus utilisés pour les affectations de projet, les tâches, les ressources, les calendriers, les attributs et les informations de planification. Afin de permettre à nos clients de traiter ces documents par programmation, nous avons développé l’API Aspose.Tasks Cloud qui est une solution basée sur REST vous permettant d’obtenir des éléments d’affectation de projet, d’ajouter de nouvelles affectations aux projets, d’obtenir toutes les tâches d’un projet, de modifier la position des tâches, d’ajouter un calendrier au projet, d’obtenir des données à l’échelle temporelle, et bien plus encore. Effectuez toutes ces opérations sans installer de logiciel tiers.

De plus, nous avons développé Aspose.Tasks Cloud SDK pour .NET qui est un wrapper autour de Aspose.Tasks Cloud et vous permet d’implémenter toutes les tâches liées à la gestion de projet au sein de l’application .NET.

Installation

Pour utiliser le SDK .NET Cloud, la première étape consiste à l’installer sur le système. Il est disponible en téléchargement sur NuGet et GitHub. Veuillez exécuter la commande suivante dans le terminal pour installer le SDK via NuGet :

nuget install Aspose.Tasks-Cloud

Si vous devez effectuer l’installation à partir du gestionnaire de packages NuGet, veuillez exécuter la commande suivante :

PM> Install-Package Aspose.Tasks-Cloud

Approche de Visual Studio

Une autre approche est l’installation directement dans Visual Studio :

  1. Ouvrez l’explorateur de solutions.
  2. Développez le projet et cliquez avec le bouton droit sur le dossier Packages dans votre solution.
  3. Sélectionnez l’option Gérer les packages NuGet…
  4. Cliquez sur l’onglet Parcourir et recherchez « Aspose.Tasks-Cloud ».
  5. Cliquez sur la case à cocher en regard du package Aspose.Tasks-Cloud, sélectionnez la version appropriée dans l’onglet de droite et cliquez sur le bouton Ajouter un package.
légende

Image 1:- Aspose.Tasks-Cloud as NuGet package.

Abonnement Cloud gratuit

Pour accéder aux API Cloud, nous devons d’abord créer un compte d’abonnement Cloud gratuit. Oui, vous avez bien entendu. Un compte d’abonnement gratuit fournissant jusqu’à 150 demandes de traitement de documents gratuites. Aucune carte de crédit ou autre détail de paiement n’est requis. Donc, pour terminer ce processus, veuillez visiter tableau de bord Aspose.Cloud. Si vous avez un compte GitHub ou Google, inscrivez-vous simplement. Sinon, cliquez sur le bouton Créer un nouveau compte et fournissez les informations requises. Connectez-vous maintenant au tableau de bord à l’aide des informations d’identification et développez la section Applications du tableau de bord et faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’ID client et du secret client.

Informations d'identification du client

Image 2 : Informations d’identification du client sur le tableau de bord Aspose.Cloud.

Conversion de MPP en XER en C#

Veuillez suivre les étapes ci-dessous pour effectuer la conversion du fichier MPP vers l’application Primavera P6 XER dans C# .NET.

  • Tout d’abord, créez un objet de configuration tout en fournissant les détails de l’ID client et du secret client.
  • Deuxièmement, créez un objet de TasksApi tout en passant l’objet Configuration comme argument.
  • Troisièmement, lisez le fichier MPP à partir du lecteur local et téléchargez-le vers le stockage cloud à l’aide de la méthode UploadFile(..) de TasksApi.
  • Créez maintenant un objet de GetTaskDocumentWithFormatRequest où nous définissons le nom MPP d’entrée et le format résultant à partir de l’énumération ProjectFileFormat.
  • Nous appelons ensuite la méthode GetTaskDocumentWithFormat(…) de TasksApi pour lancer le processus de conversion.
  • Enfin, afin de sauvegarder la sortie XER sur le lecteur local, nous utilisons l’objet File.Create dans la méthode saveToDisk(…).
// Obtenez l'ID client à partir de https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// créer un objet de configuration
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// initialiser l'objet Aspose.Tasks
var tasksApi = new TasksApi(config);

String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";

try
{
    // lire le fichier MPP d'entrée à partir du stockage local
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // télécharger le fichier sur le stockage cloud
        tasksApi.UploadFile(uploadFileRequest);
    }

    // initialiser le processus de conversion MPP en XER
    var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
    {
        Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
        Name = inputFile,
        Folder = null,
    });

    if (response != null )
    {
        Console.WriteLine("Successfully converted MPP to XER !");
    }

    // enregistrer le fichier résultant sur le lecteur local
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Convertir MPP en Primavera P6 à l’aide de cURL

Les commandes cURL sont un autre moyen pratique d’accéder aux API REST via un terminal de ligne de commande. Nous pouvons donc également accéder à Aspose.Tasks Cloud via les commandes cURL et répondre à nos besoins. Cependant, avant d’accéder aux API, nous devons générer un jeton Web JSON (JWT) basé sur les détails ClientID et ClientSecret récupérés à partir du tableau de bord Aspose.Cloud. Veuillez exécuter la commande suivante dans le terminal pour générer le jeton JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Une fois le jeton JWT généré, veuillez exécuter la commande suivante pour convertir le fichier MPP disponible dans le stockage Cloud au format XER.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xer

Le fichier d’exemple utilisé. L’exemple ci-dessus peut être téléchargé à partir de Home move plan.mpp.

Conclusion

Dans cet article, nous avons discuté des étapes à suivre pour convertir un fichier Microsoft Project (MPP) en fichier Oracle Primavera P6 XER à l’aide d’un extrait de code C# .NET ainsi que de la commande cURL. De plus, le mécanisme de licence a été conçu de manière si flexible que vous ne payez que pour l’intervalle pendant lequel vous avez utilisé nos services. De plus, dans le cadre d’un abonnement gratuit, vous avez droit à un maximum de 150 demandes de traitement de documents gratuites. Ainsi, une fois que vous êtes satisfait de l’API, vous pouvez envisager d’opter pour un achat de licence qui est assez flexible. Vous n’êtes facturé que pour les demandes que vous avez faites au serveur et cela peut être aussi bas que 0,005 $ / appel API. Vous pouvez visiter la page tarification pour plus de détails.

Néanmoins, nos Cloud SDK sont développés sous licence MIT, leur extrait de code complet peut donc être téléchargé depuis GitHub. Si vous rencontrez un problème lors de l’utilisation de l’API ou si vous avez une question connexe, n’hésitez pas à nous contacter via Forum d’assistance gratuit.

Articles connexes

Nous vous recommandons également de visiter les liens suivants pour en savoir plus sur :