Héberger des sites web, des sites web de complément et des composants SharePoint dans SharePointHost webs, add-in webs, and SharePoint components in SharePoint

Lorsqu’un complément qui comporte des composants SharePoint est installé sur un site web, il figure dans une liste sur la page Contenu du site à partir de laquelle il peut être lancé.When an add-in that includes SharePoint components is installed on a website, it is listed on the Site Contents page from which it can be launched. Cette liste, qui constitue le point de lancement du complément, est le seul élément à ajouter obligatoirement au site web, bien que d’autres éléments puissent éventuellement être ajoutés, par exemple une action personnalisée ou un composant de complément. That listing, which is the launch point of the add-in, is the only required addition to the website, although certain other things can optionally be added, such as a custom action or an add-in part. Pour plus d’informations sur ces options, consultez l’article décrivant comment accéder au complément à partir de l’interface utilisateur.For information about these options, see Accessing the add-in from the UI.

Sites web hôtes, sites web de complément et domaine isoléHost webs, add-in webs, and the isolated domain

À la différence des éléments d’interface utilisateur, les composants et le contenu d’un complément SharePoint, tels que les listes, les types de contenu, les flux de travail et les pages, sont déployés sur un autre site web dans un domaine isolé spécifique.Other than these UI elements, the SharePoint Add-in components and content, such as lists, content types, workflows, and pages, are deployed to a different website in a special isolated domain. Ceci est en grande partie invisible pour l’utilisateur. This fact is largely hidden from the user. Le site web sur lequel le complément est déployé est nommé site web de complément.The special website to which the add-in is deployed is called an add-in web. Le site web sur lequel le complément est installé est nommé site web hôte.The website to which the add-in is installed is called the host web. Bien que le site web de complément possède son propre domaine isolé, il se trouve dans la même collection de sites que le site web hôte.Although the add-in web has its own isolated domain, it is in the same site collection as the host web. (Une exception à cette règle se produit lorsque le complément est installé avec une étendue de location.(One exception to this rule is when the add-in is installed with tenant scope. Dans ce cas, le site web de complément se trouve dans la collection de sites du catalogue de compléments d’entreprise.)In that scenario, the add-in web is in the site collection of the corporate add-in catalog.)

La figure 1 représente un site web hôte avec deux compléments SharePoint installés.Figure 1 shows a host web with two SharePoint Add-ins installed. Le complément 1 est doté de composants distants, mais pas de composants SharePoint : il ne dispose donc pas de site web de complément.Add-in 1 has remote components, but no SharePoint components, so it has no add-in web. Le complément 2 n’est pas doté de composants distants, mais de deux listes SharePoint et d’un flux de travail.Add-in 2 has no remote components, but it has two SharePoint lists and a workflow. Ces éléments ont été déployés sur un sous-site isolé. (Un complément SharePoint peut être doté à la fois de composants distants et de composants hébergés sur SharePoint, ce qui n’est pas le cas pour les deux compléments représentés dans ce schéma.)These have been deployed to an isolated subsite (a SharePoint Add-in can have both remote and SharePoint-hosted components, although neither add-in in this diagram has both).

Figure 1 : site web hôte avec un complément hébergé par un fournisseur et un complément hébergé par SharePointFigure 1: Host web with a provider-hosted add-in and a SharePoint-hosted add-in

Page web d’hôte, page web d’application et leurs composants

Supposons par exemple qu'un complément doté de composants SharePoint légèrement au-delà des éléments d'interface utilisateur pouvant être déployés sur un site web hôte soit installé sur un site web hôte à l'URL suivante :For example, suppose that an add-in, with SharePoint components beyond just the UI elements that can be deployed to a host web, is installed on a host website at the following URL:

`https://www.fabrikam.com/sites/Marketing`

Le Complément SharePoint sera déployé sur un nouveau site web avec une URL telle que :The SharePoint Add-in will be deployed to a newly created website with a URL like the following:

`http://add-in-bdf2016ea7dacb.fabrikamadd-ins.com/sites/Marketing/Scheduler`

Notez que cette URL possède la structure suivante :Note that this URL has the following structure:

`https://` _Add-in_Prefix_ `-` _Add-in_ID_ `.` _Add-in_Base_Domain_ `/` _Domain_Relative_URL_of_Host_Web_ `/` _Add-in_Name_

Les espaces réservés sont définis comme suit :The placeholders are defined as follows:

  • Préfixe_du_complément est une chaîne de caractères définie par l'administrateur de la batterie de serveurs au niveau de l'Administration centrale. Sa valeur par défaut est « default ». Dans cet exemple, l'administrateur l'a remplacée par « add-in ».Add-in_Prefix is any string set by the farm administrator in Central Administration. The default is "default." In this example the administrator has changed this to "add-in."

  • ID_du_complément est un nombre hexadécimal généré en interne lorsque le complément est installé.Add-in_ID is a hexadecimal number generated internally when the add-in is installed.

  • Domaine_de_base_du_complément est une chaîne de caractères définie par l’administrateur de la batterie de serveurs au niveau de l’administration centrale ou avec le SharePoint Management Shell.Add-in_Base_Domain is any string set by the farm administrator in Central Administration or with SharePoint Management Shell. Cette valeur ne doit pas être définie sur un sous-domaine de l’application web SharePoint, car l’isolation de complément ne serait pas respectée.This should not be set to a subdomain of the SharePoint web application or the purpose of add-in isolation is largely defeated. Dans cet exemple, l’administrateur a supprimé « www »In this example, the administrator has removed the "www." et a ajouté « add-ins » au nom de la sociétéand added "add-ins" to the company name. fabrikamadd-ins.com est donc le domaine de base du complément.So fabrikamadd-ins.com is the add-in base domain.

  • URL_relative_au_domaine_du_site_web_hôte est l’URL relative du site web hôte parent, dans ce cas sites/Marketing.Domain_Relative_URL_of_Host_Web is the relative URL of the parent host web, in this case sites/Marketing.

  • Nom_du_complément est la valeur de l’attribut Name de l’élément app dans le fichier appmanifest.xml.Add-in_Name is the value of the Name attribute of the App element in the appmanifest.xml file.

Il existe deux raisons principales expliquant le déploiement des composants SharePoint sur des sites web de compléments, plutôt que sur des sites web hôte. Les deux sont liées à la sécurité.There are two primary reasons why SharePoint components are deployed to add-in webs, rather than the host web. Both are related to security.

  • Application des autorisations de complément : dans le modèle de complément SharePoint, un complément possède sa propre identité et il est doté d'autorisations qui ne correspondent pas nécessairement aux autorisations de l'utilisateur qui l'exécute. Ces autorisations sont demandées lorsque le complément est installé et elles sont accordées par l'installateur du complément, tant que celui-ci dispose de toutes les autorisations demandées par le complément. (Un l'utilisateur qui tente d'installer le complément sans disposer de toutes les autorisations demandées par celui-ci ne pourra pas mener à bien cette installation.) En attribuant à chaque complément son propre domaine, SharePoint peut identifier de manière fiable les demandes effectuées par le complément et vérifier les autorisations de celui-ci. Pour plus d'informations sur les autorisations de complément, voir Autorisations de complément.Enforcement of add-in permissions: In the model for SharePoint Add-ins, an add-in has its own identity and it has permissions that are not necessarily the same as the permissions of the user who is executing the add-in. These add-in permissions are requested when the add-in is installed and granted by the person who installs the add-in, as long as person has all the permissions that the add-in requests. (If the user who is installing the add-in does not have all the permissions that are requested by the add-in, the user cannot install the add-in.) By giving each add-in its own domain, SharePoint can reliably identify requests made by the add-in and verify the permissions of the add-in. For more information about add-in permissions, see Add-in permissions.

  • Sécurité des scripts à domaines multiples : les navigateurs actuels pratiquent la « stratégie d'origine identique » en ce qui concerne les appels de méthodes JavaScript. En déployant chaque Complément SharePoint sur son propre domaine, SharePoint tire parti de cette stratégie pour s'assurer que le code JavaScript du Complément SharePoint ne peut exécuter aucun code JavaScript d'un autre domaine, y compris du domaine dans lequel est installé le complément, du point de vue de l'utilisateur final.Cross-domain scripting security: Modern browsers support a "same origin policy" with regard to JavaScript method calls. By deploying each SharePoint Add-in to its own domain, SharePoint takes advantage of the browser's same origin policy to ensure that JavaScript in the SharePoint Add-in cannot execute any JavaScript from any other domain, including the domain in which, from the end-user's perspective, the add-in is installed.

    SharePoint propose également un moyen de s’affranchir en toute sécurité des limites de cette stratégie.SharePoint also provides a means of safely overcoming the limits of the policy. Entre autres aspects, les composants distants d’un complément SharePoint peuvent interroger des données de tout site web qui dépend à la fois des sites web hôtes et des sites web de complément.Among other things, this enables the remote components of a SharePoint Add-in to query data from any website in the common parent tenancy of the host and add-in webs. Pour plus d’informations, voir Accéder à des données SharePoint à partir de compléments à l’aide de la bibliothèque inter-domaines.For more information, see Access SharePoint data from add-ins using the cross-domain library.

Types de composants SharePoint pouvant figurer dans un complément SharePointTypes of SharePoint components that can be in a SharePoint Add-in

Un complément SharePoint peut généralement contenir un ou plusieurs des composants de la liste ci-dessous.In general, a SharePoint Add-in can contain one or more of the components in the following list. Sauf exception, ces composants doivent être déployés dans des fonctionnalités d’étendue Web, contenues dans un fichier de type .wsp (package de solution SharePoint).With certain exceptions, these components must be deployed in Web-scoped Features that are inside a SharePoint solution package (.wsp) file.

Notes

Les composants marqués d’un astérisque (*) sont présentés de manière plus détaillée dans la section Points à observer lors du déploiement des composants SharePoint plus loin dans cet article.The components that are marked with an asterisk (*) are discussed in more detail in the section Caveats for deploying SharePoint components later in this article.

  • Fonctionnalités (étendue web uniquement)Features (Web-scoped only)
  • Actions personnalisées (y compris les éléments de menu contextuel et les personnalisations du ruban)*Custom actions (including shortcut menu items and ribbon customizations)*
  • Récepteurs d’événements distants*Remote event receivers*
  • Balisage référençant les composants WebPart (notamment les composants de complément) qui sont inclus dans SharePoint (mais pas les composants WebPart personnalisés)*Markup that references web parts, including add-in parts, that are included in SharePoint (but not custom web parts)*
  • Fichiers de feuilles de style en cascade personnalisées (CSS) utilisés par les pages SharePointCustom cascading style sheets (CSS) files for use by SharePoint pages
  • Fichiers JavaScript personnalisés utilisés par les pages SharePointCustom JavaScript files for use by SharePoint pages
  • Modules (ensembles de fichiers)Modules (sets of files)
  • PagesPages
  • Modèles de listesList templates
  • Instances de listes et de bibliothèquesList and library instances
  • Formulaires de liste personnalisésCustom list forms
  • Listes d'affichage personnaliséesCustom list views
  • Types de contenu personnalisésCustom content types
  • Champs (de types de champs intégrés dans SharePoint)Fields (of field types that are built into SharePoint)
  • Modèles Microsoft Business Connectivity Services (BCS) (étendue web uniquement), types de contenu externe basés sur le modèle et listes externes qui utilisent les types de contenu*Microsoft Business Connectivity Services (BCS) models (Web-scoped only), external content types based on the model, and external lists that use the content types*
  • Flux de travail*Workflows*
  • Conteneurs de propriétésProperty bags
  • Modèles web (mais pas les définitions de site)*Web templates (but not site definitions)*

Aucun autre type de composant SharePoint ne peut être déployé dans un complément SharePoint.No other kind of SharePoint component can be deployed in a SharePoint Add-in. Pour plus d’informations sur les éléments qui peuvent être inclus dans un complément SharePoint, reportez-vous à Comparaison des compléments SharePoint et des solutions SharePoint.For more information about restrictions on what can be included in a SharePoint Add-in, see SharePoint Add-ins compared with SharePoint solutions.

Restrictions liées au déploiement de composants SharePointCaveats for deploying SharePoint components

Voici quelques restrictions et informations concernant le déploiement de certains types de composants SharePoint dans un complément :The following are some caveats and details concerning the deployment of certain kinds of SharePoint components in an add-in:

  • Actions personnalisées : vous pouvez ajouter des actions personnalisées dans le site web de complément, mais également dans le site web hôte. Pour ajouter une action personnalisée dans le site web de complément, vous devez l'inclure dans une fonctionnalité d'étendue Web contenue dans un fichier .wsp, de la même manière que pour tout composant à insérer dans le site web de complément. Pour ajouter une action personnalisée dans le site web hôte, vous pouvez inclure (même dans un complément externe) le balisage CustomAction dans une fonctionnalité contenue dans le package de complément mais en dehors de tout fichier .wsp. Les composants d'une telle fonctionnalité isolée s'appliquent au site web hôte et non au site web de complément. Ce type de fonctionnalité s'appelle donc unefonctionnalité de site web hôte .Custom actions: In addition to adding custom actions to the add-in web, you can add them to the host web as well. To add the custom action to the add-in web, you include it in a Web-scoped Feature that is inside a .wsp file, just as you would include any other component you add to the add-in web. To add a custom action to the host web, you can include (even in an externally based add-in) CustomAction markup in a Feature that is in the add-in package but outside any .wsp file. Components in such a "loose" Feature apply to the host web, not the add-in web, so this type of Feature is called ahost web Feature.

  • Composants WebPart : un seul type de composant WebPart (le composant de complément) peut être déployé dans un complément. Les composants de complément peuvent être déployés sur le site web de complément comme sur le site web hôte. Tous les autres types de composant WebPart peuvent être référencés dans les compléments, mais ils ne peuvent pas être déployés par ceux-ci. Si un composant de complément est déployé sur le site web hôte, il doit être inclus dans une fonctionnalité de site web hôte.Web Parts: One kind of web part, an add-in part, can be deployed in an add-in, and an add-in part can go to either the add-in web or the host web. All other types of web parts can be referenced in add-ins, but not deployed by them. If an add-in part is deployed to the host web, it should be included in a host web Feature.

  • Récepteurs d'événements distants : il s'agit d'une nouveauté de SharePoint. Les récepteurs d'événements distants sont semblables à des récepteurs d'événements SharePoint classiques, à ceci près que le code s'exécute dans le cloud. Ils ne sont pas disponibles dans les compléments hébergés sur SharePoint.Remote event receivers: These are new in SharePoint. They resemble classic SharePoint event receivers except that the code runs in the cloud. These are not available in a SharePoint-hosted add-in.

  • Flux de travail : Les flux de travail de SharePoint utilisent le moteur runtime de flux de travail hébergé dans Microsoft Azure, qui est une nouveauté de SharePoint. Les flux de travail codés qui utilisent le moteur runtime de flux de travail hébergé dans SharePoint ne peuvent pas être inclus dans un Complément SharePoint. Seuls les flux de travail déclaratifs ou les flux de travail qui utilisent ce nouveau moteur runtime sont autorisés.Workflows: Workflows in SharePoint use the Microsoft Azure-hosted workflow runtime that is new in SharePoint. Coded workflows that use the SharePoint-hosted workflow runtime cannot be included in a SharePoint Add-in. Only declarative workflows or workflows that use the newer runtime are allowed.

  • Modèles Microsoft Business Connectivity Services (BCS), types de contenu externe et listes externes : les modèles Service Business Data Connectivity (BDC) ont habituellement une étendue plus large qu’une collection de sites.Microsoft Business Connectivity Services (BCS) models, external content types, and external lists: Business Data Connectivity (BDC) service models typically have a scope that is wider than a site collection. Toutefois, lorsqu’un modèle Service Business Data Connectivity (BDC) est déployé dans un complément, son étendue est limitée au site web de complément.However, when a BDC service model is deployed in an add-in, its scope is limited to the add-in web. Lorsqu’un modèle Service Business Data Connectivity (BDC) est inclus dans un complément, il n’est pas stocké dans le magasin de service partagé Service Business Data Connectivity (BDC).When a BDC service model is included in an add-in, it is not stored in the BDC service shared service store. En revanche, il est stocké sous forme de fichier dans le site web de complément.Instead, it is stored as a file in the add-in web.

  • Modèles web : dans la plupart des cas, il est recommandé que le site web de complément instancie la nouvelle configuration de définition de site intégrée APP#0, optimisée pour les sites web de complément.Web Templates: In most cases, you will want the add-in web to instantiate the new built-in site definition configuration APP#0, which is optimized for add-in webs. Pour plus d’informations à ce sujet, consultez Accéder au complément à partir de l’interface utilisateur. SharePoint utilise automatiquement APP#0 lorsque le package de complément ne contient pas d’élément WebTemplate.(For more information, see Accessing the add-in from the UI.) SharePoint automatically uses APP#0 when the add-in package does not include a WebTemplate element.

    Vous pouvez également définir un type de site personnalisé pour le site web de compléments. Il existe deux étapes principales à ce sujet :You can also define a custom site type for the add-in web. There are two major steps to doing this:

    • Intégrez un élément WebTemplate (modèle web) personnalisé, un fichier one.xml, et si possible d’autres fichiers associés dans la fonctionnalité de site web de complément pour votre complément. Include a custom WebTemplate Element (Web Template), an onet.xml file, and possibly other associated files, in the add-in web Feature for your add-in. Déployez de la manière habituelle le modèle web de la fonctionnalité d’étendue web dans un fichier .wsp au sein du package de complément.Deploy the web template in the Web-scoped Feature in a .wsp file inside the add-in package as usual.

    • Ajoutez un élément WebTemplate (PropertiesDefinition, complexType) (manifeste de complément SharePoint) dans le manifeste de complément en tant qu’enfant de l’élément Properties. Définissez son attribut Id sur le GUID de la fonctionnalité de site web de complément et la valeur de l’attribut Name de l’élément WebTemplate (modèle web). Add a WebTemplate element (PropertiesDefinition complexType) (SharePoint Add-in Manifest) to the add-in manifest as a child of the Properties element, and set its Id attribute to the GUID of the add-in web Feature and the value of the Name attribute of the WebTemplate Element (Web Template). Le GUID doit être séparé par des tirets et encadré par des accolades « {} », et le GUID et le nom de modèle doivent être séparés par le caractère « # »,Note that the GUID must be hyphenated and wrapped in braces "{}", and the GUID and template name are separated by the "#" character. Voici un exemple :The following is an example:

         <WebTemplate Id="{81dd4ae5-873b-4759-9838-4ad9c3dd2952}#NewSiteType" />
      

    Notes

    Le nouvel élément WebTemplate pour les manifestes de complément n’a pas le même balisage que l’élément WebTemplate qui peut être inclus dans les fonctionnalités. The new WebTemplate element for add-in manifests is not the same markup as the WebTemplate element that can be included in Features. L’élément WebTemplate qui peut être inclus dans les fonctionnalités définit un type de site, mais l’élément WebTemplate pour les manifestes de complément détermine simplement le type de site à utiliser.The WebTemplate element that can be included in Features defines a type of site, but the WebTemplate element for add-in manifests simply identifies what type of site to use. Pour plus d’informations sur le manifeste de complément d’un complément Sharepoint, reportez-vous à la structure du package de complément.For more information about the add-in manifest of a SharePoint Add-in, see Add-in package structure.

    Attention

    N’utilisez pas l’élément WebTemplate dans le manifeste de complément pour désigner l’une des configurations de définition de site SharePoint intégrées en tant que type de site web de complément. Nous ne prenons pas en charge les configurations de définition de site intégrées autres que APP#0 pour les sites web de complément.Do not use the WebTemplate element in the add-in manifest to designate any of the built-in SharePoint site definition configurations as the add-in web's site type. We do not support using any of the built-in site definition configurations, other than APP#0, for add-in webs.

    Pour plus d’informations sur les configurations de définition de site et les modèles web, consultez Utilisation des modèles de site et des définitions.For more information about site definition configurations and web templates, see Working with Site Templates and Definitions.

Voir aussiSee also