Types de contenu de liste et de site

Dernière modification : dimanche 21 novembre 2010

S’applique à : SharePoint Foundation 2010

Dans cet article
Types de contenu de site
Types de contenu de liste
Incidences de l’ajout d’un type de contenu de site à une liste

Disponible dans SharePoint Online

Vous créez et gérez les types de contenu au niveau du site. Lorsque vous créez un type de contenu et que vous l’ajoutez à la collection de types de contenu d’un site, il devient ce que l’on appelle un type de contenu de site. À ce stade, le type de contenu peut être ajouté à des listes et à des bibliothèques de documents, mais cette opération n’a pas encore eu lieu.

Lorsque vous ajoutez un type de contenu de site à une liste, Microsoft SharePoint Foundation crée une copie locale du type de contenu de site et ajoute la copie à la liste. Cette instance locale est nommée un type de contenu de liste et s’applique uniquement à la liste dans laquelle elle a été copiée.

Types de contenu de site

Lorsque vous créez un type de contenu et que vous l’ajoutez à la collection de types de contenu d’un site, le nouveau type de contenu est disponible pour n’importe quel site enfant, ainsi que pour le site sur lequel il a été créé. Par exemple, si vous créez un type de contenu de site au niveau du site racine d’une collection de sites, ce type de contenu de site est disponible dans tous les sites dans la hiérarchie de sites. Si vous ajoutez un nouveau type de contenu à un site situé à un niveau inférieur dans la hiérarchie, il est disponible dans le site où vous l’ajoutez et dans tous les sites situés sous celui-ci dans la hiérarchie. Pour plus d’informations, voir Étendue du type de contenu.

Vous pouvez passer en revue la liste des types de contenu disponibles pour un site en sélectionnant Paramètres du site dans l’interface utilisateur. Lorsque la page Paramètres du site apparaît, recherchez la section Galeries, puis cliquez sur Types de contenu de site. Pour obtenir une liste similaire par programme, créez un objet qui représente le site en instanciant la classe SPWeb dans du code serveur ou la classe Web dans du code client. Ensuite, itérez au sein de la collection retournée par la propriété AvailableContentTypes de l’objet.

La collection qui est retournée par la propriété AvailableContentTypes est accessible en lecture seule. En effet, la collection comprend non seulement les types de contenu définis sur le site actuel, mais également ceux définis sur les sites situés au-dessus de celui-ci dans la hiérarchie de sites. Pour ajouter un nouveau type de contenu ou supprimer un type de contenu existant, vous devez référencer une collection que vous pouvez modifier. Pour ce faire, accédez à la propriété ContentTypes d’un objet de site. Vous pouvez ajouter des types de contenu à la collection qui est retournée par cette propriété en appelant la méthode Add, et vous pouvez supprimer des types de contenu en appelant la méthode Delete.

Pour plus d’informations sur l’ajout de types de contenu de site, voir Procédure : ajouter un type de contenu à un site. Pour plus d’informations sur la suppression de types de contenu de site, voir la méthode Delete.

Notes

Pour créer ou gérer un type de contenu pour un site, vous devez disposer du droit d’accès Concepteur de sites Web. Plus précisément, vous devez posséder les droits Gérer les listes et Ajouter et personnaliser des pages sur le site où réside le type de contenu de site.

Types de contenu de liste

À l’image de chaque site, chaque liste ou bibliothèque dans un site possède une collection de types de contenu. Vous ajoutez un type de contenu à une liste ou à une bibliothèque en l’ajoutant à la collection de types de contenu de la liste ou de la bibliothèque.

Vous pouvez créer une collection de types de contenu pour une nouvelle liste dans le cadre de la définition de liste avant que les instances de liste ne soient mises en service. Dans l’élément ContentTypes de la définition de liste, vous pouvez référencer des types de contenu de site existants et vous pouvez également définir de nouveaux types de contenu. Dans ce cas, les nouveaux types de contenu sont disponibles uniquement pour les instances de liste qui sont créées à partir de la même définition de liste. Les nouveaux types de contenu ne font pas partie de la collection de sites et ne sont pas disponibles pour les autres listes. Pour plus d’informations sur la création d’un type de contenu de liste dans une définition de liste, voir Procédure : ajouter un type de contenu à une liste.

Une fois qu’une liste a été mise en service, vous pouvez toujours ajouter des types de contenu à la collection de types de contenu de la liste, mais chaque type de contenu que vous ajoutez doit déjà exister en tant que type de contenu de site appartenant à l’étendue de la liste. Vous pouvez vérifier ce point dans l’interface utilisateur en inspectant la page Paramètres de la liste d’une liste pour laquelle les types de contenu sont activés. La section Types de contenu de la page comporte un lien nommé Ajouter à partir de types de contenu de site existants. Vous pouvez cliquer sur ce lien pour ouvrir une page qui vous permet de choisir des types de contenu de site disponibles et de les ajouter à la collection de types de contenu de la liste.

Important

Avant d’ajouter un type de contenu de site à une liste, vous devez vous assurer que la liste prend en charge les types de contenu. Pour ce faire, dans l’interface utilisateur, sélectionnez Paramètres de la liste, puis Paramètres avancés. Sous Autoriser la gestion des types de contenu, cliquez sur Oui. Pour effectuer la même opération par programme, obtenez une référence à l’objet SPList dans du code serveur ou à l’objet List dans du code client, puis définissez la propriété ContentTypesEnabled sur true.

Pour ajouter un type de contenu de site à une liste par programme, choisissez un type de contenu dans la collection qui est retournée par la propriété AvailableContentTypes d’un objet SPWeb (serveur) ou d’un objet Web (client). Ensuite, ajoutez le type de contenu à la collection de la liste en accédant à la propriété ContentTypes de l’objet de liste et en appelant la méthode Add de l’objet de collection. Pour plus d’informations, voir Procédure : ajouter un type de contenu à une liste.

Notes

Pour ajouter un type de contenu à une liste, vous devez disposer du droit Gérer les listes pour cette liste.

Cependant, il est important de savoir que vous ne pouvez pas ajouter chaque type de contenu disponible dans un site donné à chaque liste ou bibliothèque dans le site. Chaque type de contenu que vous ajoutez à une bibliothèque de documents doit hériter du type de contenu Document prédéfini ou d’un type de contenu qui est dérivé de Document. À l’inverse, aucun type de contenu que vous ajoutez à une liste ne doit dériver de Document. Pour plus d’informations, voir Hiérarchie des types de contenu de base.

Incidences de l’ajout d’un type de contenu de site à une liste

Lorsque vous ajoutez un type de contenu de site à une liste ou à une bibliothèque, SharePoint Foundation crée des copies locales de toutes les colonnes référencées par le type de contenu et les ajoute aux champs de la liste. Pour plus d’informations, voir Références d'un ou plusieurs champs.

En outre, SharePoint Foundation crée une copie locale du type de contenu de site et ajoute la copie à la collection de types de contenu sur la liste. Le nouveau type de contenu de liste est un enfant du type de contenu de site. Hormis le fait que la valeur de la propriété Id pour le type de contenu de liste est différente de la valeur de la propriété Id pour son type de contenu de site parent, les deux types de contenu sont initialement les mêmes.

Le fait que les types de contenu de liste soient souvent dérivés de types de contenu de site a des implications pour la gestion des modifications. Une conséquence est que les personnalisations des types de contenu de liste ne peuvent pas être facilement appliquées aux autres listes. Par exemple, un utilisateur peut modifier un type de contenu de liste, en ajoutant une nouvelle colonne. Cette modification est limitée au type de contenu sur la liste. La nouvelle colonne est ajoutée au type de contenu de site dont dérive le type de contenu de liste, mais aucune autre modification n’est répercutée. Les modifications apportées à un type de contenu dérivé ne sont jamais propagées jusqu’au type de contenu parent.

Toutefois, un type de contenu de liste peut être affecté par les modifications apportées à son parent. Par exemple, un utilisateur peut modifier un type de contenu de site, éventuellement en ajoutant une colonne, puis décider de mettre à jour tous les types de contenu qui héritent de ce type de contenu de site. Le résultat peut écraser les personnalisations apportées par les utilisateurs aux types de contenu de site et de liste dérivés. Il est possible de protéger un type de contenu contre les modifications apportées à son parent, mais cette étape a des implications en termes de gestion des types de contenu. Pour plus d’informations, voir Contrôle de la modification du type du contenu.

Pour ces raisons, il est souvent préférable d’appliquer les modifications apportées aux types de contenu au niveau du site et de limiter les personnalisations au niveau de la liste.

Pour plus d’informations sur la propagation des modifications aux types de contenu, voir Mise à jour de types de contenu. Pour un exemple qui montre comment déterminer où un type de contenu de site est en cours d’utilisation, voir la méthode SPContentTypeUsage.GetUsages.

Voir aussi

Tâches

Procédure : ajouter un type de contenu à un site

Procédure : ajouter un type de contenu à une liste

Concepts

Étendue du type de contenu

Création de types de contenu

Ajout de colonnes dans les types de contenu aux listes