Déployer des packages de solutions (SharePoint Server 2010)

 

S’applique à : SharePoint Server 2010

Dernière rubrique modifiée : 2016-11-30

Cet article décrit les packages de solutions et le rôle qu’ils jouent dans le déploiement de personnalisations créées et développées dans Microsoft SharePoint Server 2010. Il contient des procédures d’importation et de déploiement de packages de solutions et un exemple de création et de déploiement d’un package de solution à l’aide deMicrosoft Visual Studio 2010.

Dans cet article :

  • Qu’est-ce qu’un package de solution ?

  • Déploiement d'éléments de sites à l'aide de packages de solutions

  • Création et déploiement d'un package de solution de composant WebPart personnalisé à l'aide de Visual Studio 2010

Qu’est-ce qu’un package de solution ?

Un package de solution est un package de distribution qui transmet votre travail de développement SharePoint Server 2010 personnalisé aux serveurs Web ou aux serveurs d’applications de votre batterie de serveurs. Utilisez des solutions pour empaqueter et déployer des fonctionnalités, des définitions de sites, des modèles, des pages de disposition, des composants WebPart, des feuilles de style en cascade et des assemblys personnalisés.

Cet article ne traite pas du déploiement de solutions en mode bac à sable (sandbox). Vous pouvez déployer une solution Microsoft SharePoint Server 2010 directement sur votre batterie de serveurs SharePoint Server , ou vous pouvez déployer la solution dans un bac à sable (sandbox). Un bac à sable est un environnement d’exécution restreint qui permet aux programmes d’accéder à certaines ressources uniquement et qui empêche les problèmes qui se produisent dans le bac à sable d’affecter le reste de l’environnement serveur. Pour plus d’informations, voir Vue d’ensemble de solutions en bac à sable (SharePoint Server 2010).

Un package de solution est un fichier CAB, dont le nom de fichier porte l’extension .wsp, et un fichier manifeste. Il est recommandé d’utiliser Visual Studio 2010 Tools pour SharePoint 2010 pour développer et empaqueter des solutions SharePoint. Vous pouvez également créer des packages de solutions manuellement à l’aide d’outils tels que Makecab.exe et SharePoint Packman.

Composants pouvant être empaquetés dans une solution :

  • assemblys .NET Framework, généralement des assemblys de composants WebPart et des assemblys de récepteurs d’événements ;

  • fichiers de déploiement tels que fichiers de ressources, pages ou autres fichiers d’assistance ;

  • fonctionnalités, qui vous permettent d’activer et de désactiver du code dans un site Web et de fournir une fonctionnalité incluant des éléments tels que des listes personnalisées, des bibliothèques, des champs et des types de contenu ;

  • nouveaux modèles et définitions de sites ;

  • configurations qui doivent être effectuées au niveau du serveur Web. Par exemple, le déploiement de personnalisations dans les fichiers Web.config pour l’enregistrement des composants WebPart ;

  • contenu Web tel que des pages Web et des images appelées par des pages Web. Si vous devez déployer du contenu Web dans un environnement déconnecté, vous devez utiliser un package de déploiement de contenu.

Déploiement d’éléments de sites à l’aide de packages de solutions

Dans cette section :

  • Quand utiliser des packages de solutions ?

  • Déploiement de solutions de batterie

  • Ajout d’un package de solution

  • Déploiement d'un package de solution

  • À propos de la création d'un package de solution

Quand utiliser des packages de solutions ?

L’une des méthodes conseillées pour le déploiement de personnalisations consiste à utiliser des packages de solutions dans le cadre d’un processus de gestion du cycle de vie d’application cohérent, simple et sécurisé. Les packages de solutions facilitent la modification des fonctionnalités des sites Web après leur création.

Vous pouvez recourir à des packages de solutions pour déployer de nouvelles solutions et mettre à niveau des solutions existantes dans la batterie. Vous pouvez empaqueter toutes vos entités SharePoint Server dans un seul fichier, ajouter le fichier au magasin de solutions et le déployer sur les serveurs Web frontaux de la batterie. Utilisez des packages de solutions pour synchroniser un serveur Web frontal de sorte que son état soit cohérent avec celui d’autres serveurs Web dans la batterie.

Vous pouvez recourir à des packages de solutions pour déployer des personnalisations d’éléments de sites créées à partir d’une batterie intégration vers une batterie de production, de création ou pilote. Dans SharePoint Server, les utilisateurs peuvent enregistrer un site personnalisé en tant que modèle. Cela crée un package de solution avec une extension de nom de fichier .wsp qui peut être déployé sur une autre batterie.

Vous pouvez utiliser des packages de solutions pour déployer des personnalisations entre les environnements suivants :

  • à partir de stations de travail de développement vers une batterie d’intégration ou un système de gestion de configuration logicielle ;

  • à partir d’une batterie d’intégration et de stations de travail clientes de création vers des batteries de production ou pilotes.

Déploiement de solutions de batterie

Les solutions de batterie sont déployées localement ou à l’aide d’un service du minuteur. Les déploiements locaux et basés sur le minuteur peuvent être déclenchés au moyen d’instructions en ligne de commande ou par programme à l’aide du modèle objet.

Déploiement local

Dans un déploiement local, les fichiers de solution sont déployés uniquement sur l’ordinateur à partir duquel l’opération de déploiement a été initiée. La solution n’est marquée comme « déployée » dans la base de données de configuration qu’une fois que les fichiers de solution ont été déployés sur tous les serveurs applicables dans la batterie de serveurs. Ensuite, des fonctionnalités de solution sont installées et des fichiers de définition et de schéma sont validés dans le magasin de configuration.

Déploiements à l’aide du service du minuteur

Dans les déploiements qui utilisent le service du minuteur, le déploiement crée un travail du minuteur. celui-ci est sélectionné par le service du minuteur sur chaque serveur Web dans la batterie de serveurs. Initialement, les manifestes et fonctionnalités de manifestes sont analysés afin de rechercher les fichiers d’assemblys et fichiers _layouts, qui sont copiés aux emplacements appropriés. Tous les autres fichiers contenus dans un répertoire de fonctionnalités sont copiés dans le répertoire de fonctionnalités. Après la copie des fichiers de solution sur les ordinateurs cibles, une réinitialisation de configuration est planifiée pour tous les serveurs Web frontaux ; la réinitialisation déploie alors les fichiers et redémarre les services IIS (Microsoft Internet Information Services). Les fonctionnalités de solution sont ensuite enregistrées et les fichiers de définition et de schéma sont validés dans le magasin de configuration.

Pour plus d’informations sur le magasin de solutions, le déploiement et la synchronisation, voir Déploiement d’une solution (éventuellement en anglais) (http://go.microsoft.com/fwlink/?linkid=186995&clcid=0x40C) dans le Kit de développement logiciel SDK de Microsoft SharePoint 2010.

Ajout d’un package de solution

Pour pouvoir déployer un package de solution, vous devez d’abord l’ajouter à la base de données de solutions d’une batterie SharePoint Server.

Important

Vous devez être membre du groupe Administrateurs sur tout ordinateur où vous exécutez Windows PowerShell.

Pour importer un package de solution à l’aide de Windows PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.

  2. Dans le menu Démarrer, cliquez sur Tous les programmes.

  3. Cliquez sur Produits Microsoft SharePoint 2010.

  4. Cliquez sur SharePoint 2010 Management Shell.

  5. À l’invite de commandes Windows PowerShell, tapez la commande suivante :

    Add-SPSolution -LiteralPath <SolutionPath>
    

La solution est ajoutée au magasin de solutions de la batterie. Pour utiliser la solution, appliquez la procédure de section qui suit. Pour plus d’informations, voir Add-SPSolution.

Déploiement d’un package de solution

Vous pouvez déployer des solutions importées à l’aide du site Web d’Administration centrale ou à l’aide de Windows PowerShell. Après avoir ajouté une solution au magasin de solutions à l’aide de l’applet de commande Windows PowerShellAdd-SPSolution, vous devez la déployer sur un site pour qu’il soit possible d’y accéder.

Notes

Vous ne pouvez pas ajouter de solution au magasin de solutions à partir de la page Gestion des solutions dans l’Administration centrale.

Les procédures suivantes montrent comment déployer une solution importée sur un site dans la batterie à l’aide du site Web d’Administration centrale ou de Windows PowerShell.

Pour déployer une solution à l’aide de l’Administration centrale

  1. Dans la page d’accueil de l’Administration centrale, cliquez sur Paramètres système.

  2. Dans la section Gestion de la batterie, cliquez sur Gérer les solutions de la batterie.

  3. Dans la page Gestion des solutions, cliquez sur la solution que vous souhaitez déployer.

  4. Dans la page Propriétés de la solution, cliquez sur Déployer la solution.

  5. Dans la page Déployer la solution, dans la section Déployer quand ?, sélectionnez l’une des options suivantes :

    • Maintenant

    • À une heure spécifiée. Si vous sélectionnez cette option, spécifiez une heure dans les zones de date et d’heure. Choisissez de préférence une heure à laquelle la charge est faible sur les serveurs de destination.

  6. Dans la section Destination du déploiement, dans la liste Application Web spécifique, cliquez sur Toutes les applications Web ou sélectionnez une application Web spécifique.

  7. Cliquez sur OK.

Pour déployer un package de solution sur une seule application Web à l’aide de Windows PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.

  2. Dans le menu Démarrer, cliquez sur Tous les programmes.

  3. Cliquez sur Produits Microsoft SharePoint 2010.

  4. Cliquez sur SharePoint 2010 Management Shell.

  5. À l’invite de commandes Windows PowerShell, tapez la commande suivante :

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Où :

    • <SolutionName> est le nom de la solution.

    • <URLname> est l’URL de l’application Web vers laquelle déployer la solution importée.

    Par défaut, la solution est déployée immédiatement. Vous pouvez également planifier son déploiement au moyen du paramètre time. Pour plus d’informations, voir Install-SPSolution

Pour déployer un package de solution sur toutes les applications Web à l’aide de Windows PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.

  2. Dans le menu Démarrer, cliquez sur Tous les programmes.

  3. Cliquez sur Produits Microsoft SharePoint 2010.

  4. Cliquez sur SharePoint 2010 Management Shell.

  5. À l’invite de commandes Windows PowerShell, tapez la commande suivante :

    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    Où :

    • GACDeployment est le paramètre qui permet à SharePoint Server 2010 de déployer les assemblys dans le Global Assembly Cache.

    • CASPolicies permet la création d’un fichier de stratégie de sécurité d’accès du code et son activation dans le fichier Web.config de la collection de sites ciblée.

    Par défaut, la solution est déployée immédiatement. Vous pouvez également planifier son déploiement au moyen du paramètre time.

À propos de la création d’un package de solution

SharePoint Server 2010 ne contient aucun outil de création de packages de solutions. Cette section décrit quelques manières de créer des packages de solutions qui contiennent des éléments de sites développés et des artefacts.

Visual Studio 2010

Vous pouvez utiliser Visual Studio 2010 pour grouper des éléments SharePoint connexes en une fonctionnalité, puis empaqueter plusieurs fonctionnalités, définitions de site, assemblys et autres fichiers dans un package unique (fichier .wsp) afin de les déployer sur des serveurs SharePoint Server 2010. Vous pouvez utiliser Visual Studio 2010 pour déboguer et tester le fichier .wsp sur le serveur SharePoint Server 2010 sur l’ordinateur de développement. Vous pouvez également personnaliser les étapes de déploiement sur l’ordinateur de développement.

Les développeurs peuvent générer leurs solutions SharePoint dans Visual Studio 2010 et produire des fichiers .wsp à l’aide du processus de génération automatisée. Le code source du projet SharePoint Visual Studio utilisé pour générer le fichier .wsp peut également être ajouté au système de contrôle de code source à l’aide de l’intégration Visual Studio 2010. Visual Studio 2010 peut importer des fichiers .wsp et créer des projets afin de les étendre et de créer de nouveaux fichiers .wsp. La source principale des fichiers .wsp importés dans Visual Studio 2010 est constituée des modèles enregistrés à partir de sites à l’aide de la commande Enregistrer comme modèle sur des sites SharePoint Server 2010. Ces modèles peuvent servir à enregistrer toutes les personnalisations de site dans une solution SharePoint.

Pour plus d’informations, voir Développement SharePoint dans Visual Studio (http://go.microsoft.com/fwlink/?linkid=187000&clcid=0x40C).

Makecab

Il est possible de créer des packages de solutions manuellement à l’aide d’outils comme Makecab.exe. Celui-ci prend un pointeur vers un fichier .ddf, qui décrit la structure du fichier CAB. Le format d’un fichier .ddf est similaire à celui d’un fichier .inf : vous déclarez un en-tête standard, puis vous énumérez, un fichier par ligne, l’ensemble des fichiers en fonction de leur emplacement sur le disque et de l’emplacement où ils doivent se trouver dans le fichier CAB.

Il est possible de télécharger l’outil Makecab.exe à partir du Kit de développement logiciel (SDK) Microsoft Cabinet (http://go.microsoft.com/fwlink/?linkid=107292&clcid=0x40C).

SharePoint PackMan

SharePoint PackMan est un outil qui simplifie le processus d’empaquetage et de gestion des solutions SharePoint. Faites glisser-déplacer vos fichiers sur l’outil, et celui-ci crée un fichier .ddf et un fichier manifest.xml, puis exécute Makecab.exe à partir d’une invite de commandes. SharePoint PackMan simplifie également l’ajout, le déploiement, le retrait et la suppression d’une ou plusieurs solutions dans la batterie, les applications Web ou les collections de sites.

L’outil SharePoint PackMan est disponible au téléchargement à partir du site CodeBox : http://codebox/sppackman (http://go.microsoft.com/fwlink/?linkid=107292&clcid=0x40C).

À propos de la personnalisation des packages de solutions

Si vous devez apporter une ou plusieurs des personnalisations suivantes dans des solutions SharePoint Server 2010, nous vous recommandons d’utiliser Visual Studio 2010 pour personnaliser les packages de solutions. Vous pouvez également créer ces personnalisations en créant manuellement des packages de solutions SharePoint.

  • Déployer des assemblys .NET Framework dans le dossier d’application privé au lieu de les déployer dans le Global Assembly Cache.

  • Ajouter des autorisations de sécurité d’accès du code à la solution qui doit être appliquée au cours du déploiement.

  • Modifier les noms utilisés par défaut pour les dossiers des fonctionnalités.

  • Localiser la solution.

  • Associer des gestionnaires d’événements de fonctionnalités à certains types de solutions SharePoint Foundation 2010, telles que des solutions de composants WebPart.

  • Ajouter des ressources (fichiers XML, images, fichiers .dll et assemblys) au package de solution.

Créer un fichier de solution manuellement

Dans la plupart des scénarios de développement SharePoint Server 2010, nous recommandons d’utiliser Visual Studio 2010 Tools pour SharePoint 2010 pour le développement et l’empaquetage des solutions SharePoint. Dans Visual Studio 2010, le processus de déploiement copie le fichier .wsp sur le serveur SharePoint Server 2010, installe la solution, puis active les fonctionnalités.

Vous pouvez également créer manuellement un fichier de solution. Voici les étapes de base de création d’un fichier de solution :

  1. Rassemblez tous les fichiers de solutions dans un dossier. Il n’existe pas de consigne particulière pour cette opération, mais il est conseillé de séparer les différents types de fichiers de solutions et de les placer dans des sous-dossiers qui leur sont propres.

  2. Créez un fichier manifest.xml qui liste les composants de la solution.

  3. Créez un fichier .ddf qui définit la structure du fichier de solution. Ce fichier contient la liste des fichiers de solutions qui déterminent le fichier de sortie .wsp.

  4. Exécutez Makecab.exe avec le fichier .ddf en entrée et le fichier .wsp en sortie.

À propos du fichier manifeste de solution

Le manifeste de solution (toujours nommé manifest.xml) est stocké à la racine d’un fichier de solution. Ce fichier définit la liste des fonctionnalités, définitions de sites, fichiers de ressources, fichiers de composants WebPart et assemblys à traiter. Il ne définit pas la structure du fichier — si des fichiers sont inclus dans une solution mais qu’ils ne sont pas répertoriés dans le fichier manifest.xml, ils ne sont pas traités.

L’exemple qui suit montre la structure d’un fichier manifest.xml au format XML.

<?xml version="1.0" encoding="utf-8" ?>

<Solution xmlns="http://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

Par ailleurs, vous pouvez ajouter un élément DwpFiles pour spécifier des fichiers .webpart ou .dwp ou un élément ResourceFiles pour spécifier des fichiers de ressources, des définitions de sites, des ressources d’application et des stratégies de sécurité d’accès du code.

Annotez éventuellement vos fichiers Feature.xml files à l’aide de balises <ElementFile>.

Si votre solution contient des fonctionnalités, dans la balise <ElementManifests> dans votre fichier Feature.xml, ajoutez <ElementFile Location="..."/> pour tous les fichiers supplémentaires dans votre fonctionnalité, tels que les pages ASP.NET (par exemple, allitems.aspx) ou les pages maîtres, et ainsi de suite.

Pour plus d’informations sur les fichiers manifestes de solution qui définissent les parties constituantes d’une solution, voir Schéma de solution (éventuellement en anglais) (http://go.microsoft.com/fwlink/?linkid=183466&clcid=0x40C).

Création et déploiement d’un package de solution de composant WebPart personnalisé à l’aide de Visual Studio 2010

Pour obtenir un exemple de procédure qui illustre comment utiliser Visual Studio 2010 pour créer, personnaliser, déboguer et déployer une définition de liste SharePoint pour effectuer le suivi des tâches de projet, voir Procédure : Déploiement d’une définition de liste de tâches de projet (http://go.microsoft.com/fwlink/?linkid=189612&clcid=0x40C) dans MSDN Library.

Cette procédure illustre les tâches suivantes :

  • création d’un projet de définition de liste SharePoint qui contient des tâches ;

  • ajout de la définition de liste à une fonctionnalité SharePoint ;

  • ajout d’un récepteur d’événement à la liste ;

  • création et personnalisation d’un package SharePoint pour déployer votre fonctionnalité ;

  • génération et déploiement de votre solution SharePoint.

Lorsque vous générez l’exemple de projet décrit dans cette procédure, Visual Studio 2010 déploie automatiquement la solution sur le serveur SharePoint Server 2010 sur votre ordinateur de développement à des fins de test et de débogage. Vous pouvez également créer un fichier de package de solution qui peut être ajouté et déployé sur un autre ordinateur. Pour plus d’informations, voir Comment : déployer une solution SharePoint (http://go.microsoft.com/fwlink/?linkid=187004&clcid=0x40C). Vous pouvez utiliser l’applet de commande Add-SPSolutionWindows PowerShell pour importer la solution sur un autre ordinateur.

Vous pouvez utiliser la page Gestion des solutions dans l’Administration centrale, ou l’applet de commande Install-SPSolutionWindows PowerShell, pour déployer le package de solution.

Dans la procédure, la portée de la fonctionnalité de liste de projet est le Web. Pour activer la fonctionnalité, sur le site Web, développez le menu Actions du site, puis cliquez sur Paramètres du site. Sous Actions du site, cliquez sur Gérer les fonctionnalités du site. Dans la page Fonctionnalités, en regard du nom de fonctionnalité, cliquez sur Activer.