Partager via


Bloc de construction : Composants WebPart

Dernière modification : vendredi 9 avril 2010

S’applique à : SharePoint Foundation 2010

Dans cet article
Modèle objet pour les composants WebPart
Code XML pour les composants WebPart
Domaines relatifs aux composants WebPart
Plus d’informations sur les composants WebPart

Les composants WebPart sont des contrôles du côté serveur qui s’exécutent dans le contexte de pages de site Microsoft SharePoint Foundation. Vous pouvez les utiliser pour personnaliser l’interface utilisateur et pour modifier le contenu d’une page de site. Microsoft SharePoint Foundation inclut des composants WebPart par défaut ainsi que la possibilité de créer des composants WebPart personnalisés. Deux types de composants WebPart sont pris en charge dans SharePoint Foundation. Il s’agit des composants WebPart SharePoint et des composants WebPart ASP.NET. Les composants WebPart ASP.NET utilisent la classe de base System.Web.UI.WebControls.WebParts.WebPart, tandis que les composants WebPart SharePoint utilisent la classe de base Microsoft.SharePoint.WebPartPages.WebPart. Les deux types de composants sont pris en charge mais les composants WebPart ASP.NET sont recommandés pour tous les nouveaux projets.

Les sections suivantes donnent une vue d’ensemble des différents types de composants WebPart et du code XML qui est utilisé avec ceux-ci, et inclut des liens vers des informations plus détaillées et des procédures pas à pas.

Modèle objet pour les composants WebPart

Les composants WebPart de SharePoint Foundation sont basés sur l’infrastructure de composants WebPart Microsoft ASP.NET. Pour créer des composants WebPart pour des applications ciblant SharePoint Foundation, vous devez créer des composants WebPart personnalisés basés sur l’infrastructure de composants WebPart ASP.NET. Cependant, dans des cas très peu nombreux, il peut être nécessaire de créer des composants WebPart prenant en charge des fonctionnalités SharePoint Foundation qui ne sont pas disponibles dans l’infrastructure de composants WebPart ASP.NET.

Composants WebPart ASP.NET

L’infrastructure de composants WebPart ASP.NET est basée sur une classe WebPartManager qui gère la durée de vie des instances des composants WebPart lors de l’exécution.

Chaque page ASP.NET utilisant des contrôles de composants WebPart doit contenir les objets suivants pour pouvoir prendre en charge la personnalisation :

  • Un objet WebPartManager qui fait le suivi des composants WebPart qui ont été ajoutés à chaque zone particulière, et qui stocke et récupère des données sur la façon dont chaque composant WebPart a été personnalisé.

  • Un ou plusieurs objets WebPartZone où les composants WebPart sont placés.

Pour exécuter des composants WebPart SharePoint Foundation dans une application ASP.NET, vous devez créer une page .aspx contenant exactement une instance du contrôle WebPartManager et un ou plusieurs contrôles WebPartZone. Le WebPartManager est responsable de la sérialisation des données relatives aux composants WebPart, ainsi que du stockage et de la récupération de ces données dans la base de données.

Les contrôles SPWebPartManager et WebPartZone gèrent la sérialisation des données associées aux composants WebPart dans la base de données de contenu SharePoint Foundation appropriée. Pour pouvoir conserver vos données, vos composants WebPart ASP.NET doivent être placés sur une page avec ces deux contrôles.

Comme ces contrôles spécifiques à SharePoint Foundation sont requis sur des pages contenant des composants WebPart, vous ne pouvez pas simplement copier votre page ASP.NET dans un site SharePoint Foundation. Pour déplacer des composants WebPart ASP.NET d’une application ASP.NET vers une application SharePoint Foundation, exportez-les d’abord depuis ASP.NET en tant que fichiers .webpart puis importez-les dans un site SharePoint Foundation.

Composants WebPart SharePoint

L’infrastructure de composants WebPart SharePoint Foundation utilise de nombreux contrôles du jeu de composants WebPart ASP.NET, et introduit plusieurs de ses propres contrôles qui héritent des classes de base fournies par le jeu de composants WebPart ASP.NET.

Par exemple, les pages de site pour un site SharePoint Foundation n’utilisent pas la classe WebPartManager ASP.NET standard. Au lieu de cela, elles utilisent la classe SPWebPartManager spécifique à SharePoint Foundation qui hérite du WebPartManager ASP.NET.

Notes

La page maître par défaut qui est fournie avec SharePoint Foundation inclut une instance de la classe SPWebPartManager : ce contrôle est donc automatiquement inclus avec toutes vos pages de contenu SharePoint Foundation.

De façon similaire, une Page de composants WebPart pour un site Web SharePoint Foundation utilise aussi une classe WebPartZone spécifique à SharePoint Foundation qui hérite de la classe WebPartZone ASP.NET.

Code XML pour les composants WebPart

Les composants WebPart de SharePoint Foundation utilisent plusieurs sections de code XML pour les configurer, les déployer et les sécuriser dans un site Web. Une partie du code XML sort des limites de cette présentation mais des liens vers des informations pertinentes figurent à la fin de cette rubrique.

Définitions des composants WebPart

Un fichier de définition de composant WebPart (.webpart) est un simple fichier XML contenant des paramètres de propriétés pour un même composant WebPart. Pour importer votre composant WebPart dans une page de composants WebPart, téléchargez simplement le fichier .webpart ou ajoutez le composant WebPart à la galerie de composants WebPart. Après avoir téléchargé le composant WebPart, vous pouvez l’afficher en le faisant glisser dans une des zones de la page de composants WebPart. Pour afficher le nom et la description par défaut du composant WebPart après son importation, vous devez inclure les propriétés Title et Description. Si vous voulez définir d’autres propriétés du composant WebPart au cours de l’importation, vous pouvez aussi les définir dans un fichier .webpart. Un fichier .webpart se présente comme suit.

<?xml version="1.0" encoding="utf-8" ?> 
  <webParts>
     <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
       <metaData>
         <type name="TypeName, Version=VersionNumber, Culture=neutral, 
         PublicKeyToken=PublicKeyToken" /> 
         <importErrorMessage>Cannot import this Web 
         Part.</importErrorMessage> 
       </metaData>
       <data>
         <properties>
           <property name="Title" type="string">
              WebPartTitle
           </property>
           <property name="Description" type="string">
              WebPartDescription
           </property>
         </properties>
       </data>
     </webPart>
   </webParts>

Entrées SafeControl

Pour empêcher les utilisateurs non approuvés d’ajouter arbitrairement du code côté serveur dans des pages ASPX, SharePoint Foundation fournit une liste SafeControls. La liste SafeControls est une liste de contrôles et de composants WebPart approuvés spécifiques à votre site SharePoint et que vous avez désignés comme pouvant être appelés en toute sécurité sur toutes les pages ASPX de votre site. Cette liste est contenue dans le fichier web.config de la racine de votre application Web. Une entrée SafeControl est une déclaration basée sur le code XML d’un composant WebPart qui a le format suivant.

<SafeControl Assembly="AssemblyNameWithoutDLLExtension, Version=AssemblyVersionNumber, Culture=neutral, PublicKeyToken=PublicKeyToken" Namespace="NamespaceOfYourProject" TypeName="*" Safe="True" />

Pour plus d’informations sur l’utilisation de la sécurité d’accès du code, voir Déploiement de composants WebPart dans SharePoint Foundation.

Sécurité d’accès du code

La sécurité d’accès du code est un modèle de contraintes de ressources de SharePoint Foundation qui limite l’accès d’un assembly aux ressources et aux opérations système protégées. SharePoint Foundation a des stratégies de sécurité par défaut qui reposent sur les stratégies de sécurité intégrées d’ASP.NET. Par défaut, SharePoint Foundation utilise un ensemble d’autorisations qui autorise un accès minimal aux ressources système de façon à protéger le serveur et l’infrastructure sous-jacente du code malveillant.

Le code XML utilisé pour la sécurité d’accès du code n’est pas couvert par cette section. Pour plus d’informations sur la sécurisation des composants WebPart, voir Sécurisation des composants WebPart dans SharePoint Foundation.

Domaines relatifs aux composants WebPart

Blocs de contruction : Solutions

Bloc de construction : fonctionnalités

Plus d’informations sur les composants WebPart

Composants WebPart dans SharePoint Foundation

Développement de composants WebPart dans Windows SharePoint Services