Déployer des packages de solution (SharePoint Foundation 2010)

 

S’applique à : SharePoint Foundation 2010

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

Cet article décrit les packages de solution et le rôle qu’ils jouent dans le déploiement de personnalisations créées et développées dans Microsoft SharePoint Foundation 2010. Il inclut des procédures pour importer et déployer des packages de solution et un exemple pour construire et déployer un package de solution à l’aide de Microsoft Visual Studio 2010.

Dans cet article :

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

  • Déploiement d'éléments de sites en utilisant des packages de solution

  • 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 vos développements SharePoint Foundation 2010 personnalisés 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 site, des modèles, des pages de disposition, des composants WebPart, des feuilles de style en cascade et des assemblys personnalisés.

Cet article n’aborde pas le déploiement des solutions en bac à sable. Vous pouvez déployer une solution Microsoft SharePoint Foundation 2010 directement sur votre batterie de serveurs SharePoint Foundation ou dans un bac à sable. 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 survenant dans le bac à sable d’affecter le reste de l’environnement serveur. Pour plus d’informations, voir Vue d’ensemble des solutions en bac à sable (SharePoint Foundation 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 les outils Visual Studio 2010 pour SharePoint 2010 pour développer et empaqueter des solutions SharePoint. Vous pouvez également créer manuellement des packages de solution à 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 récepteurs d’événements.

  • Fichiers de déploiement tels que fichiers de ressources, pages ou fichiers d’aide.

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

  • Nouveaux modèles et nouvelles définitions de site.

  • Configurations qui doivent être effectuées au niveau du serveur Web, par exemple, les fichiers Web.config pour l’inscription des composants WebPart. Vous pouvez également modifier ces configurations avec une fonction qui est distribuée avec une fonctionnalité.

  • Contenu Web tel que pages Web et images qui sont appelées par les pages Web. Si vous devez déployer le contenu Web dans un environnement déconnecté, vous devez utiliser un package de déploiement de contenu.

Déploiement d’éléments de sites en utilisant des packages de solution

Dans cette section :

  • Quand utiliser des packages de solution ?

  • 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 solution ?

Pour le déploiement des personnalisations, il est recommandé d’utiliser des packages de solution dans le cadre d’un processus de gestion du cycle de vie des applications simple, sécurisé et homogène. Les packages de solution facilitent la modification des fonctionnalités et des caractéristiques des sites Web après la création de ces derniers.

Vous pouvez utiliser les packages de solution pour déployer de nouvelles solutions ou pour mettre à niveau des solutions existantes sur la batterie de serveurs. Vous pouvez empaqueter toutes vos entités SharePoint Foundation en un seul fichier, ajouter ce fichier dans le magasin de solutions et le déployer sur les serveurs Web frontaux de la batterie. Les packages de solution permettent de synchroniser un serveur Web frontal afin que son état soit cohérent avec celui des autres serveurs Web de la batterie.

Les packages de solution vous permettent de déployer des personnalisations d’éléments de site créées à partir d’une batterie de serveurs d’intégration vers une batterie de serveurs de création, pilote ou de production. Dans SharePoint Foundation, les utilisateurs peuvent enregistrer un site personnalisé sous la forme d’un modèle. Cette option crée un package de solution avec une extension de nom de fichier .wsp, qui peut être déployée sur une autre batterie de serveurs.

Vous pouvez utiliser des packages de solution pour déployer des personnalisations entre ces environnements :

  • À partir de stations de travail de développeurs, vers une batterie de serveurs d’intégration ou un système de gestion de configuration logicielle

  • À partir d’une batterie de serveurs d’intégration et de stations de travail clientes de création, vers une batterie de serveurs pilote ou de production

Déploiement de solutions de batterie de serveurs

Les solutions de batterie de serveurs sont déployées localement ou à l’aide d’un service du minuteur. Les déploiements locaux ou basés sur le minuteur peuvent être déclenchés soit par des instructions de ligne de commande, soit par programmation 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é lancée. La solution n’est pas marquée comme « déployée » dans la base de données de configuration tant que les fichiers de solution ne sont pas déployés sur tous les serveurs applicables de la batterie de serveurs. Ensuite, les fonctionnalités de la solution sont installées et les fichiers de schéma et de définition sont consignés dans le magasin de configuration.

Déploiements par service du minuteur

Dans les déploiements qui utilisent le service du minuteur, le déploiement crée un travail de minuteur. Ce travail de minuteur est sélectionné par le service du minuteur sur chaque serveur Web de la batterie de serveurs. Initialement, le manifeste et les manifestes de fonctionnalité sont analysés pour rechercher les fichiers d’assembly et _layouts, qui sont copiés vers les emplacements appropriés. Tous les autres fichiers contenus dans un répertoire de fonctionnalité sont copiés dans le répertoire approprié. Une fois que les fichiers de solution sont copiés vers les ordinateurs cibles, une réinitialisation de la configuration est planifiée pour tous les serveurs Web frontaux. Puis les fonctionnalités de la solution sont inscrites et les fichiers de schéma et de définition sont consigné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) (https://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

Avant de déployer un package de solution, vous devez l’ajouter à la base de données de solution d’une batterie de serveurs SharePoint Foundation.

Important

Vous devez être membre du groupe Administrateurs sur un ordinateur exécutant 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. À partir de 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 de serveurs. Pour utiliser la solution, suivez la procédure de la section suivante de cet article. Pour plus d’informations, voir Add-SPSolution.

Déploiement d’un package de solution

Vous pouvez déployer des solutions importées en utilisant le site Web Administration centrale ou Windows PowerShell. Après qu’une solution a été ajoutée au magasin de solutions à l’aide de l’applet de commande Windows PowerShellAdd-SPSolution, elle doit être déployée sur un site pour devenir accessible.

Notes

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

Les procédures suivantes montrent comment déployer une solution importée sur un site dans la batterie de serveurs à l’aide du site Web 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 pour 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. À partir de 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 à laquelle vous souhaitez déployer la solution importée.

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

Pour déployer un package de solution pour 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. À partir de 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 Foundation 2010 de déployer les assemblys dans le GAC (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, mais vous pouvez également planifier son déploiement au moyen du paramètre time.

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

SharePoint Foundation 2010 n’inclut pas d’outil permettant de créer des packages de solution. Cette section décrit les méthodes de création des packages de solution contenant 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 Foundation 2010. Vous pouvez utiliser Visual Studio 2010 pour déboguer et tester le fichier .wsp sur le serveur SharePoint Foundation 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 créer 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 Visual Studio SharePoint qui est utilisé pour générer le fichier .wsp peut également être ajouté au système de contrôle de code source en utilisant l’intégration Visual Studio 2010. Visual Studio 2010 peut importer des fichiers .wsp et créer des projets pour les étendre davantage et créer de nouveaux fichiers .wsp. La source principale des fichiers .wsp qui sont importés dans Visual Studio 2010 provient des modèles enregistrés à l’aide de la commande Enregistrer comme modèle à partir des sites SharePoint Foundation 2010. Ces modèles peuvent être utilisés pour enregistrer la totalité des personnalisations du site dans une solution SharePoint.

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

Makecab

Les packages de solutions peuvent être créés manuellement à l’aide d’outils tels que Makecab.exe. L’outil Makecab.exe accepte 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, c’est-à-dire que vous déclarez un en-tête standard puis énumérez, en citant un fichier par ligne, l’ensemble des fichiers en fonction de leur emplacement sur le disque et de leur emplacement 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 (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x40C).

À propos de la personnalisation des packages de solution

Si vous avez besoin d’apporter les personnalisations suivantes à des solutions SharePoint Foundation 2010, il est recommandé d’utiliser Visual Studio 2010 pour personnaliser les packages de solution. Vous pouvez également effectuer ces personnalisations en créant manuellement les packages de solution 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 pour la solution à appliquer 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é à certains types de solutions SharePoint Foundation 2010, telles que les solutions de composants WebPart.

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

Créer manuellement un fichier de solution

Dans la plupart des scénarios de développement SharePoint Foundation 2010, nous vous recommandons d’utiliser les outils Visual Studio  2010 pour SharePoint 2010 pour développer et empaqueter les solutions SharePoint. Dans Visual Studio 2010, le processus de déploiement copie le fichier .wsp sur le serveur exécutant SharePoint Foundation 2010, installe la solution, puis active les fonctionnalités.

Vous pouvez aussi créer manuellement un fichier de solution. Voici les principales étapes de la création d’un fichier de solution :

  1. Rassemblez tous les fichiers de solution 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 solution 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 solution, qui détermine 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 la solution

Le fichier manifeste de la solution (toujours nommé manifest.xml) est stocké à la racine du fichier de solution. Ce fichier définit la liste des fonctionnalités, des définitions de sites, des fichiers de ressources, des fichiers de composants WebPart et des assemblys à traiter. Il ne définit pas la structure du fichier — si les fichiers sont inclus dans une solution mais qu’ils ne sont pas listé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="https://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 site, des ressources d’application et des stratégies de sécurité d’accès du code.

Annotez éventuellement vos fichiers Feature.xml avec des balises <ElementFile>.

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

Pour plus d’informations sur les fichiers manifeste de la solution qui définissent les éléments constitutifs de celle-ci, voir Schéma de la solution (éventuellement en anglais) (https://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 un exemple qui montre comment utiliser Visual Studio 2010 pour créer, personnaliser, déboguer et déployer une définition de liste SharePoint pour le suivi des tâches de projet, voir Procédure pas à pas : déploiement d’une définition de liste de tâches de projet (https://go.microsoft.com/fwlink/?LinkId=189612&clcid=0x40C) dans la bibliothèque MSDN.

Cette procédure pas à pas 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énements à 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 Foundation 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 (https://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 pour déployer le package de solution. Ou bien, vous pouvez utiliser l’applet de commande Install-SPSolutionWindows PowerShell pour déployer le package de solution.

Dans la procédure pas à pas, la portée de la fonctionnalité de liste du projet est 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, à côté du nom de la fonctionnalité, cliquez sur Activer.