Développement SharePoint Framework avec SharePoint Server 2016 Feature Pack 2

SharePoint Server 2016 Feature Pack 2 prend en charge les composants WebPart SharePoint Framework côté client hébergés dans des pages SharePoint classiques.

Une introduction au développement SharePoint Framework dans SharePoint Server 2016 à l’aide du Feature Pack 2 est également abordée dans la vidéo suivante sur la chaîne YouTube PnP Microsoft 365.

Quelle version de SharePoint Framework utiliser ?

Étant donné que SharePoint Online et SharePoint Server 2016 ont des cycles de mise en production différents pour les nouvelles fonctionnalités, elles ont également des fonctionnalités différentes s’agissant de SharePoint Framework. SharePoint Online utilise toujours la dernière version de SharePoint Framework, mais SharePoint Server 2016 prend uniquement en charge la version correspondant aux dépendances côté serveur des packages déployés.

SharePoint Server 2016 Feature Pack 2 prend en charge les composants WebPart SharePoint Framework côté client hébergés dans des pages SharePoint classiques créées à l’aide de SharePoint Framework v1.1.0. Cela signifie que lorsque vous visez la plate-forme SharePoint Server 2016, vous devez utiliser le SharePoint Framework v1.1.0 à cause des dépendances de la version côté serveur.

Si vous envisagez d’utiliser les mêmes composants WebPart côté client dans SharePoint Server 2016 et dans SharePoint Online, vous devez utiliser SharePoint Framework v1.1.0 comme version de référence pour vous assurer que le composant WebPart fonctionne dans les deux environnements.

À partir de la version 1.3, le générateur Yeoman de SharePoint Framework prend en charge à la fois les solutions automatiques qui se servent de la dernière version de SharePoint Framework pour une utilisation avec SharePoint Online et les solutions pouvant être utilisées avec SharePoint en local à partir de la version 1.1.0 de SharePoint Framework. Il est inutile d’installer une version distincte du générateur Yeoman pour SharePoint Framework pour les solutions automatiques destinées à une utilisation avec SharePoint en local.

Importante

À partir de la version 1.4, le générateur Yeoman SharePoint Framework prend en charge un nouvel attribut de la propriété includeClientSideAssets, qui peut être utilisée pour indiquer que des composants doivent être inclus dans le package sppkg. Cette fonctionnalité n’est toutefois pas prise en charge par SharePoint Server 2016. Lorsqu’une solution est ciblée pour SharePoint Server 2016, cet attribut situé dans le fichier ./config/package-solution.json doit être mis à jour en tant que false.

Hébergement de votre solution pour le déploiement local

L’obtention de composants WebPart SharePoint Framework côté client déployés localement requiert deux actions distinctes :

  • Déploiement du package de solution sur le catalogue d’applications SharePoint
  • Hébergement des fichiers JavaScript dans un emplacement centralisé

Vous pouvez héberger les fichiers JavaScript dans l’emplacement qui convient le mieux à votre environnement. Par exemple, ces fichiers peuvent être hébergés dans un des emplacements suivants :

  • Azure CDN : Configuration similaire à celle de SharePoint Online. Les utilisateurs finaux doivent disposer d’une connexion Internet.
  • Serveur local de votre réseau : Un serveur qui héberge les fichiers JavaScript pour votre réseau d’entreprise. Cela peut se faire quelle que soit la technologie souhaitée, dans la mesure où les fichiers sont accessibles via les requêtes HTTP.
  • SharePoint Server 2016 : Vous pouvez également héberger vos fichiers dans la batterie de serveurs SharePoint locale. Vous pouvez, par exemple, définir un site normalisé dans votre batterie de serveurs, où tous les composants SharePoint Framework seront hébergés. Notez cependant que, par défaut, les fichiers .json ne peuvent pas être téléchargés dans les bibliothèques SharePoint Server 2016, donc les paramètres de niveau de batterie de serveurs doivent être ajustés pour cette option.

Pour plus d’informations sur les types de fichiers bloqués dans SharePoint Server 2016, reportez-vous à l’article suivant : Types de fichiers qui ne peuvent pas être ajoutés à une liste ou une bibliothèque.

Considérations relatives aux environnements de développement

Lorsque vous développez des composants WebPart SharePoint Framework côté client, vous devez être connecté à Internet pour accéder aux packages npm. Ce paramètre est obligatoire lorsque les solutions sont générées automatiquement à l’aide de modèles SharePoint Framework Yeoman.

Si l’accès à Internet n’est pas disponible pour les ordinateurs de développement, vous pouvez configurer un registre local sur site pour les packages npm requis. Toutefois, la configuration et la gestion des versions de package locales avec des packages dans la galerie de npm réelle nécessitent un logiciel supplémentaire et une quantité importante de travail.

Le guide Développement en équipe sur SharePoint Framework comprend différentes options pour la configuration d’un environnement de développement, y compris s’il vous faut prendre en charge plusieurs versions de SharePoint Framework.

versions Node.js, Gulp & Yeoman

Les dépendances pour les infrastructures, les outils SPFx v1.1 et les versions associées ne correspondent pas à la même matrice de dépendance pour les dernières versions de SPFx. Dans ces cas, vous devez installer les versions spécifiques de ces outils.

Par exemple, Gulp v3.* est uniquement pris en charge jusqu’à Node.js v10, tandis que Gulp v4.* est pris en charge à partir de Node.js v12 et versions ultérieures. Étant donné que SPFx v1.1 est uniquement pris en charge sur Node.js v6 et Node.js v8, vous devez vous assurer que vous disposez d’une version antérieure de Node.js installée ainsi que d’une version antérieure de Gulp & Yeoman.

Remarque

L’équipe Gulp a introduit un package distinct, gulp-cli, qui doit être installé globalement. Il peut être utilisé par les projets qui utilisent Gulp v3 & Gulp v4.

En savoir plus sur gulp-cli ici : gulpjs/gulp/#2324.

Microsoft recommande d’utiliser la version la plus récente du générateur Yeoman pour SharePoint Framework (@microsoft/generator-sharepoint) qui prend en charge la création de projets locaux : SPFx v1.6.0.

Importante

Le générateur Yeoman pour SharePoint Framework, à partir de la version 1.13.0, prend uniquement en charge les projets pour SharePoint Online. En savoir plus sur cette modification dans les notes de publication SharePoint Framework v1.13. Toutefois, SPFx 1.1.1 prend uniquement en charge Node.js v6. Par conséquent, vous devez obtenir la dernière version du générateur Yeoman pour SharePoint Framework (v1.6.0) qui fonctionne sur la même version de Node.js (v6) sur laquelle SPFx v1.1.0 est pris en charge.

  1. Install Node.js v6.17.1

  2. Installer les dépendances globales

    npm install gulp-cli@2.3.0 --global
    npm install yo@2.0.0 --global
    npm install @microsoft/generator-sharepoint@1.6.0 --global
    

Si vous souhaitez en savoir plus, consultez Compatibilité des bibliothèques et outils de développement SharePoint Framework.

Déterminer la version qui a été utilisée pour une solution

Si vous disposez de solutions SharePoint Framework et souhaitez vérifier quelle version de SharePoint Framework a été utilisée pour ces solutions, vous devez accédez aux emplacements suivants :

  • .yo-rc.json : Fichier dans le dossier racine de la solution qui stocke la version du modèle SharePoint Framework Yeoman utilisée lors de la création de la solution.
  • package.json : Fichier dans le dossier racine de la solution qui contient des références aux versions de paquets utilisées dans la solution.
  • npm-shrinkwrap.json : Fichier du dossier racine de la solution, qui contient des informations sur les versions exactes utilisées (si vous avez utilisé la commande npm shrinkwrap pour verrouiller les versions exactes de la solution).
  • package.json : Fichier dans le dossier node_modules/@microsoft/sp-webpart-base qui contient un attribut version correspondant à la version utilisée de SharePoint Framework, si vous avez installé des packages dans votre solution.

Résolution des problèmes

Impact de Node.js v6, Node.js v8, HTTP1, & HTTP2

Au moment de la publication de la version 1.1, Node.js est passé de Node.js v6.x à v8.x. Dans cette mise à jour, Node.js a introduit un changement dans lequel le protocole HTTP par défaut HTTP1 est remplacé par HTTP2. Comme SPFx v1.1 a été écrit pour HTTP1, et non pour HTTP2, ce changement a eu une incidence sur le serveur web local pour les projets SPFx v1.1.

Dans Node.js v8.x, vous pouvez forcer HTTP1 en définissant la variable d’environnement suivante de manière à demander à Node.js d’utiliser HTTP1 plutôt que la valeur par défaut HTTP2 : NODE_NO_HTTP2=1. Cette variable d’environnement existe uniquement dans Node.js v8.x. Par conséquent, si vous créez des solutions SPFx pour SharePoint Server 2016, vous devez utiliser Node.js v8.x.

Ce problème n’affecte pas les versions ultérieures de SPFx, car elles ont été mises à jour pour prendre en charge HTTPS.

Si vous souhaitez en savoir plus, consultez la page concernant le problème #1002.

Voir aussi