Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SharePoint et plus...

Les technologies de développement Web Microsoft en français dans le texte.
[SharePoint 2010] Introduction au Modèle Objet Client

SharePoint 2010 offre désormais la possibilité, grâce au Modèle Objet Client, de concevoir des applications clientes qui interagissent avec SharePoint sans pour autant exécuter du code sur l'environnement SharePoint. Cela vous permet de créer des applications .Net, Silverlight ou ECMAScript (JavaScript, JScript) qui accèdent à SharePoint sans avoir à déployer sur la ferme SharePoint et sans avoir à utiliser les Web Services de SharePoint.

Le Modèle Object Client met à disposition une API qui est assez proche de son équivalent serveur. Voici une équivalence de classes clientes et serveur:
ClientContext > SPContext
Site > SPSite
Web > SPWeb
List > SPList
ListItem > SPListItem
Field  > SPField

Globalement, à part pour le ClientContext, il suffit juste d'enlever le préfixe SP... Big Smile

  • Pour utiliser cette API dans une application .Net, votre projet doit faire référence aux assemblies suivantes : Microsoft.SharePoint.Client.dll et Microsoft.SharePoint.Client.Runtime.dll, que vous pouvez trouver dans le dossier ISAPI de SharePoint et que vous pouvez copier sur votre machine de développement.
  • Pour un projet Silverlight, il s'agit des assemblies: Microsoft.SharePoint.Client.Silverlight.dll et Microsoft.SharePoint.Client.Runtime.Silverlight.dll, que vous pouvez trouver dans le dossier TEMPLATE\LAYOUTS\ClientBin.

Voici un petit exemple de code d'un projet Console affichant les titres des listes d'un site donné:

using (ClientContext ctx = new ClientContext("http://monsite"))
{
Web web = ctx.Web;
ListCollection lists = web.Lists;
ctx.Load(web);
ctx.Load(
lists);

ctx.ExecuteQuery();

foreach (List list in
lists)
{
Console.WriteLine("Liste: {0}", list.Title);
}
}

Les points importants:
  • ClientContext pour se connecter à un site SharePoint
  • ClientContext.Load() pour initier les objets à utiliser
  • ClientContext.ExecuteQuery() pour exécuter les requêtes et provisionner les objets
==> Ce qui est intéressant et va vous permettre de gérer finement les appels au serveur, c'est que le serveur n'est contacté qu'au moment de l'appel de la méthode ExecuteQuery() (Les commandes sont en fait batchées sur le client, envoyées au service client.svc qui retourne ensuite le résultat). Vous pouvez donc charger votre hiérarchie d'objet (Web, List, Items, ...) et contacter le serveur qu'au moment voulu.


Voilà, nous avons réussi à interagir avec SharePoint, très simplement, sans installer de code sur la ferme et sans utiliser les Web Services. Que du bonheur ! Il ne vous reste plus qu'a imaginer des cas d'utilisation...

Pour aller plus loin: http://msdn.microsoft.com/fr-fr/library/ee857094.aspx

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 16 février 2011 18:00 par seb_moss2k7

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- ProcDump 6.0 : support du filtrage sur messages d'exceptions .NET, des filtres multiples et du ciblage par nom de service par CoqBlog le 05-20-2013, 14:50

- Votez pour le TOP 10 des influenceurs SharePoint francophones ! par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 12:59

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:09

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:03

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 08:27

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29

- AutoSPInstaller pour SharePoint 2013 maintenant disponible en “RTM” par Julien Chable le 05-06-2013, 23:30