Développement de solutions SharePoint Online
SharePoint Online fournit une surface de développement robuste et flexible permettant aux développeurs de créer des solutions personnalisées à l’aide d’un sous-ensemble fondamental d’options de développement parmi celles disponibles lors du développement SharePoint sur site.
Dernière modification : lundi 17 octobre 2011
S’applique à : SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Server 2010
Dans cet article
Développement de solutions SharePoint Online
Développement pour SharePoint Onlineà l’aide de solutions bac à sable
Accès à des données SharePoint Online via les modèles objet clients
Disponible dans SharePoint Online
Comme les administrateurs SharePoint Online détiennent et administrent des collections de sites dans SharePoint Online, et non pas des installations de batteries de serveurs tout entières, l’approche du développement dans SharePoint Online porte nécessairement sur la collection de sites.
Développement de solutions SharePoint Online
Le développement dans SharePoint Online se limitant au niveau de la collection de sites, la création de solutions SharePoint Online personnalisées repose sur deux fonctionnalités de développement :
Solutions bac à sable (sandbox) Les solutions bac à sable (sandbox) fournissent une infrastructure permettant aux développeurs de créer, et aux administrateurs SharePoint Online de télécharger et activer, des solutions de code personnalisé pour SharePoint Online. Les solutions bac à sable (sandbox) s’exécutent dans un environnement qui a accès à un sous-ensemble principal du modèle objet serveur. L’infrastructure des solutions en bac à sable (sandbox) permet aux développeurs d’accéder aux principaux objets situés dans et en dessous de la collection de sites.
Modèle objet client Les modèles objet clients fournissent trois représentations parallèles et comparables des objets principaux du modèle objet SharePoint côté serveur : un modèle Microsoft .NET Framework managé, un modèle Microsoft Silverlight et un modèle ECMAScript (JavaScript, JScript). Ces modèles objet clients fournissent un accès distant aux données et aux fonctionnalités SharePoint.
En outre, vous pouvez utiliser du code côté client pour accéder à des sources de données externes et aux services Web que SharePoint Online rend disponibles. Pour cette raison, le code côté client est une option pratique si vous devez accéder à des objets autres que ceux inclus dans les solutions en bac à sable (sandbox) mais qui sont disponibles via un service Web SharePoint Online, ou à des données externes.
La Figure 1 montre ces options de développement :
Utiliser le modèle objet serveur accessible aux solutions bac à sable.
Employer le modèle objet client et du code côté client pour accéder à des données supplémentaires disponibles par le biais des services Web SharePoint ou à des données provenant de sources externes.
Notez que le composant WebPart SharePoint s’exécute en fait dans SharePoint Online. Cependant, le code côté client qu’il référence est téléchargé et s’exécute sur le client et il utilise le modèle objet client SharePoint pour se reconnecter à SharePoint Online pour le transfert de données.
Figure 1. Options de développement de SharePoint Online
Développement pour SharePoint Onlineà l’aide de solutions bac à sable
Pour le développement SharePoint Online, vous utilisez la même infrastructure pour créer des packages et déployer vos solutions intégrant du code personnalisé que celles que vous utilisez pour une installation SharePoint sur site : l’infrastructure de solutions. Lorsque vous développez pour SharePoint Online, vous créez un type de solution spécifique appelé solution en bac à sable (sandbox). Une solution en bac à sable (sandbox) permet aux administrateurs SharePoint Online de charger leurs propres solutions de code personnalisé.
Une solution en bac à sable (sandbox) fonctionne en gros de la même façon qu’une solution de batterie de serveurs (de confiance totale). Par exemple, les solutions en bac à sable (sandbox) vous permettent de regrouper tous les composants qui peuvent être utilisés pour étendre SharePoint Online dans un seul nouveau fichier, appelé fichier de solution. Une solution en bac à sable (sandbox) est un package déployable et réutilisable, qui peut contenir un ensemble de fonctionnalités, de définitions de sites et d’assemblys qui s’appliquent à des sites et que vous pouvez activer ou désactiver individuellement. Vous pouvez utiliser le fichier de solution en bac à sable (sandbox) pour déployer le contenu d’un package de composants WebPart, y compris des assemblys, des ressources de classes, des fichiers de description de composants WebPart (.dwp) et d’autres composants de package.
Les solutions bac à sable (sandbox) diffèrent des solutions de batteries de serveurs principalement quant à la façon dont elles sont déployées et à l’étendue de leur accès au modèle objet serveur. Les solutions bac à sable (sandbox) s’exécutent dans un processus distinct qui a accès à un sous-ensemble principal du modèle objet serveur. Une galerie de solutions est utilisée pour stocker toutes les solutions en bac à sable (sandbox). Par ailleurs, une stratégie de sécurité d’accès du code personnalisée est assignée aux solutions en bac à sable (sandbox).
Pour plus d’informations sur les fonctionnalités et les éléments utilisables dans solutions en bac à sable (sandbox), sur la stratégie de sécurité d’accès du code pour les solutions en bac à sable (sandbox) et sur l’analyse des ressources des solutions en bac à sable (sandbox), voir Architecture des solutions en bac à sable (sandbox).
Pour une liste des types et des membres du modèle objet serveur disponibles dans solutions en bac à sable (sandbox), voir API Microsoft.SharePoint.dll disponibles à partir des solutions en mode bac à sable (sandbox).
Processus de développement de solutions SharePoint Online
Voici les étapes de base du processus de création, de déploiement et d’activation d’une solution bac à sable (sandbox) sur SharePoint Online :
Développer et tester la solution.
Pour créer ou personnaliser des solutions SharePoint Online, vous devez développer la solution sur un ordinateur local où SharePoint Server 2010 ou SharePoint Foundation 2010 est installé. Ceci comprend le débogage de la solution ; vous ne pourrez pas déboguer la solution directement à partir de SharePoint Online.
Après avoir configuré votre environnement de développement, vous pouvez utiliser Visual Studio 2010 pour créer vos solutions en bac à sable (sandbox). En tant qu’outil pour promouvoir le développement rapide de solutions SharePoint, Visual Studio 2010 fournit des fonctionnalités telles que des outils de débogage rapide, IntelliSense, la saisie semi-automatique des instructions et des modèles de projet. Visual Studio 2010 fournit une gamme de modèles spécialisés pour la création d’éléments SharePoint à inclure dans vos solutions en bac à sable (sandbox). De plus, Visual Studio 2010 peut ouvrir et éditer des fichiers de package de solution (.wsp) qui sont créés dans SharePoint Designer 2010, permettant ainsi aux concepteurs et aux développeurs de collaborer étroitement à des solutions via une infrastructure commune.
Pour plus d’informations sur la configuration de votre environnement de développement, y compris des recommandations quant au matériel, les options pour le système d’exploitation et pour Hyper-V, et les éléments prérequis, voir Configuration de l’environnement de développement pour SharePoint 2010 sur Windows Vista, Windows 7 et Windows Server 2008.
Pour plus d’informations sur l’utilisation et la personnalisation de Visual Studio 2010 pour optimiser votre efficacité, voir Utilisation de Visual Studio pour le développement SharePoint.
Déployer et activer la solution.
Après avoir créé et débogué vos solutions en bac à sable (sandbox) sur votre ordinateur local, vous devez livrer cette solution à votre administrateur SharePoint Online si vous ne disposez pas des autorisations d’administration SharePoint Online. L’administrateur SharePoint Online charge le fichier de package de solution (.wsp) dans la galerie de solutions pour permettre son activation.
Pour plus d’informations, voir Deploying a Sandboxed Solution.
Pour rendre la solution accessible aux utilisateurs, vous devez l’activer. Si votre package de solution en bac à sable (sandbox) contient une fonctionnalité dont la portée s’établit au niveau de la collection de sites, il est activé automatiquement. Toute fonctionnalité dont la portée est au niveau du site doit être activée sur la page Gérer les fonctionnalités du site accessible à l’adresse https://servername/site/subsite/_layouts/managefeatures.aspx.
Analyser la solution activée.
Les solutions activées sont analysées quant aux ressources qu’elles consomment. Les performances des solutions peuvent être analysées à l’aide de plusieurs types de mesures incluant le temps processeur d’exécution, la consommation mémoire et la durée des requêtes de base de données.
La Figure 2 montre les étapes principales du processus de développement d’une solution en bac à sable (sandbox) pour SharePoint Online.
Figure 2. Développement de solution bac à sable (sandbox) dans SharePoint Online
Pour une implémentation de référence d’une solution en bac à sable (sandbox), voir Implémentation de référence : le modèle d’exécution en bac à sable (sandbox).
Pour s’exercer sur des solutions en bac à sable (sandbox), voir Solutions bac à sable (sandbox) sur Channel 9.
Autres restrictions de solutions dans SharePoint Online
Comme il s’agit d’un environnement multi-client, lorsque vous chargez un solution en bac à sable (sandbox) dans la Galerie de solutions, SharePoint Online effectue une nouvelle série de vérifications, en plus de celles effectuées par les installations SharePoint sur site. Le solution en bac à sable (sandbox) ne peut pas être activé s’il contient des apples de code vers un des espaces de noms suivants :
Microsoft.SqlServer
-
Toutefois, vous pouvez utiliser les membres suivants de cet espace de noms dans votre code solution en bac à sable (sandbox) :
System.Runtime.InteropServices
Toutefois, vous pouvez utiliser l’énumération LayoutKind dans votre code solution en bac à sable (sandbox).
-
Toutefois, vous pouvez utiliser les membres suivants de cet espace de noms dans votre code solution en bac à sable (sandbox) :
De plus, les types et membres suivants ne peuvent pas être appelés depuis le code dans un solution en bac à sable (sandbox) dans SharePoint Online :
Accès à des données SharePoint Online via les modèles objet clients
SharePoint Online inclut trois modèles objet clients, chacun fournissant à peu près le même sous-ensemble du modèle objet serveur défini dans Microsoft.SharePoint.dll. Les modèles objet clients JavaScript, .NET Framework managé et Silverlight incluent chacun des objets qui correspondent aux objets principaux du niveau de la collection de sites ou plus bas dans la hiérarchie SharePoint. Les modèles objet fournissent un système orienté objet cohérent et facile à utiliser qui permet l’interopérabilité avec des données SharePoint depuis un client ou un serveur distant.
Le code écrit sur la base des modèles objet clients s’exécute à distance sur le client ; il n’est pas sujet aux mêmes limitations que des solutions en bac à sable (sandbox) et peut par exemple accéder à des sources de données externes.
Pour améliorer la sécurité et les performances, les modèles objet clients contiennent seulement les API les plus appropriées pour le développement client et tous les types et les membres ne sont pas représentés dans le modèle objet serveur. La limitation de la taille des bibliothèques clientes réduit le temps nécessaire pour télécharger les bibliothèques dans les contextes Silverlight et JavaScript. De plus, les nouvelles API sont conçues pour minimiser le nombre d’allers-retours qui doivent être implémentés pour les actions courantes.
Les modèles objets clients sont fournis par l’intermédiaire de fichiers .js de proxy et de fichiers .dll managés, qui peuvent être référencés dans des applications personnalisées, à l’image d’autres modèles objets. Les modèles objets sont implémentés en tant que service WCF (Windows Communication Foundation) mais ils utilisent des liaisons Web pour que les requêtes soient traitées par lots de manière efficace. Toutes les opérations sont, par essence, asynchrones, et les commandes sont sérialisées en XML et envoyées au serveur dans une requête HTTP unique. Pour chaque commande, un appel au modèle objet serveur correspondant est effectué et le serveur renvoie au client une réponse au format JavaScript Object Notation (JSON) compacté, qui est analysée par le proxy et associée aux objets adéquats.
La Figure 3 montre le flux de l’appel et de la réponse pour les modèles objet clients.
Figure 3. Architecture des modèles objet clients de SharePoint
Les programmes s’exécutant sur le client et utilisant un des modèles objet clients peuvent ajouter et supprimer des listes, ajouter, mettre à jour et supprimer des éléments de liste, modifier des documents dans des bibliothèques de documents, créer des sites, gérer des autorisations sur des éléments, ajouter ou supprimer des composants WebPart sur une page, et ainsi de suite.
Les domaines de développement pris en charge comprennent notamment :
collections de sites et sites ;
listes, éléments de liste, vues et schémas de liste ;
fichiers et dossiers ;
conteneurs de propriétés Web, de liste et d’élément de liste ;
composants WebPart ;
sécurité ;
types de contenu ;
opérations de modèles de site et de collection de sites.
Notes
Actuellement, vous ne pouvez accéder par programme au contenu SharePoint Online qu’à l’aide des informations d’identification de votre ID Office. Vous ne pouvez pas accéder par programme au contenu SharePoint Online avec les informations d’identification des utilisateurs d’un domaine local, tel que celui importé avec l’outil DirSync.
Utilisation du modèle objet client Silverlight dans SharePoint Online
Vous pouvez utiliser Silverlight et le modèle objet client Silverlight pour créer des applications enrichies et élaborées dans SharePoint Online. Vous pouvez héberger votre application Silverlight (.xap) application dans sa propre page .aspx ou dans un composant WebPart. SharePoint Online inclut un composant WebPart Silverlight par défaut ; vous pouvez aussi créer un composant WebPart personnalisé dans le cadre d’une solution en bac à sable (sandbox).
Pour utiliser le modèle objet SharePoint Silverlight dans un composant WebPart Silverlight, vous pouvez créer une application Silverlight dans Visual Studio 2010, et ajouter votre code à la classe Page dans le fichier Page.xaml.cs par défaut de votre projet. Après avoir créé votre projet, téléchargez le fichier de package d’application du projet (.xap) vers une bibliothèque de documents de votre choix. Insérez un composant WebPart Silverlight dans une page de composants WebPart et faites pointer la source URL du composant WebPart vers l’emplacement du chemin d’accès du fichier .xap dans la bibliothèque de documents. Le composant WebPart peut contenir des propriétés personnalisées qui sont envoyées à Silverlight via la propriété InitParameters.
Utilisez l’authentification basée sur les formulaires pour authentifier des utilisateurs auprès de SharePoint Online.
De plus, vous pouvez utiliser Visual Studio 2010 pour créer un fichier de solution (.wsp) unique qui effectue les actions suivantes lorsqu’il est déployé et activé :
Déployer un composant WebPart basé sur le composant WebPart Silverlight par défaut pour héberger votre application Silverlight
Déployer le fichier de package d’application (.xap) Silverlight, empaqueté en tant que module, vers l’emplacement de la bibliothèque de documents spécifiée
Créer des pages, avec votre composant WebPart incorporé, dans la collection de pages de site
Après l’activation de la solution, l’utilisateur peut naviguer jusqu’aux pages créées et interagir avec le composant WebPart hébergeant l’application Silverlight. L’application elle-même peut utiliser le modèle objet SharePoint Silverlight pour accéder à distance à des données SharePoint Online, même si elles apparaissent à l’utilisateur comme étant hébergées dans SharePoint Online.
Utilisation du modèle objet ECMAScript dans SharePoint Online
Vous pouvez utiliser le modèle objet JavaScript dans SharePoint Online d’une façon similaire. Vous pouvez inclure du code personnalisé qui utilise le modèle objet JavaScript dans un bloc de scripts sur une page .aspx, ou bien vous pouvez créer un fichier .js distinct pour y inclure votre code et le référencer depuis la page .aspx. Pour plus d’informations, voir Configuration d’une page d’application pour ECMAScript.
En savoir plus sur les modèles objet clients SharePoint
Pour une introduction plus détaillée aux modèles objet clients, voir Utilisation du modèle objet de client géré SharePoint Foundation 2010. Pour des informations techniques détaillées et des instructions d’implémentation, voir les sections suivantes du SDK SharePoint 2010 :
Modèle objet client managé
Pour plus d’informations sur la création d’applications clientes Silverlight, voir Utilisation du modèle objet Silverlight et Procédure : utiliser un projet SharePoint pour déployer une application Silverlight (éventuellement en anglais).
Pour un exemple d’implémentation de référence d’utilisation des modèles objet clients SharePoint, voir Implémentation de référence : Client (éventuellement en anglais).
Pour des informations de référence sur l’API, voir Bibliothèque de classes Client et Bibliothèque de classes ECMAScript.
Pour apprendre à utiliser les modèles objet clients SharePoint, voir Modèle objet client sur Channel 9.
Voir aussi
Concepts
Personnalisation de SharePoint Online à l’aide de SharePoint Designer 2010
Développement de solutions SharePoint Online
Services Web dans SharePoint Online
Matrice de disponibilité des fonctionnalités de développement de SharePoint Online
Liens rapides SharePoint Online
Autres ressources
Référence générale SharePoint Online
Architecture des solutions en bac à sable (sandbox)
API Microsoft.SharePoint.dll disponibles à partir des solutions en mode bac à sable (sandbox)
Utilisation du modèle objet de client géré SharePoint Foundation 2010
Utilisation du modèle objet Silverlight
Configuration d’une page d’application pour ECMAScript
Modèle objet client managé
Directive du modèle objet client
Tâches courantes de programmation
Bibliothèque de classes Client
Bibliothèque de classes ECMAScript
Centre de ressources pour les développeurs SharePoint Online