Compléments SharePoint
Il existe deux types de compléments SharePoint de base : ceux hébergés par SharePoint et ceux hébergés par un fournisseur. Pour choisir le type de complément le mieux adapté à votre scénario, découvrez les points communs des deux types de complément SharePoint.
Remarque
Une application pour appareil, comme une application mobile, n’est pas vraiment un « complément SharePoint » même si elle accède à SharePoint. Il en va de même pour une application web lancée à partir d’un environnement extérieur à SharePoint. Si vous souhaitez développer l’une de ces applications, consultez l’article expliquant comment accéder à SharePoint à partir d’applications mobiles et natives pour appareil.
- Un complément SharePoint est un élément de fonctionnalité autonome qui étend les capacités des sites web SharePoint pour résoudre un problème opérationnel bien précis.
- Les compléments n’ont pas de code personnalisé qui s’exécute sur les serveurs SharePoint. Toutes les logiques personnalisées sont envoyées vers le cloud, sur des ordinateurs clients ou vers un serveur local situé en dehors de la batterie SharePoint ou de l’abonnement SharePoint Online. En conservant le code personnalisé en dehors des serveurs SharePoint, les administrateurs SharePoint ont la garantie que le complément n’endommagera pas leurs serveurs ou ne réduira pas les performances de leurs sites web SharePoint.
- La logique métier dans une Complément SharePoint peut accéder aux données SharePoint par l'une des nombreuses API clientes incluses dans SharePoint. Le choix des API utilisées par votre complément dépendra d'autres décisions de conception que vous prendrez.
- Pratiquement chaque type principal de composant SharePoint peut faire partie d'une Complément SharePoint, y compris les pages, listes, flux de travail, types de contenus personnalisés, modèles de liste, composants WebPart, etc.
- Les sites web SharePoint, où des compléments SharePoint sont installés et à partir desquels les utilisateurs les lancent, sont appelés « sites web hôtes ». Cependant, les composants SharePoint se trouvent généralement dans un site web enfant spécial du site web hôte, qui est appelé « site web de complément ».
- Les compléments SharePoint peuvent être intégrés à un site web SharePoint de plusieurs façons :
- : en tant qu’expérience de page complète immersive qui peut avoir l’apparence d’une page SharePoint.
- : dans le cadre d’une page web, en utilisant un type spécial de contrôle appelé composant de complément, pour exposer un élément iFrame qui contient le complément.
- : en tant que commandes d’interface utilisateur qui étendent les rubans et les menus pour les listes, les documents, etc.
- Tous les compléments SharePoint installés par les utilisateurs sont représentés par une vignette sur la page « Contenu du site » du site web SharePoint. Pour exécuter le complément, il suffit de cliquer sur sa vignette.
- Un complément SharePoint est configuré à l’aide d’un manifeste de complément, c’est-à-dire un fichier XML qui déclare les propriétés de base du complément, l’emplacement à partir duquel il est exécuté et l’action que SharePoint doit exécuter au démarrage du complément. Le manifeste peut, entre autres, spécifier les langues prises en charge par le complément, les services et les fonctionnalités SharePoint dont il dépend, et les autorisations d’accès au site web hôte requises par le complément. (Les compléments SharePoint contrôlent entièrement leur propre site web.)
- Les compléments SharePoint sont distribués dans des packages de complément qui contiennent au moins le manifeste de complément. (Si le complément n’a aucun composant SharePoint, seul le manifeste de complément est intégré au package de complément.) Si le complément possède des composants SharePoint dans un site web de complément, ceux-ci sont intégrés au package sous forme de fichiers XML. Les composants distants hébergés par un environnement extérieur à SharePoint, comme une application web distante ou une base de données, ne sont pas inclus dans le package et sont déployés séparément à partir du package de complément. (Toutefois, le manifeste de complément spécifie les URL des composants distants.)
- Les packages de complément peuvent également contenir des compléments Office. Quand le complément SharePoint est installé, le complément Office est ajouté à un catalogue de compléments Office dans SharePoint. Les utilisateurs peuvent l’installer à partir du catalogue, dans les applications Office, à l’instar de Word ou d’Excel.
Conseil
Jetez un coup d’œil à quelques compléments SharePoint dans l’OfficeStore pour avoir une idée de ce que vous pouvez développer. Ou ouvrez un site web SharePoint et installez certains des compléments SharePoint gratuits. Accédez simplement à Contenu du site | ajoutez un complément | SharePoint Store.
Recommandations destinées aux développeurs expérimentés de SharePoint
Nous déconseillons d'utiliser du solutions bac à sable qui contient du code personnalisé côté serveur. Le solutions bac à sable « sans code » et le solutions bac à sable qui contient uniquement du code JavaScript sont toujours pris en charge.
Les compléments SharePoint n’utilisent pas le modèle objet SharePoint côté serveur. Les modèles objet client sont bien plus répandus dans SharePoint. Même si certaines API du modèle objet SharePoint côté serveur ne sont pas disponibles dans les modèles objet client, ces API sont presque exclusivement des classes administratives ou liées à la sécurité. La logique SharePoint personnalisée qui traite de ces aspects convient davantage à un script Windows PowerShell ou à une solution de batterie de serveurs SharePoint classique. Pour savoir comment choisir entre des compléments SharePoint, des solutions de batterie de serveurs SharePoint classiques et des solutions bac à sable (sandbox), consultez l’article Comparaison des compléments pour SharePoint et des solutions SharePoint.
Deux façons pour distribuer et vendre un package de compléments
Vous pouvez distribuer un package de compléments de deux manières distinctes :
- Dans le catalogue de compléments d’une organisation, c’est-à-dire une collection de sites SharePoint dédiée dans la batterie de serveurs locale ou l’abonnement SharePoint Online. Cette méthode est utilisée quand le complément est créé spécifiquement pour une organisation.
- Dans l’Office Store. L’Office Store s’occupe de toutes les étapes commerciales pour vous, de la découverte à l’achat, en passant par les mises à jour. Microsoft a également mis en place le service Mon tableau de bord vendeur pour vous aider à vendre des compléments via l’Office Store.
Une fois que vous avez déployé le complément, quelle que soit la méthode choisie, il est disponible et prêt à être installé sur la page Ajouter un complément des sites web SharePoint. Si le complément requiert des autorisations pour accéder au site web hôte ou à son abonnement parent, SharePoint demande à l'utilisateur qui a installé le complément d'accorder ces autorisations.
Si vous devez mettre à jour un complément pour résoudre un bogue ou ajouter des fonctionnalités, apportez les modifications et augmentez le numéro de version du complément dans le manifeste de complément. Ensuite, redéployez le package de complément dans l'Office Store ou le catalogue de compléments. Dans un délai de 24 heures, les utilisateurs recevront une notification dans l'interface utilisateur SharePoint leur indiquant qu'une mise à jour est disponible. Ils peuvent installer la mise à jour en un simple clic.
Deux types d'Compléments SharePoint : applications hébergées par SharePoint et applications hébergées par un fournisseur
Compléments SharePoint hébergées par SharePoint
Les compléments hébergés par SharePoint sont essentiellement constitués de composants SharePoint dans un site web de complément. On dit parfois que leur « centre de gravité est sur SharePoint ».
Comme tous les compléments SharePoint, un utilisateur peut exécuter un complément hébergé par SharePoint depuis une vignette située sur la page Contenu du site du site web SharePoint où il est installé. Si vous le souhaitez, le site web hôte peut contenir deux autres types de composant d’interface utilisateur : des composants de complément et des actions personnalisées (c’est-à-dire des boutons personnalisés du ruban ou des éléments de menu). Tous les autres éléments d’un complément hébergé par SharePoint sont déployés dans le site web de complément. Ces composants sont définis de façon déclarative à l’aide de fichiers XML et peuvent inclure, entre autres, les éléments suivants :
- Pages personnalisées
- Flux de travail
- Modules (ensembles de fichiers)
- Modèles de listes
- Instances de listes et de bibliothèques
- Vues et formulaires de liste personnalisés
- Types de contenu personnalisés
- Modèles web
- Colonnes intégrées (colonnes non personnalisées)
- Composants WebPart intégrés (composants WebPart non personnalisés)
- Des fichiers JavaScript
- Boutons et éléments de menu personnalisés pour le site web du complément
Toutes les logiques métier présentes dans un complément hébergé par SharePoint utilisent JavaScript, soit directement sur une page personnalisée, soit dans un fichier JavaScript référencé à partir d’une page personnalisée. Il existe une version JavaScript du modèle objet SharePoint (JSOM) pour permettre au complément d’effectuer les opérations CRUD (création, lecture, mise à jour et suppression) sur les données SharePoint.
Les pages personnalisées d’un complément hébergé par SharePoint sont généralement des pages ASP.NET (ASPX) qui peuvent référencer de manière déclarative les commandes SharePoint prêtes à l’emploi et ASP.NET. Toutefois, aucun code ne peut être utilisé. Par contre, vous pouvez personnaliser les commandes SharePoint à l’aide d’un rendu côté client et d’un élément JavaScript personnalisé.
Le code JavaScript utilisé dans les compléments hébergés par SharePoint peut accéder aux données et aux ressources situées en dehors du site web de complément pour travailler en toute sécurité sur la même stratégie d’origine du navigateur en utilisant l’une de ces deux techniques : une bibliothèque inter-domaines JavaScript spéciale ou une classe WebProxy JavaScript spécifique. Avec ces techniques, un complément hébergé par SharePoint peut utiliser des données sur le site web hôte, son abonnement parent ou n’importe où sur Internet.
Compléments SharePoint hébergés par un fournisseur
Tout composant SharePoint pouvant se trouver dans un complément hébergé par SharePoint peut également se trouver dans un complément hébergé par un fournisseur. Cependant, les compléments hébergés par un fournisseur sont différents des compléments hébergés par SharePoint, car ils contiennent au moins un composant distant, comme une application web, un service ou une base de données, qui est hébergé en dehors de la batterie de serveurs SharePoint ou de l’abonnement SharePoint Online. Par exemple, il peut être hébergé dans un serveur faisant partie du même réseau d’entreprise qu’une batterie de serveurs SharePoint ou qu’un service cloud. Les composants externes peuvent être hébergés sur n’importe quelle pile d’hébergement web, y compris la pile Linux, Apache, MySQL ou PHP (LAMP).
Remarque
Le « fournisseur » est le propriétaire du serveur ou du compte cloud. Il peut s’agir de la même société ou organisation qui possède la batterie SharePoint ou le client SharePoint Online où le complément doit être installé. Toutefois, le développeur du complément peut également être le fournisseur. Généralement, quand un complément est créé pour une organisation, l’organisation fournit l’hébergement. Cependant, quand un complément est créé pour plusieurs organisations, il est plus probable que le développeur héberge les composants distants. Le développeur est obligé d’héberger les composants quand le complément SharePoint est commercialisé sur l’Office Store, car il n’a pas les coordonnées des acheteurs du complément. Dans ce cas, les différentes instances du complément connaissent l’URI du composant distant, car il est spécifié dans le manifeste du complément.
Vous pouvez utiliser l’infrastructure d’hébergement de votre choix pour les composants distants. Vous n’êtes pas obligé d’utiliser une pile Microsoft. N’importe quelle infrastructure d’hébergement web peut être utilisée, y compris les piles LAMP (Linux, Apache, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java et Python. Vous pouvez également utiliser des outils de développement qui ne sont pas fournis par Microsoft. De même, les composants distants peuvent être hébergés dans des services de cloud computing qui ne sont pas fournis par Microsoft.
Vous pouvez donner aux pages distantes du complément l’apparence de pages SharePoint à l’aide d’un contrôle Chrome spécial.
Les données distantes peuvent être des objets BLOB, des caches, des files d'attente de messages, des réseaux de distribution de contenu et des bases de données, entre autres. De plus, les bases de données peuvent être de n'importe quel type, par exemple des bases de données relationnelles et orientées objet. Les données distantes sont accessibles de différentes façons. Par exemple, vous pouvez utiliser Business Connectivity Services (BCS) pour exposer les données dans une liste SharePoint. Une autre possibilité consiste à exposer les données dans une grille sur la page d'une application web distante.
Les Compléments SharePoint utilisent des API SharePoint pour se connecter aux fonctionnalités SharePoint (recherche, flux de travail, réseau social, taxonomie, profils utilisateur, BCS, etc.) et les intégrer. Elles peuvent alors, entre autres, lire des documents, effectuer des recherches, mettre des personnes en relation et exécuter des opérations CRUD. Il existe plusieurs ensembles d'API :
- Lorsque les composants distants sont mis en œuvre avec .NET, la bibliothèque modèle CSOM (Client-Side Object Model) SharePoint de code managé est disponible.
- Pour les composants distants qui ne reposent pas sur .NET, il existe un ensemble d’API REST/OData qui peuvent être utilisées pour accéder aux données SharePoint. Elles peuvent également être utilisées à partir d’un client .NET si vous préférez travailler dans une interface OData.
- La bibliothèque JSOM, mentionnée précédemment, ne peut pas être utilisée sur une page distante, mais les compléments hébergés par un fournisseur peuvent contenir des pages SharePoint personnalisées dans un site web de complément et le code JavaScript sur ces pages peut utiliser la bibliothèque JSOM.
Les compléments hébergés par un fournisseur qui accèdent à SharePoint sont des principaux de sécurité tout comme les utilisateurs et les groupes. Le principal de complément doit être authentifié et autorisé, tout comme l'utilisateur. Le complément a besoin d'autorisations pour exécuter des opérations sur les données SharePoint dans le site web hôte. Dans la plupart des scénarios, les autorisations effectives d'un utilisateur utilisant SharePoint via une Complément SharePoint sont l'intersection entre les autorisations de l'utilisateur et celles du complément, bien qu'il existe quelques scénarios dans lesquels un utilisateur peut exécuter des opérations avec un complément qu'il n'aurait autrement pas été autorisé à faire.
Les compléments hébergés par un fournisseur peuvent se connecter à n’importe quel service web public ou interne et, contrairement aux compléments hébergés par SharePoint, ils peuvent gérer des événements d’élément de liste et de liste SharePoint, comme l’ajout d’un élément à une bibliothèque de documents.
Choisir votre développement SharePoint
Vous êtes prêt ?
Si vous êtes un développeur SharePoint expérimenté, nous vous recommandons de commencer avec les compléments hébergés par SharePoint.. Ils représentent la solution la plus proche des types d'extensions SharePoint que vous avez créées par le passé.
Commencer à créer des compléments SharePoint hébergés par SharePoint
Si vous êtes un développeur d’applications web ASP.NET expérimenté, nous vous recommandons de commencer avec des compléments hébergés par un fournisseur. Leur conception repose sur des applications web.
Commencer à créer des compléments hébergés par un fournisseur pour SharePoint
Si vous voulez développer un complément hébergé par un fournisseur sur une pile autre que Microsoft, voici par où commencer :
- Si vous n’avez pas encore installé les outils appropriés pour votre pile, installez-les.
- Créez un compte de développeur sur Office 365 pour effectuer des tests et des débogages. Pour plus d’informations, consultez Configurer un environnement de développement pour les compléments SharePoint sur Office 365, ou si vous disposez déjà d’un abonnement Office 365, vous devez simplement y créer un site du développeur.
- Votre complément utilisera des API REST/OData de SharePoint pour exécuter des opérations CRUD sur les données SharePoint :
- Notre documentation explicative se trouve dans l’article portant sur le service REST SharePoint et dans d’autres articles qui y sont mentionnés.
- Les documents de référence se trouvent dans l’article Référence d’API REST pour SharePoint 2013.
- Si vous n’utilisez pas Visual Studio, créez le fichier manifeste du complément et le package du complément. Pour en savoir plus, reportez-vous à la rubrique Explorer la structure du manifeste de l’application et le package d’un complément SharePoint. Visual Studio et les outils de développement Microsoft Office pour Visual Studio présentent de nombreux avantages qui vous aideront à gagner du temps lors de l’élaboration de votre manifeste et de votre package. Pensez à les utiliser, même si vous utilisez un autre outil pour créer l’application web distante en elle-même. La version Community Edition de Visual Studio est gratuite.
- Dans la section OfficeDev de GitHub, vous trouverez des exemples de compléments hébergés par un fournisseur pour des langues et des plateformes non fournies par Microsoft, comme PHP-App-for-SharePoint.
Remarque
Si vous débutez en développement SharePoint et web, nous vous recommandons de commencer par le cours gratuit de Microsoft Virtual Academy ou de consulter un livre sur le développement SharePoint.