Présentation de l environnement de développement SharePoint Atelier pratique Manuel de l atelier SPCHOL303 Utilisation du modèle objet client et de REST à partir d une application.net C#
Ce document est fourni en l état. Les informations et les vues contenues dans ce document, y compris les URL et autres références de site Web Internet, sont susceptibles d être modifiées sans préavis. Vous les utilisez à vos risques. Ce document ne vous confère aucun droit sur la propriété intellectuelle contenue dans quelque produit Microsoft que ce soit. Vous pouvez copier ou utiliser ce document pour vos propres besoins de référence internes. 2010 Microsoft. Tous droits réservés.
Sommaire SPCHOL303 UTILISATION DU MODÈLE OBJET CLIENT ET DE REST À PARTIR D UNE APPLICATION.NET... 2 Objectif de l atelier... 2 Ressources supplémentaires... 2 Mise en route... 2 Connexion à l ordinateur virtuel... 2 Emplacements... 2 Préparation de l atelier... 3 Copie des exemples de code à partir du document Word... 3 Extraits de code... 4 Exercice 1 Création d une application WPF à l aide du modèle objet client... 5 Tâche 1 Créer une application.net WPF... 5 Tâche 2 Utilisation du modèle objet client... 7 Exercice 2 Création d une application Windows Forms à l aide des services REST SharePoint... 11 Tâche 1 Création d une application Windows Forms... 11 Tâche 2 Ajout de la référence au service de données WCF de liste SharePoint... 13 Tâche 3 Accès aux données de la liste SharePoint... 18 Tâche 4 Mise à jour des données de la liste SharePoint... 24 Tâche 5 Vérification des données mises à jour... 26 Résumé de l atelier... 27 Page 1
SPCHOL303 Utilisation du modèle objet client et de REST à partir d une application.net Durée estimée de cet atelier : 30 minutes Visual Studio 2010 et SharePoint Foundation 2010 sont requis pour ces exercices. Ils sont installés sur l ordinateur virtuel utilisé dans cet atelier. Objectif de l atelier Le modèle objet client fournit un modèle objet unifié et complet pour SharePoint qui facilite l accès aux données de sites SharePoint à partir de clients distants. En incluant la bibliothèque du modèle objet client, les développeurs peuvent créer une application SharePoint aussi rapidement que possible. Elle fournit un accès complet aux données de sites SharePoint. L objectif de cet atelier est d apprendre à utiliser : le nouveau modèle objet client ; la nouvelle infrastructure API REST dans SharePoint 2010. Ressources supplémentaires Cet atelier comprend les ressources supplémentaires suivantes : Ce manuel de l atelier SPCHOL303_Manual_CS.docx Ce document. Code source Completed\CS\Ex1 Completed\CS\Ex2 Code source de l atelier complet en C#. Ressources Resources\CS Différentes autres ressources utilisées tout au long de cet atelier. Mise en route Connexion à l ordinateur virtuel Connectez-vous à l ordinateur virtuel à l aide des informations d utilisateur suivantes : Nom d utilisateur : Administrator Mot de passe : pass@word1 Emplacements Cet atelier pratique contient une série de ressources supplémentaires à des emplacements précis. Par défaut, il est supposé que le répertoire de base de l atelier pratique est C:\Content Packs\Packs\ SharePoint 2010 Developer Labs 1.0\Supporting Files\SPCHOL303\Resources. Le dossier de travail par défaut de cet atelier est C:\SPHOLS\SPCHOL303. Page 2
Préparation de l atelier 1. Accédez au répertoire de base de l atelier pratique Supporting Files\SPCHOL303\Resources et exécutez le script PowerShell optimize.ps1 : Cliquez avec le bouton droit sur optimize.ps1 et sélectionnez Exécuter avec PowerShell : Figure 1 - Exécuter le script PowerShell Cette opération ouvre une fenêtre PowerShell pour exécuter le script. Veuillez attendre la fin de l exécution du script PowerShell et la fermeture de la fenêtre PowerShell (cela peut prendre quelques minutes) : Figure 2 - Fenêtre PowerShell exécutant le script Copie des exemples de code à partir du document Word La copie et le collage de code à partir de ce document Word vers Visual Studio ne sont possibles que pour les parties contenant du code mis en forme, par exemple : Console.WriteLine("Ce code est fiable!"); Page 3
Le code qui ne se trouve pas dans ces parties peut contenir des caractères Unicode ou d autres caractères invisibles qui ne sont pas du code C#/VB ou XML valide, par exemple : Console.WriteLine («Ce code n est pas fiable!!»); Extraits de code Vous pouvez également utiliser des extraits de code pour insérer le code approprié dans l atelier. Pour utiliser l extrait de code requis pour cet atelier : Cliquez avec le bouton droit sur le fichier de code où vous souhaitez insérer l extrait de code. Sélectionnez Insérer un extrait : Figure 3 - Insérer un extrait de code Dans la galerie Mes extraits de code, sélectionnez les extraits de code requis. Page 4
Exercice 1 Création d une application WPF à l aide du modèle objet client Dans cet exercice, vous allez créer une application.net WPF qui utilise le nouveau modèle objet client SharePoint pour accéder à des données SharePoint. Tâche 1 Créer une application.net WPF Dans cette tâche, vous allez écrire une application.net WPF. 1. Ouvrez Visual Studio 2010 en sélectionnant successivement le Menu Démarrer Tous les programmes Microsoft Visual Studio 2010 Microsoft Visual Studio 2010. 2. Dans le menu, sélectionnez Fichier Nouveau Projet. 3. Dans la boîte de dialogue Nouveau projet, choisissez Visual C# Windows parmi les Modèles installés. 4. Sélectionnez le modèle Application WPF dans la liste. Figure 4 - Projet d application WPF 5. Dans la zone de texte Nom, entrez SPCHOL303-Ex1. Page 5
6. Dans la zone de texte Emplacement, entrez C:\SPHOLS\SPCHOL303\CS\Ex1. Figure 5 - Boîte de dialogue Nouveau projet Visual Studio 7. Désactivez la case à cocher Créer un répertoire pour la solution. 8. Cliquez sur OK. Page 6
9. Visual Studio crée le projet SPCHOL303-Ex1 et ajoute les fichiers nécessaires. Figure 6 - Explorateur de solutions Tâche 2 Utilisation du modèle objet client 1. Cliquez avec le bouton droit sur SPCHOL303-Ex1 dans l Explorateur de solutions et sélectionnez Propriétés. 2. Sous l onglet Application, définissez la propriété Framework cible sur.net Framework 4. 3. Dans l Explorateur de solutions, cliquez avec le bouton droit sur Références, puis sélectionnez Ajouter une référence. Figure 7 - Ajouter une référence 4. Sélectionnez l onglet Parcourir. 5. Tapez le chemin d accès suivant dans la zone de texte Nom de fichier et appuyez sur Entrée : C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI Page 7
6. Sélectionnez Microsoft.SharePoint.Client.dll et Microsoft.SharePoint.Client.Runtime.dll, puis cliquez sur OK. Figure 8 - Boîte de dialogue Ajouter une référence 7. Dans l Explorateur de solutions, double-cliquez sur MainWindow.xaml pour ouvrir la vue XAML. 8. Insérez le code XAML suivant dans l élément Grid de la vue XAML. <ListBox Height="238" Margin="12,11,12,13" Name="ListBox1" Width="254" /> Ce code XAML crée un contrôle ListBox. Page 8
9. Le contrôle ListBox doit apparaître en mode concepteur. Figure 9 - Mode concepteur pour Window1.xaml 10. Dans l Explorateur de solutions, cliquez avec le bouton droit sur MainWindow.xaml, puis sélectionnez Afficher le code. Figure 10 - Afficher le code 11. Ajoutez les instructions using suivantes : using Microsoft.SharePoint.Client; using SP = Microsoft.SharePoint.Client; Extraits de code: Mes extraits de code spchol303_ex1_namespaces 12. Insérez le bloc de code suivant dans le constructeur Window1 après l appel de la méthode InitializeComponent() : ClientContext context = new ClientContext("http://intranet.contoso.com"); Web site = context.web; context.load(site, osite => osite.title); context.executequery(); Title = site.title; ListCollection lists = site.lists; IEnumerable<SP.List> listscollection = context.loadquery(lists.include(l => l.title, l => l.id)); context.executequery(); ListBox1.ItemsSource = listscollection; ListBox1.DisplayMemberPath = "Title"; Extrait de code : Mes extraits de code spchol303_ex1_constructor Page 9
Ce bloc de code : crée un contexte client sur le site SharePoint ; interroge les listes SharePoint disponibles sur le site et récupère les listes, ainsi que leurs propriétés : Title et Id ; lie la collection de listes au contrôle ListBox WPF. 13. Appuyez sur F5 pour démarrer le débogage de l application. 14. Dans la fenêtre de l application, le contrôle ListBox doit normalement être rempli avec les listes SharePoint disponibles. Figure 11 - Fenêtre de l application 15. Fermez la fenêtre Application. Au cours des minutes précédentes, vous avez vu comment utiliser le nouveau modèle objet client SharePoint et créer une application.net WPF pour récupérer des données SharePoint d un site. Page 10
Exercice 2 Création d une application Windows Forms à l aide des services REST SharePoint Dans cet exercice, vous allez accéder à des données d une liste SharePoint et les mettre à jour à l aide du service de données WCF de liste SharePoint à partir d une application Windows Forms. Tâche 1 Création d une application Windows Forms Dans cette tâche, vous allez créer une application Windows Forms. 1. Ouvrez Visual Studio 2010 en sélectionnant successivement le Menu Démarrer Tous les programmes Microsoft Visual Studio 2010 Microsoft Visual Studio 2010. 2. Dans le menu, sélectionnez Fichier Nouveau Projet. 3. Dans la boîte de dialogue Nouveau projet, choisissez Visual C# Windows parmi les Modèles installés. 4. Sélectionnez Application Windows Forms parmi les modèles de projet. Figure 12 - Nouveau projet d application Windows Forms 5. Dans la zone de texte Nom, entrez SPCHOL302-Ex2. Page 11
6. Dans la zone de texte Emplacement, entrez C:\SPHOLS\SPCHOL303\CS\Ex-2.. Figure 13 - Boîte de dialogue Nouveau projet Visual Studio 7. Désactivez la case à cocher Créer un répertoire pour la solution. 8. Cliquez sur OK. Page 12
9. Visual Studio crée le nouveau projet SPCHOL303-Ex2 et ajoute les fichiers nécessaires. Figure 14 - Explorateur de la solution SPCHOL303-Ex2 Tâche 2 Ajout de la référence au service de données WCF de liste SharePoint Dans cette tâche, vous allez ajouter une référence au nouveau service de données WCF de liste SharePoint pour accéder aux données de la liste Employees à partir d un site SharePoint local. 1. Dans la barre de menus supérieure de Visual Studio, sélectionnez Données Ajouter une nouvelle source de données. Figure 15 - Ajouter une nouvelle source de données Page 13
2. Dans l Assistant Configuration de source de données, sélectionnez SharePoint, puis cliquez sur le bouton Suivant. Figure 16 - Assistant Configuration de source de données 3. Dans la boîte de dialogue Ajouter une référence de service, tapez l URL suivante dans la zone de texte Adresse, puis cliquez sur Aller à : http://intranet.contoso.com/_vti_bin/listdata.svc Page 14
4. Un service (dont le nom peut varier) doit apparaître dans la section Services du volet de gauche de la boîte de dialogue, et la zone de texte Espace de noms doit afficher ServiceReference1, comme illustré dans cette figure : Figure 17 - Service de données de liste Les services Web SharePoint résident dans le répertoire virtuel _vti_bin. Le service ListData.svc est le service de données de liste SharePoint qui utilise l API REST. Ce service Web vous permet d exploiter les données de liste SharePoint via l interface REST. Page 15
5. Cliquez sur le service TeamSiteDataContext et développez-le pour explorer les différents éléments du service : Figure 18 - Éléments de service 6. Cliquez sur OK. Page 16
7. Cliquez sur Terminer dans l Assistant Configuration de source de données. Figure 19 - Référence de service ajoutée 8. Cette opération ajoute la référence de service à la solution : Figure 20 - Référence de service Page 17
Tâche 3 Accès aux données de la liste SharePoint 1. Dans cette tâche, vous allez accéder aux données de la liste Employees et les récupérer à l aide du service de données WCF de liste SharePoint. 2. Cliquez avec le bouton droit sur Références et sélectionnez Ajouter une référence. 3. Dans la fenêtre Ajouter une référence, passez à l onglet.net et sélectionnez WindowsBase. 4. Cliquez sur OK. 5. Cliquez avec le bouton droit sur Form1.cs dans l Explorateur de solutions. Le Concepteur de formulaires apparaît. 6. Dans le menu Visual Studio, cliquez sur Données Afficher les sources de données. Figure 21 - Afficher les sources de données Page 18
7. Cette opération ouvre la fenêtre Sources de données, dans laquelle apparaissent la référence de service ajoutée au cours de la tâche 2 et les listes SharePoint du site. La source de données se compose des bibliothèques de documents et des listes SharePoint sous la forme d un modèle de données d entité. Cliquez sur l icône de punaise pour verrouiller la liste en position ouverte. Figure 22 - Fenêtre Sources de données Page 19
8. Glissez-déplacez Employees depuis la fenêtre Sources de données vers la fenêtre Form1. Cette opération insère le DataGrid Employees dans le formulaire. Ajustez le formulaire et le DataGrid en largeur et en hauteur : Figure 23 Fenêtre Windows Form et DataGrid Employees Page 20
9. Cliquez avec le bouton droit sur le DataGrid Employees vide et sélectionnez Modifier les colonnes. Figure 24 - Modifier les colonnes Page 21
10. Dans la fenêtre Modifier les colonnes, supprimez toutes les colonnes sauf les trois indiquées ciaprès. Pour supprimer une colonne, sélectionnez-la dans la liste Colonnes sélectionnées, puis cliquez sur le bouton Enlever : Fullname Job Title Team Figure 25 - Fenêtre Modifier les colonnes 11. Cliquez sur OK. Page 22
12. Le DataGrid doit refléter les modifications effectuées : Figure 26 - DataGrid mis à jour 13. Double-cliquez sur la barre de titre dans le concepteur (où apparaît la mention «Form1») pour ajouter la méthode Form1_Load (cette opération active le mode Code) : Figure 27 - Méthode Form1_Load 14. Ajoutez les instructions using suivantes au code sous-jacent : using SPCHOL303_Ex2.ServiceReference1; using System.Net; Extrait de code : Mes extraits de code spchol303_ex2_namespaces 15. Insérez le code suivant juste après la déclaration de classe Form1 : TeamSiteDataContext context = new TeamSiteDataContext(new Uri("http://intranet.contoso.com/_vti_bin/ListData.svc")); Extrait de code : Mes extraits de code spchol303_ex2_context Page 23
Figure 28 TeamSiteDataContext 16. Insérez le code suivant dans la méthode Form1_Load : context.credentials = CredentialCache.DefaultCredentials; employeesbindingsource.datasource = context.employees; Extrait de code : Mes extraits de code spchol303_ex2_form_load 17. Appuyez sur F5 pour démarrer le débogage de l application. 18. La fenêtre d application doit s afficher avec le DataGrid rempli à partir de la liste Employés : Figure 29 - Fenêtre de l application 19. Fermez la fenêtre de l application. Au cours des minutes précédentes, vous avez vu comment accéder aux données de listes SharePoint à l aide du nouveau service de données WCF de liste SharePoint. Tâche 4 Mise à jour des données de la liste SharePoint Dans cette tâche, vous allez mettre à jour le nom complet d un employé et enregistrer les modifications sur le site SharePoint. 1. Dans l Explorateur de solutions, cliquez avec le bouton droit sur Form1.cs et sélectionnez Concepteur de vues. Page 24
2. Dans le DataGrid Employees, cliquez sur BindingNavigator. Figure 30 - Navigateur BindingNavigator 3. Dans le navigateur BindingNavigator, cliquez avec le bouton droit sur le bouton Enregistrer ( ) et sélectionnez Enabled. Figure 31 - Activer le bouton Enregistrer 4. Double-cliquez sur le bouton Enregistrer dans le navigateur BindingNavigator pour générer la méthode Save : Figure 32 - Méthode Save 5. Insérez le code suivant dans la méthode employeesbindingnavigatorsaveitem_click : context.savechanges(); Extrait de code : Mes extraits de code spchol303_ex2_save_method 6. Dans l Explorateur de solutions, cliquez avec le bouton droit sur Form1.cs et sélectionnez Concepteur de vues. 7. En bas de la fenêtre du concepteur, cliquez avec le bouton droit sur employeesbindingsource et sélectionnez Propriétés : Figure 33 - Propriétés d employeesbindingsource Page 25
8. Dans la fenêtre Propriétés, cliquez sur l icône Événements ( ) 9. Double-cliquez sur l élément CurrentItemChanged. Visual Studio génère l événement d élément modifié associé à employeesbindingsource : Figure 34 - Méthode employeesbindingsource_currentitemchanged 10. Insérez le code suivant dans la méthode employeesbindingsource_currentitemchanged : context.updateobject(employeesbindingsource.current); Extrait de code : Mes extraits de code spchol303_ex2_item_changed 11. Appuyez sur F5 pour démarrer le débogage de l application. 12. La fenêtre de l application doit s afficher avec la liste des employés. 13. Cliquez sur le premier employé et, dans la colonne Fullname, remplacez Kim Abercrombie par Kim : Figure 35 - Modifier le nom complet 14. Appuyez sur Entrée et cliquez sur le bouton Enregistrer ( ) 15. Les modifications apportées au nom complet (Fullname) de l employé sélectionné doivent maintenant avoir été enregistrées sur le site SharePoint. 16. Fermez la fenêtre de l application. Tâche 5 Vérification des données mises à jour Dans cette tâche, vous allez vérifier la mise à jour des données de l employé effectuée au cours de la tâche 4. 1. Ouvrez Internet Explorer et naviguez jusqu au site SharePoint suivant : http://intranet.contoso.com 2. Si un message sollicite votre authentification, entrez les informations suivantes : Nom d utilisateur : Administrator Mot de passe : pass@word1 Page 26
3. Dans le volet de navigation de gauche, cliquez sur Employees pour ouvrir la liste Employees : Figure 36 - Volet de navigation de gauche 4. L employée mise à jour Kim doit apparaître. Figure 37 - Élément de liste des employés mis à jour Au cours des minutes précédentes, vous avez vu comment mettre à jour un élément de liste à partir d une application cliente et répercuter les modifications sur le site SharePoint. Résumé de l atelier Dans cet atelier, vous avez effectué les exercices suivants : création d une application WPF à l aide du modèle objet client ; création d une application Windows Forms à l aide des services REST SharePoint ; mise à jour d un élément de liste à partir de l application Windows Forms et enregistrement des modifications sur le site SharePoint. Dans cet atelier, vous avez appris à écrire des applications clientes Windows qui accèdent à des données de listes SharePoint à l aide du nouveau modèle objet client et du service de données WCF de liste SharePoint. Page 27