- Franck Catinot & Patrick Guimonet
Utilisez les ressources de la Communauté : Office 365 et SharePoint PnP
Mis à jour : 6 mai 2020
PnP signifie Patterns and Practices (modèles et méthodes en français).
Il y a de très nombreux projets open source concernant SharePoint et Office 365. Microsoft a pris l'initiative PnP pour les coordonner. Ils sont gérés sous GitHub, ouverts à tous et supervisés par les ingénieurs Microsoft.
L’objectif de cette communauté est de proposer des solutions évolutives et supportées afin de faciliter le développement et d’unifier les méthodes.

Les projets PnP se démocratisent et commencent à se mettre en place dans des domaines tels que SharePoint Framework, API Office 365, Microsoft Graph…
Il est particulièrement recommandé d’utiliser les méthodes et outils fournis à travers ces projets qui résultent de la Communauté car ils utilisent et définissent les meilleures façons d'implémenter telles ou telles fonctionnalités. Vous pouvez effectuer des retours et même participer aux développements.
Voici le lien vers tous les projets Office 365/SharePoint développés par l’équipe PnP : https://github.com/SharePoint/PnP
Quel est le modèle de support autour des composants et des solutions PnP ?
Les éléments PnP sont créés par Microsoft et la communauté
Les éléments PnP sont gérés par Microsoft et la communauté
PnP utilise les techniques prises en charge et recommandées définies par Microsoft
Les implémentations PnP sont réexaminées et approuvées par l’ingénierie Microsoft
PnP n’est PAS un produit et, par conséquent, n’est pas pris en charge par Support Premier ou d’autres canaux de support officiel, mais si les problèmes expérimentés sont dus à l’API prête à l’emploi, il correspond aux modèles de support normal du côté de Microsoft.
PnP est pris en charge de la même façon que d’autres projets open source réalisés par Microsoft avec le support de la communauté par la communauté
De nombreux partenaires se servent de PnP dans leurs solutions pour les clients. Le support y est fourni par le partenaire.Lorsque du matériel PnP est utilisé lors de déploiements, nous vous recommandons d’informer votre client/propriétaire du déploiement sur le modèle de support.
Exemple avec PnP-PowerShell, c’est pratique !
A titre d’illustration, le projet que nous allons utiliser dans la suite de cet article est PnP PowerShell.
Utiliser le module SharePoint PnP-PowerShell
Ce module contient une liste de commandes qui permet d’effectuer des opérations de configuration et de provisionnement d’un site SharePoint. A ne pas confondre avec le module SharePoint Online PowerShell qui est semblable. J’ai décidé de vous présenter ce module car celui-ci est maintenu par l’équipe PnP SharePoint, il est facile d’utilisation et vous permettra de réaliser des tâches impossibles par l’interface et fastidieuses.
Comment installer ce module ?
Pour installer ce module c’est très simple, il suffit d’ouvrir une invite de commande PowerShell et de taper la commande d’installation suivante (en fonction de la version SharePoint souhaitée) :
Selon l’environnement sur lequel vous souhaitez intervenir plusieurs versions sont disponibles. Dans notre cas nous travaillerons sur une version SharePoint Online.
A savoir : Les mises à jour de ce module sont régulières, n’hésitez pas à effectuer la commande :
Update-Module SharePointPnPPowerShell*
afin de mettre à jour votre module.
Comment se connecter à SharePoint avec ce module ?
Pour se connecter à votre site SharePoint à l’aide de ce module, veuillez effectuer la commande :
Connect-PnPOnline -Url "https://tenant.sharepoint.com/site"
Et renseigner votre login et mot de passe.
Si vous souhaiter stocker votre login et mot de passe dans des variables pour ne pas avoir à les renseigner à chaque exécution de votre script, voici comment procéder :
Add-PnPStoredCredential -Name MyCred -Username yourname@tenant.onmicrosoft.com -Password (ConvertTo-SecureString -String "YourPassword" -AsPlainText -Force)
Connect-PnPOnline -Url https://tenant.sharepoint.com/sites/mydemosite -Credentials MyCred
Vous retrouverez les identifications enregistrées dans votre Gestionnaire d’identification de votre ordinateur.

Utiliser les commandes disponibles dans le module
Une fois connecté sur votre site SharePoint, retrouvez les différentes actions disponibles sur le lien suivant : https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-pnp/sharepoint-pnp-cmdlets?view=sharepoint-ps .
Voici des exemples pour :
Créer une liste
New-PnPList -Title "Demo List" -Url "DemoList" -Template
Extraire le site sous format xml
Get-PnPProvisioningTemplate -Out template.xml
Ajouter une app catalog à mon site
Add-PnPSiteCollectionAppCatalog -Site "MonSite"
Vider la corbeille de site
$items = Get-PnPTenantRecycleBinItem
foreach ($item in $items) { Clear-PnPTenantRecycleBinItem -Url $item.Url -Wait -Force }
Vous pouvez maintenant exécuter les commandes de votre choix. Si jamais vous devez fournir un script, il vous suffira de mettre à la suite les commandes dans un fichier .ps1 puis de l’exécuter. Veillez à gérer l’authentification avant d’effectuer des actions sur un site.
La suite
PnP Powershell a depuis peu un concurrent, qui ne se lance pas depuis l’invite de commande et qui permet d’avantage d’actions sur l’ensemble du tenant Office 365. Il s’appelle CLI Office 365, ce module fonctionne à l’aide de node.js nous vous présenterons ses avantages lors d’un prochain article.