Approvisionnement des sites d’équipe « modernes » par programme

Les sites « modernes » ont été ajoutés à SharePoint Online à l’automne 2016. L’option permettant de les utiliser peut être contrôlée côté client. Cet article décrit les différentes options et considérations relatives à l’approvisionnement de sites « modernes » dans SharePoint Online. Plus précisément, l’article explique comment créer à la fois des sites d’équipe et des sites de communication « modernes ».

Importante

Nous ne rejetons pas l’expérience « classique » : « classique » et « moderne » vont coexister.

Comparaison des sites d’équipe « modernes » et des sites de communication « modernes »

Avant d’entrer dans les détails de l’approvisionnement de sites « modernes », examinons les deux versions principales disponibles : les sites d’équipe et les sites de communication.

Un site d’équipe « moderne » est l’endroit où plusieurs personnes peuvent travailler ensemble, collaborer et partager des documents et des messages. Chaque site d’équipe « moderne » est accompagné d’un groupe Microsoft 365 afin d’améliorer l’expérience de collaboration dans son ensemble. En fait, grâce au groupe Microsoft 365, les membres de l’équipe peuvent bénéficier de services tels que le planificateur, un calendrier partagé, un espace de stockage OneDrive Entreprise partagé et des connecteurs Office 365 personnalisés. Dans un site d’équipe « moderne », les membres peuvent généralement contribuer au contenu (lecture/écriture). Par ailleurs, le groupe Microsoft 365 accompagnant un site d’équipe « moderne » peut être public (par défaut) ou privé.

Un site de communication « moderne » est l’endroit où vous pouvez partager des actualités, présenter un article ou diffuser un message. Le concept d’un site de communication consiste à avoir plusieurs éditeurs qui créent et gèrent le contenu, et une large audience qui utilise ce contenu. Toutefois, un site de communication n’est pas accompagné d’un groupe Microsoft 365. Les utilisateurs peuvent accéder au site de communication cible avec l’ensemble d’autorisations connu de tout autre site SharePoint. Par défaut, chaque site de communication est privé.

Par conséquent, si vous devez créer un site pour une collaboration d’équipe, le site d’équipe « moderne » est probablement la solution la plus adaptée. En revanche, si vous souhaitez communiquer avec un large public, le site de communication est la meilleure option.

Approvisionnement de sites d’équipe « modernes »

Dans cette section, vous découvrirez comment approvisionner un site d’équipe « moderne » et les options disponibles pour le faire.

Approvisionnement d’un site d’équipe « moderne » à partir de l’interface utilisateur

Il existe de nombreuses façons d’approvisionner un site d’équipe « moderne ». Vous pouvez démarrer l’approvisionnement directement à partir du site SharePoint Online ou approvisionner un groupe Microsoft 365 à partir d’autres emplacements (par exemple, à partir d’Outlook), ce qui déclenche à son tour l’approvisionnement d’un site d’équipe « moderne ».

  • Si votre administrateur a activé les sites d’équipe « modernes » dans votre client, vous pouvez créer des sites d’équipe « modernes » à partir de la page d’accueil de SharePoint.

  • Vous pouvez également créer un groupe Microsoft 365 à partir d’Office 365 Outlook. Lorsque vous accédez à l’onglet du site de ce groupe, vous accédez à un site d’équipe « moderne ».

Contrôle du flux d’approvisionnement par défaut

Vous pouvez contrôler le processus de création de sites SharePoint à partir des paramètres d’administration SharePoint Online. Vous pouvez choisir de mettre l’expérience « moderne » à disposition de vos utilisateurs finals ou de continuer à utiliser l’expérience « classique ».

Options de création de sites à partir de l’interface utilisateur d’administration SharePoint Online

Pour plus d’informations, reportez-vous à l’article du support technique Office suivant :

Approvisionnement d’un site d’équipe « moderne » par programme via l’API REST SharePoint Online

Les sites d’équipe « modernes » peuvent être créés via un programme à l’aide d’une API REST fournie par SharePoint Online et utilisés par l’interface utilisateur de création de sites de SharePoint Online. Pour configurer un site d’équipe « moderne » à l’aide de REST, envoyez une requête POST au point de terminaison « groupes » Microsoft Graph : https://graph.microsoft.com/v1.0/groups

L’URI du site d’équipe « moderne » est déterminé par le paramètre mailNickname et le chemin d’accès géré que vous sélectionnez pour les sites d’équipe dans l’administration de votre client (par défaut, « sites »).

L’exemple de code ci-dessous crée un groupe Microsoft 365 et le site d’équipe « moderne » associé, avec l’URL suivante : https://[tenant].sharepoint.com/sites/mymodernteamsite

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json
Content-length: 200

{
  "description": "description",
  "displayName": "My modern team site",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": true,
  "mailNickname": "mymodernteamsite",
  "securityEnabled": false
}

Approvisionnement d’un site d’équipe « moderne » à l’aide du composant principal du modèle CSOM PnP

Dans le composant SharePoint PnP Core, depuis la version d’octobre 2017 (v. 2.19.1710.1) , il existe une nouvelle méthode d’extension pour le type ClientContext CSOM. Le nom de la méthode d’extension est CreateSiteAsync. Elle vous permet de créer un site d’équipe « moderne » en quelques secondes.

Dans l’extrait de code suivant, vous pouvez découvrir comment utiliser cette technique.

// Let's use the CreateSiteAsync extension method of PnP CSOM Core
// to create the "modern" team site

var targetTenantUrl = "https://[tenant].sharepoint.com/";

using (var context = new ClientContext(targetTenantUrl))
{
    context.Credentials = OfficeDevPnP.Core.Utilities.CredentialManager.GetSharePointOnlineCredential("[Name-of-Your-Credentials]");

    // Create new "modern" team site at the url
    // https://[tenant].sharepoint.com/sites/mymodernteamsite
    var teamContext = await context.CreateSiteAsync(
        new TeamSiteCollectionCreationInformation
        {
            Alias = "mymodernteamsite", // Mandatory
            DisplayName = "displayName", // Mandatory
            Description = "description", // Optional
            Classification = "classification", // Optional
            IsPublic = true, // Optional, default true
        });
    teamContext.Load(teamContext.Web, w => w.Url);
    teamContext.ExecuteQueryRetry();
    Console.WriteLine(teamContext.Web.Url);
}

Remarque

Vous trouverez davantage d’informations sur l’argument Classification dans la classification des sites « modernes » SharePoint.

Comme vous le voyez, la méthode d’extension crée un site d’équipe « moderne » et renvoie un nouvel objet ClientContext directement connecté au site nouvellement créé.

Approvisionnement d’un site d’équipe « moderne » à l’aide de PowerShell PnP

Vous pouvez également créer des sites « modernes » à l’aide de PowerShell PnP. Le script suivant crée un site d’équipe « moderne » et renvoie l’URL réelle du site SharePoint pour une manipulation ultérieure. Une fois que vous avez accès à l’URL du site créé, vous pouvez utiliser le modèle CSOM (avec le composant principal PnP SharePoint) ou PowerShell PnP SharePoint pour automatiser les autres opérations sur le site créé.

# Connect to SharePoint Online
# This command will prompt the sign-in UI to authenticate
Connect-PnPOnline "https://[tenant].sharepoint.com/"

# Create the new "modern" team site
$teamSiteUrl = New-PnPSite -Type TeamSite -Title "displayName" -Alias "mymodernteamsite" -Description "description" -IsPublic -Classification "classification" 

# Connect to the modern site using PnP PowerShell SP cmdlets
# Since we are connecting now to SP side, credentials will be asked
Connect-PnPOnline $teamSiteUrl

# Now we have access on the SharePoint site for any operations
$web = Get-PnPWeb -Includes WebTemplate, Configuration
$web.WebTemplate + "#" + $web.Configuration

Remarque

PnP PowerShell est une solution open source pour laquelle un support est assuré par la communauté active. Il n’existe pas de contrat SLA Microsoft pour le support technique relatif à cet outil open source.

Configurer un site d’équipe « moderne » à l’aide de l’interface de ligne de commande (CLI) pour Microsoft 365

L’interface de ligne de commande Microsoft 365 (CLI) peut également servir à créer des sites « modernes ». L’interface de ligne de commande (CLI) pour Microsoft 365 peut être utilisée sur n’importe quelle plateforme, y compris Windows, MacOS et Linux.

Remarque

L’interface CLI pour Microsoft 365 est une solution open source pour laquelle un support est assuré par la communauté active. Il n’existe pas de contrat SLA Microsoft pour le support technique relatif à cet outil open source.

Le script bash suivant crée un site d’équipe « moderne » et renvoie l’URL réelle du site SharePoint pour une manipulation ultérieure. Une fois que vous avez accès à l’URL du site créé, vous pouvez l’utiliser pour automatiser les autres opérations sur le site créé.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create the new "modern" team site
siteUrl=$(m365 spo site add --type TeamSite --title 'displayName' --alias 'mymodernteamsite' --description 'description' --isPublic --classification 'classification')

# Display the modern site url
echo $siteUrl

# Since the CLI for Microsoft 365 is connected to Microsoft 365 tenant we can do any operations. 
# As example, we can list all the properties from the site property bag:
m365 spo propertybag list -u $siteUrl

Approvisionnement d’un groupe Microsoft 365 par programme

Les sites d’équipe « modernes » peuvent être créés via un programme en créant un groupe Microsoft 365 à l’aide de Microsoft Graph. En fait, lorsque vous créez un groupe Microsoft 365, un site d’équipe « moderne » est automatiquement approvisionné pour le groupe. L’URI du site d’équipe « moderne » repose sur le paramètre mailNickname du groupe Microsoft 365 et présente la structure par défaut suivante.

https://[tenant].sharepoint.com/sites/[mailNickname]

Remarque

Une description détaillée de la création de groupes à l’aide de Microsoft Graph est disponible dans la documentation officielle.

Approvisionnement d’un groupe Microsoft 365 à l’aide du composant principal du modèle CSOM PnP

Le composant principal du modèle CSOM PnP, disponible sous forme de package NuGet, a simplifié les méthodes pour la gestion des groupes « moderne ».

/// <summary>
/// Let's use the UnifiedGroupsUtility class from PnP CSOM Core to simplify managed code operations for Microsoft 365 groups
/// </summary>
/// <param name="accessToken">Azure AD Access token with Group.ReadWrite.All permission</param>
public static void ManipulateModernTeamSite(string accessToken)
{
    // Create new modern team site at the url https://[tenant].sharepoint.com/sites/mymodernteamsite
    Stream groupLogoStream = new FileStream("C:\\groupassets\\logo-original.png", 
                                            FileMode.Open, FileAccess.Read);
    var group = UnifiedGroupsUtility.CreateUnifiedGroup("displayName", "description", 
                            "mymodernteamsite", accessToken, groupLogo: groupLogoStream);
            
    // We received a group entity containing information about the group
    string url = group.SiteUrl;
    string groupId = group.GroupId;

    // Get group based on groupID
    var group2 = UnifiedGroupsUtility.GetUnifiedGroup(groupId, accessToken);
    // Get SharePoint site URL from group id
    var siteUrl = UnifiedGroupsUtility.GetUnifiedGroupSiteUrl(groupId, accessToken);

    // Get all groups in the tenant
    List<UnifiedGroupEntity> groups = UnifiedGroupsUtility.ListUnifiedGroups(accessToken);

    // Update description and group logo programatically
    groupLogoStream = new FileStream("C:\\groupassets\\logo-new.png", FileMode.Open, FileAccess.Read);
    UnifiedGroupsUtility.UpdateUnifiedGroup(groupId, accessToken, description: "Updated description", 
                                            groupLogo: groupLogoStream);

    // Delete group programatically
    UnifiedGroupsUtility.DeleteUnifiedGroup(groupId, accessToken);
}

Approvisionnement d’un groupe Microsoft 365 à l’aide de PowerShell PnP

Vous pouvez également créer un groupe Microsoft 365 en utilisant PowerShell PnP, ce qui vous permettra de vous authentifier facilement auprès de Microsoft Graph à l’aide d’Azure Active Directory. Le script suivant crée un groupe Microsoft 365 ainsi qu’un site d’équipe « moderne », et renvoie l’URL du site SharePoint pour une manipulation ultérieure. Une fois que vous avez accès à l’URL du site créé, vous pouvez utiliser le modèle CSOM (avec le composant principal PnP SharePoint) ou PowerShell PnP SharePoint pour automatiser les autres opérations sur le site créé.

# Connect to your SharePoint admin center, credentials will be asked
Connect-PnPOnline -Url https://contoso-admin.sharepoint.com

# Create a new modern team site
New-PnPSite -Type Team -Title "Awesome Group" -Description "Awesome Group" -Alias "awesome-group"

Approvisionnement d’un site d’équipe moderne à l’aide de SharePoint Online Management Shell ou PowerShell PnP

Il est également possible de créer un site moderne qui n’est pas connecté à un groupe à l’aide de PowerShell, soit à l’aide des cmdlets PowerShell PnP, soit à l’aide de SharePoint Online Management Shell.

$title = "Awesome ModernTeamsite"
$url = "https://contoso.sharepoint.com/sites/awesomemodernteamsite"
$owner = "denisd@contoso.com"

// SharePoint Online Management Shell
New-SPOSite -Title $_title -Url $_url -Owner $owner -StorageQuota 512 -Template "STS#3"

// PnP
New-PnPTenantSite -Url $_url -Description $_title -Title $_title -Template STS#3 -Owner $owner

Approvisionnement d’un groupe Microsoft 365 à l’aide de l’interface de ligne de commande (CLI) pour Microsoft 365

L’interface de ligne de commande Microsoft 365 (CLI) peut également servir à créer un groupe Microsoft 365.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create a Microsoft 365 group
# The newly created SharePoint site for that group will have the URL
# https://[tenant].sharepoint.com/sites/awesome-group
m365 aad o365group add --displayName 'Awesome Group' --description 'Awesome Group' --mailNickname awesome-group

Approvisionnement de sites de communication « modernes »

Dans cette section, vous découvrirez comment approvisionner un site de communication « moderne » et les options disponibles pour le faire.

Approvisionnement d’un site de communication « moderne » à partir de l’interface utilisateur

Pour configurer un site de communication « moderne » à l’aide de l’interface utilisateur, si votre administrateur a activé les sites d’équipe « modernes » dans votre locataire, vous pouvez démarrer directement à partir de la page d’accueil SharePoint Online. Pour créer un site en quelques secondes, choisissez le bouton Créer un site, sélectionnez l’élément afin de créer un site de communication, choisissez une conception pour votre site, puis fournissez un nom et une description.

Lors de la rédaction de cet article, les conceptions disponibles pour un site de communication sont les suivantes :

  • Rubrique : utilisez cette conception si vous disposez d’une grande quantité d’informations à partager comme des actualités, des événements et d’autres contenus.
  • Présentation : utilisez cette conception pour présenter un produit, une équipe ou un événement à partir de photos ou d’images.
  • Page vierge : commencez avec un site vide et créez entièrement votre conception de façon simple et rapide.

Approvisionnement d’un site de communication « moderne » par programme

Si vous préférez, vous pouvez créer un site de communication « moderne » via un programme en utilisant soit le modèle CSOM et PnP, soit PowerShell.

Approvisionnement d’un site de communication « moderne » à l’aide du composant principal du modèle CSOM PnP

Le composant principal du modèle CSOM PnP, disponible sous la forme de package NuGet, a simplifié les méthodes pour la gestion des sites « modernes ».

// Let's use the CreateSiteAsync extension method of PnP CSOM Core
// to create the "modern" team site

var targetTenantUrl = "https://[tenant].sharepoint.com/";

using (var context = new ClientContext(targetTenantUrl))
{
    context.Credentials = OfficeDevPnP.Core.Utilities.CredentialManager.GetSharePointOnlineCredential("[Name-of-Your-Credentials]");

    // Create new "modern" communication site at the url https://[tenant].sharepoint.com/sites/mymoderncommunicationsite
    var communicationContext = await context.CreateSiteAsync(new CommunicationSiteCollectionCreationInformation {
        Title = "title", // Mandatory
        Description = "description", // Mandatory
        Lcid = 1033, // Mandatory
        AllowFileSharingForGuestUsers = false, // Optional
        Classification = "classification", // Optional
        SiteDesign = CommunicationSiteDesign.Topic, // Mandatory
        Url = "https://[tenant].sharepoint.com/sites/mymoderncommunicationsite", // Mandatory
    });
    communicationContext.Load(communicationContext.Web, w => w.Url);
    communicationContext.ExecuteQueryRetry();
    Console.WriteLine(communicationContext.Web.Url);
}

Comme vous le voyez, la méthode d’extension crée un site de communication « moderne » et renvoie un nouvel objet ClientContext directement connecté au site nouvellement créé.

Approvisionnement d’un site de communication « moderne » à l’aide de PowerShell PnP

Le script suivant crée un site de communication « moderne » et renvoie l’URL réelle du site SharePoint pour une manipulation ultérieure, comme l’exemple précédent avec des sites d’équipe « modernes ».

# Connect to SharePoint Online
# This command will prompt the sign-in UI to authenticate
Connect-PnPOnline "https://[tenant].sharepoint.com/"

# Create the new "modern" communication site
$communicationSiteUrl = New-PnPSite -Type CommunicationSite -Title "displayName" -Url "https://[tenant].sharepoint.com/sites/mymoderncommunicationsite" -Description "description" -Classification "classification" -SiteDesign Topic

# Connect to the modern site using PnP PowerShell SP cmdlets
# Since we are connecting now to SP side, credentials will be asked
Connect-PnPOnline $communicationSiteUrl

# Now we have access on the SharePoint site for any operations
$context = Get-PnPContext
$web = Get-PnPWeb
$context.Load($web, $web.Title)
Execute-PnPQuery
$web.Title

Configurer un site de communication « moderne » à l’aide de l’interface de ligne de commande (CLI) pour Microsoft 365

L’interface de ligne de commande Microsoft 365 (CLI) peut également servir à créer un site de communication « moderne ». Le script bash suivant crée le site et renvoie l’URL réelle du site SharePoint pour une manipulation ultérieure. Une fois que vous avez accès à l’URL vous pouvez l’utiliser pour automatiser d’autres opérations sur le site créé.

#!/usr/bin/env bash
# Connect to Microsoft 365 tenant
# This command will prompt a sign-in confirmation message to authenticate
m365 login

# Create the new "modern" communication site
siteUrl=$(m365 spo site add --type CommunicationSite --url https://[tenant].sharepoint.com/sites/mymoderncommunicationsite --title displayName --description description --classification classification)

# Display the modern site url
echo $siteUrl

# Since the CLI for Microsoft 365 is connected to your Microsoft 365 tenant we can do any operations. 
# As example, we can list all the properties from the site property bag:
m365 spo propertybag list -u $siteUrl

Considérations supplémentaires

Les sous-sites utilisent des modèles « classiques »

Si vous approvisionnez un sous-site sous le site racine d’une collection de sites « modernes », les sous-sites utiliseront des modèles « classiques ». Aucun modèle de sous-site « moderne » n’est actuellement disponible. Vous pouvez transformer un sous-site « classique » en site d’équipe « moderne » en créant une page « moderne » sur le site et en mettant à jour la page d’accueil avec la page nouvellement créée.

Si vous ne voulez pas autoriser les utilisateurs à créer un sous-site « classique » sous une collection de sites « modernes », en tant qu’administrateur, vous pouvez accéder au Centre d’administration SharePoint, sélectionner la page Paramètres et configurer l’option Création de sous-sites afin de masquer le menu de création de sous-sites. Vous pouvez voir l’option de création de sous-sites dans l’image suivante.

Options de création de sous-sites de l’interface utilisateur d’administration SharePoint Online

Les sites ne sont pas répertoriés dans l’interface utilisateur d’administration SharePoint classique / API client.

Les sites d’équipe « modernes » ne sont pas visibles dans l’interface utilisateur d’administration SharePoint. Vous pouvez accéder à la liste des sites d’équipe « modernes » à partir de l’interface utilisateur d’administration des groupes Microsoft 365 sous le portail d’administration Office 365. L’interface utilisateur d’administration SharePoint Online ne répertorie que les sites SharePoint « classiques ». La même restriction ne s’applique pas à l’API client : vous pouvez utiliser cette API pour énumérer les sites d’équipe « modernes » avec les sites d’équipe « classiques ». Pour obtenir la liste des sites d’équipe « modernes » uniquement, vous pouvez également utiliser le point de terminaison des groupes à partir de l’API Microsoft Graph.

Une nouvelle interface utilisateur d’administration SharePoint, qui prend en charge la gestion des nouvelles collections de sites « modernes » ainsi que les « classiques », est à venir.

Voir aussi