Compléments SharePoint

Il existe deux types de compléments SharePoint de base : hébergés par SharePoint et hébergés par un fournisseur. Pour prendre la meilleure décision concernant le bon type de développement pour votre scénario, commencez par découvrir ce que les deux types de compléments SharePoint ont en commun.

Notes

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 :
    • Pleine page immersive de l’expérience de l’application SharePoint : En tant que pleine page immersive de l’expérience qui peut prendre l’apparence d’une page SharePoint.
    • Expérience particulière d’application pour l’application SharePoint : Dans le cadre d'une page web, en utilisant un type de commande particulier appelé composant de complément, pour exposer un élément iframe contenant le complément.
    • Expérience personnalisée d’action pour l’application SharePoint : En tant que commandes d’interface utilisateur qui développent les rubans et les menus pour les listes, les documents, etc.
  • Tous les compléments SharePoint que les utilisateurs installent obtiennent une vignette sur la page Contenu du site du site web SharePoint. Cliquez sur la vignette pour exécuter le complément.
  • 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 œil à quelques compléments SharePoint dans l’Office Store pour avoir une idée des compléments vous pourriez développer. Sinon, vous pouvez ouvrir un site web SharePoint et installer quelques compléments SharePoint gratuits. Pour cela, accédez à Contenu du site | Ajouter un complément | SharePoint Store.

Recommandations destinées aux développeurs expérimentés de SharePoint

Nous déconseillons les solutions bac à sable (sandbox) qui contiennent du code personnalisé côté serveur. Les solutions bac à sable (sandbox) « sans code » et les solutions bac à sable (sandbox) qui contiennent uniquement du code JavaScript sont toujours prises en charge.

Les compléments SharePoint n’utilisent pas le modèle objet SharePoint côté serveur. Les modèles objet côté client sont considérablement développés dans SharePoint. Bien que certaines API du modèle objet serveur SharePoint ne soient pas disponibles dans les modèles objet client, il s’agit presque entièrement de classes administratives et liées à la sécurité. Une logique SharePoint personnalisée qui traite ces zones est plus appropriée pour un script Windows PowerShell ou une solution de batterie de serveurs SharePoint classique. Pour savoir comment choisir parmi les compléments SharePoint, les solutions de batterie de serveurs SharePoint classiques et les solutions bac à sable, consultez compléments SharePoint par rapport aux 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 le Office store . Le magasin gère le processus marketing pour vous, de la découverte à l’achat en passant par les mises à jour. Microsoft dispose d’un 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

Comparaison entre les applications hébergées par SharePoint et 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 dans les compléments hébergés par SharePoint peut accéder aux données et aux ressources qui se trouvent en dehors du site web du complément à l’aide de l’une des deux techniques permettant de contourner en toute sécurité la même stratégie d’origine du navigateur : une bibliothèque inter-domaines JavaScript spéciale ou une classe JavaScript WebProxy spécifique. À l’aide de 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).

Notes

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 disposez d’une flexibilité totale pour l’infrastructure d’hébergement que vous utilisez pour les composants distants. Vous n’êtes pas obligé d’utiliser une pile Microsoft. Toute infrastructure d’hébergement web peut être utilisée, y compris LAMP (Linux, serveur Apache, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java, Python, etc., et vous pouvez utiliser des outils de développement non-Microsoft. En outre, les composants distants peuvent être hébergés dans des services cloud non-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 ?

Notes

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.

Voir aussi