Astuces SharePoint Online avec PnP-PowerShell

Cet article recense des opérations hyper-condensées en PnP-PowerShell vous permettant de gérer vos sites SharePoint Online. Avant de vous en servir, assurez-vous d’avoir installé les modules PnP-PowerShell (disponibles ici), d’avoir lancé une fenêtre PowerShell (ISE ou non), et de vous être connecté à votre collection de sites à l’aide la commande Connect-PnPOnline.

Remarque : ces commandes n’ont pas vocation à être performantes en temps d’exécution, simplement à rendre un service en un minimum de lignes. Donc, à ne pas utiliser sur des volumes de données très importants

(suite…)

Continuous integration for a SharePoint Framework Project

 

blog ai3 Header-1024x195 Continuous integration for a SharePoint Framework Project

 

SharePoint Framework is the development tooling used for the new SharePoint Modern Pages, it allow to create WebPart, List Field Customiser or Page extensions.

In the context of a development project, you may be need to increase the speed of your deployment and testing by using the Azure DevOps Tool Suite. You’ll find below a small tutorial to automate your build and release with Azure DevOps.

The SharePoint Framework package creation with Azure DevOps is splitted in two parts: the creation of the package itself and its deployment to the SharePoint Online App Catalog.

Build Setup :

From the Pipelines menu click on Builds and on New Pipeline, the configuration wizard is displayed:

blog ai3 Create-Build1-300x211 Continuous integration for a SharePoint Framework Project

From this screen, you should select your project, the repository and your target branch. On the next screen, you have the possibility to start from a template but we’ll start from a fresh template, so click one Empty Job

blog ai3 Create-Build2-300x70 Continuous integration for a SharePoint Framework Project

 

To do this job you should had the following steps :

 

  • Task Node Tool Installer

Here we will install the recommended Node Version for SharePoint Framework : 8.11.

blog ai3 Create-Build3-300x155 Continuous integration for a SharePoint Framework Project

  • Task NPM

Here we’re installing all Node Modules for our project

 

blog ai3 Create-Build4-300x182 Continuous integration for a SharePoint Framework Project

 

  • Task Gulp x2

Here we’re adding 2 gulp task to bundle and package our SPFX project

blog ai3 Create-Build5-300x273 Continuous integration for a SharePoint Framework Projectblog ai3 Create-Build6-270x300 Continuous integration for a SharePoint Framework Project

 

  • Task Publish Build Artifacts

Finally we’re publishing the build package to use it in the release pipeline

blog ai3 Create-Build7-279x300 Continuous integration for a SharePoint Framework Project

Release Setup:

There’s several ways to publish a SPFX package : Gulp, PowerShell and the Office 365 CLI. For this tutorial I’ll use the latest method because it is system agnostic ( based on NodeJS ) and easier to use.

First of All, you’ll have to grant the permissions on your tenant to the Office 365 CLI ( just connect to your tenant through this CLI from your computer ).
You can find an installation guide of Office 365 CLI here : https://pnp.github.io/office365-cli/

 

blog ai3 Create-Release1-1024x654 Continuous integration for a SharePoint Framework Project

Once it’s done, we’re ready to create our Release Pipeline.

 

From the Pipelines menu click on Releases, New, and then Release Pipeline: the Configuration Wizard is appearing :blog ai3 Create-Release2 Continuous integration for a SharePoint Framework Project

Click on Empty Job  and define a name for your stage ( for our example the stage name will be SharePoint Online ), once it’s done click on the hyperlink below the stage name and access to the task list:blog ai3 Create-Release3 Continuous integration for a SharePoint Framework Project

Add the following tasks :

 

  • Task Node Tool Installer :

We’re installing the recommended Node version for the Office 365 CLI

blog ai3 Create-Release4 Continuous integration for a SharePoint Framework Project

 

  • Task NPM :

We’re installing the Office 365 CLI

 

blog ai3 Create-Release5 Continuous integration for a SharePoint Framework Project

 

  • Task Command Line :

We’re first connecting to the tenant through a user / password authentication method: tenantUrl, password and username are here Custom Variables

blog ai3 Create-Release7 Continuous integration for a SharePoint Framework Project

  • Task Command Line :

Finally we’re adding the app to the app catalog ( _TestIC-CI is the Artifact Name )

blog ai3 Create-Release8 Continuous integration for a SharePoint Framework Project

To test your work create a new release and your package will be deployed in your tenant catalog !

RGPD : SharePoint clean policy

Local admins must manage their data

This post is not about a global RGPD project in your organization, it’s a simple solution that site’s admins can apply in their sites, in their lists, in their libraries to ensure RGPD storage limitation compliance (chapter 5.e of RGPD).

This pragmatic solution is the feature named « Site Policy ».

blog ai3 ShpCleanPolicy02 RGPD : SharePoint clean policyTo explain how to use this feature, let’s take an example of an app managing visitor’s access badges:

  • Employees must bring an access badge to their visitors
  • There is a SharePoint list of badge’s requests
  • To ask for a new badge a user add a new item in this list, with his name, date of the visit and personal informations of the visitor
  • The security team prepare a badge with right access permissions and add the badge number in SharePoint
  • Finally, the badge is given to the welcome hostesses

 

  • This app have been built by a user in 2011
  • The question of data retention period have never been considered
  • All data since 2011 are still in the list when the company need to be able to retrieve visitors identity after the visits, but no longer that 6 months

Now there is a double question: how to delete right now items created more than 6 months before ?
How to do it periodically?

Solution: feature and settings

blog ai3 ShpCleanPolicy03 RGPD : SharePoint clean policy

The site admin must find a solution to delete items 6 months after their creation.

 

First of all he have to activate the « Site Policy » feature if not done yet

 

In the list’s settings he click on « Information management policy settings »

 

 

 

 

 

 

blog ai3 ShpCleanPolicy04 RGPD : SharePoint clean policy

He create a new Policy for the content type « Item »

 

In this Policy he enable retention and specify « Created + 6 months → Permanetly Delete »

 

He press « Ok » and it’s done!

 

And what happen immediatly? Nothing!

 

Items will be deleted later, by jobs scheduled in the SharePoint farm.

 

 

 

 

Jobs scheduled in the SharePoint farm

In the SharePoint farm, each Web App have 2 jobs:blog ai3 ShpCleanPolicy05 RGPD : SharePoint clean policy

  • Information management Policy : runs weekly and calculate updates expiration dates
  • Expiration Policy : runs weekly and process expired items

Detailed documentation: https://docs.microsoft.com/en-us/sharepoint/technical-reference/timer-job-reference-for-sharepoint-server-2016

In SharePoint on premises, by default theses jobs runs respectively  Friday and Saturday at 11 PM
This periodicity  can be changed in Central Administration or with PowerShell.

For SharePoint online, in the detailed documentation we can read that these jobs are not available.

However I have tested it in SharePoint online and it works!
I understand that « not available » mean I can’t decide the scheduled time of the jobs.

Conclusion: 3 good news

The point is to clean a list or a library periodically regarding on chapter 5.e of RGPD.

🙂 The solution described here is free: included in SharePoint.
🙂 The solution is light: data’s conservation periods defined directly by business lines actors.
🙂 The solution is efficient: one single action for cleaning several years old datas and for cleaning periodically from now.

Pourquoi quitter le partage réseau ?

Vous savez tous où est la dernière présentation du groupe Ai3, « Tsé là ! », celle qui est dans le répertoire r:\share\Marketing\Jean-Edouard\2016\Présentation\Important\Dernière version\2017\maj\Présentation Groupe Ai3 jan 2018 v3.pptx

Moi non plus, mais quand je tombe dessus par hasard, je me demande toujours si c’est bien celle-là que je dois montrer à mes clients, sachant que Jean-Edouard ne travaille plus chez nous depuis plus d’un an… vive la retraite !

Du coup que fait-on, une copie en local qu’on distribuera au gré du vent par courriel…

Voici la dernière présentation du groupe ==> Présentation Ai3 – Version août 2018 – Copie v5 draft.pptx

blog ai3 Share-new-doc-version-1024x511 Pourquoi quitter le partage réseau ?

Ce qui est certain c’est que SharePoint fait très peur face aux partages réseaux accessibles qu’en interne, ou pour les plus chanceux, par VPN. Imaginez-vous retrouver la dernière version – seule vrai version — d’un document, c’est intimidant n’est-ce pas ?

Voici quelques fonctionnalités simples, permettant de vous rassurer avec SharePoint et que dans bien des cas vous ne pouvez pas faire avec votre partage réseau :

Historique de versions

La première et non la moindre est la possibilité d’incrémenter de façon transparente et automatique la version de nos documents. Cette fonctionnalité vous permet de :

  • Générer en version majeure (1.0, 2.0, 3.0, …) et mineur (1.0, 1.1, 1.2, 2.0, 2.1, …)
  • Limiter le nombre de versions à conserver
  • Supprimer les versions mineures à chaque publication d’une version majeure
  • Visualiser et/ou récupérer une version antérieure

blog ai3 Share-version-1 Pourquoi quitter le partage réseau ?

Approbation de publication du document

Vous pouvez aussi mettre en place un système d’approbation de document, cette fonctionnalité permet de ne mettre à disposition des utilisateurs qu’une version « vérifiée » et « approuvée » par un responsable tout en travaillant dans la même source.

Vous pouvez par la même occasion décider de qui peut consulter ou modifier des documents.blog ai3 share-approve-doc Pourquoi quitter le partage réseau ?

Forcer la réservation d’un document (Check-In / Check-Out)

Dans certain contexte — principalement dans les cas où le parc informatique n’est pas avec la dernière version OS & Office 365 –, il est nécessaire de « réserver » le document afin d’y apporter toutes les modifications nécessaires. On se retrouve cette fois avec une fonctionnalité iso à l’édition de document via le partage réseau.

NB/ Le fait de réserver un document permet aussi d’enregistrer le document plusieurs fois sans générer de montée de version (dév.)

blog ai3 share-checkout-doc-1-1024x255 Pourquoi quitter le partage réseau ?

Coédition

L’une des forces de SharePoint (ou OneDrive) reste la coédition de documents par plusieurs utilisateurs à la fois. Allier la force de rédaction d’une équipe permet un gain de temps assuré !

blog ai3 co-authoring2 Pourquoi quitter le partage réseau ?

NB/ utilisable si l’option de réservation de document n’est pas activée.

Partage autonome

Plus besoin d’ouvrir un ticket à son centre de support préféré afin d’ajouter un nouveau venu sur le document. D’un simple clic vous pouvez partager un document à votre collègue et commencer à collaborer.

blog ai3 share-share-doc-1 Pourquoi quitter le partage réseau ?

Accès à distance

Depuis n’importe quel appareil vous avez la possibilité de consulter un document. Via l’application SharePoint mobile ou sans apps dédié, simplement et directement dans votre navigateur. Plus besoin de VPN pour consulter ses notes, ses documents, …

Grâce à l’application OneDrive, garder quelques documents clés avec vous lors de vos déplacements.

blog ai3 share-sync-onedrive-explorer-setup Pourquoi quitter le partage réseau ?

Automatiser des processus simples et complexes

Rester averti de la mise à jour et de l’évolution des documents auxquels vous voulez porter une attention toute particulière.

blog ai3 share-alerte-doc-1024x265 Pourquoi quitter le partage réseau ?

Ou passer à la vitesse supérieure, pour ceux qui ont une vision plus avancée de leur besoin métier, tel que

  • Obtenir une approbation en plusieurs étapes
  • Envoyer automatiquement en lien en lecture vers tous les membres d’une équipe
  • Déplacer dans une autre bibliothèque sous certaines conditions
  • Supprimer après la date d’expiration (10 ans à compter de la création du document)

Il est possible de déclencher un processus manuellement ou automatiquement en fonction de la création / modification / suppression du document ou des métadonnées d’une colonne.

On peut même se connecter à des services externes (Twitter, Google Docs, Microsoft Forms, d’autres collections de sites SharePoint, etc.) à l’aide de Microsoft Flow.

blog ai3 share-microsoft-flow Pourquoi quitter le partage réseau ?

Métadonnées / Vues

Pour les plus téméraires, vous allez pouvoir structurer vos documents à l’aide de métadonnées de classements afin mettre en forme des affichages dédiées aux différentes personnalités de vos équipes.

blog ai3 share-views-by-doc-1 Pourquoi quitter le partage réseau ?

Voir même de mettre en place de la taxonomie automatique pour les irréductibles classeurs de répertoires verticaux ?

 

Ce billet qui ne survole qu’une partie des avantages, les plus simples et rapides à mettre en place au sein de son organisation. Il reste encore de gros sujets autour de SharePoint et Office 365 permettant de fournir des stratégies de rétention (conservation ou suppression) ou des processus d’archivage sur l’ensemble de vos documents, de mettre en place des autorisations, des étiquetages, etc.

En plus, tout va très vite aujourd’hui, maintenant vous pouvez fournir à vos utilisateurs le dernier modèle de document directement dans l’interface moderne de SharePoint Online

blog ai3 Add-template-modern-UI Pourquoi quitter le partage réseau ?

Petites « nouveautés » SharePoint Online

J’espère que vos vacances ont été ensoleillé et des plus reposante, alors un petit post de nouveautés sur SharePoint Online pour bien commencer sa rentrée ?

Personnalisation de l’entête de site #branding en 4 options

None – Affiche l’en-tête avec la couleur blanche par défaut
Neutral – Affiche l’en-tête avec un fond gris clair
Soft – Affiche l’en-tête avec une version claire de la couleur principale en arrière-plan
Strong – Affiche l’en-tête avec la couleur principale comme arrière-plan

blog ai3 Modern-header-Change-look-header-choice-300x191 Petites "nouveautés" SharePoint Online

Menu de navigation #MegaMenu #MegaMenuEnabled

Cette navigation permet de diviser en blocs (Menu A, Menu B, …) les liens de navigation.

blog ai3 Modern-site-MegaMenuEnable-300x105 Petites "nouveautés" SharePoint Online

 

Vous pouvez l’activer via un script standard Microsoft :

Ou via les librairies PnP

On peut créer des sous-sites « Modern UI »

Certes, il n’est pas conseillé de créer des sous-sites. On le sait tous, mais n’empêche que c’est plus simple à gérer quand on en a des centaines, voir des milliers, avec des templates de sites et / ou une architecture de groupes d’accès particuliers identiques à appliquer.

blog ai3 Modern-subsites-300x237 Petites "nouveautés" SharePoint Online

SharePoint Modern Experience : Communication Site

L’arrivée de la modern experience sur les nouveaux sites SharePoint Online a été accompagnée d’un nouveau modèle de site « Le Communication Site ». C’est ce nouveau modèle que nous allons aborder dans cet article.  L’objectif de ce modèle de site est de partager du contenu avec d’autres collaborateurs. Ce modèle a été pensé de façon à s’afficher correctement sur tous les types de supports (PC, Mobile, etc … )

Généralités

Tout d’abord ce modèle est disponible lors de la création d’un nouveau site :

blog ai3 Capture-2 SharePoint Modern Experience : Communication Site

Plusieurs type de site sont disponibles :

  • Topic
    • Idéal pour partager des informations sur un sujet particulier
  • Showcase
    • Utile dans le cas d’une communication sur un évènement par exemple
  • Blank
    • Modèle vide

Le modèle Topic

blog ai3 Capture-5 SharePoint Modern Experience : Communication Site

Le modèle Showcase

blog ai3 Capture-6 SharePoint Modern Experience : Communication Site

 

 

Les sections

Les sections correspondent à la nouvelle manière de découper horizontalement une page SharePoint. L’ajout de section est dynamique, le nombre de sections n’est pas spécifié au moment de la création de la page. L’avantage de ce nouveau système est la totale liberté offerte pour la mise en page. Chaque section est autonome est dispose d’une mise en page spécifique. Lors de l’ajout d’une section on spécifie le nombre de colonnes de la section ainsi que la disposition :

blog ai3 Sans-titre-3 SharePoint Modern Experience : Communication Site

 

La nouvelle webpart (Hero Content)

Cette webpart permet d’afficher plusieurs liens / images sous forme de plusieurs vignettes comme vous pouvez le voir ci dessous :

blog ai3 Capture-7 SharePoint Modern Experience : Communication Site

La disposition ainsi que le nombre de vignettes peut être modifié. La disposition « Vignettes » propose les options suivantes :

blog ai3 Sans-titre-1 SharePoint Modern Experience : Communication Site

La disposition « Couches » permet de son côté d’afficher les informations de cette façon :

blog ai3 Sans-titre-2 SharePoint Modern Experience : Communication Site

Cette nouvelle webpart est évidemment responsive.

Les news

Un nouveau système de news est mis en place (également disponible sur les Team Site). La rédaction ainsi que l’intéraction sociale est facilitée. Lors de l’édition de la page d’accueil, il est possible d’ajouter des news :

blog ai3 Capture-10 SharePoint Modern Experience : Communication Site   blog ai3 Capture-11 SharePoint Modern Experience : Communication Site

 

En cliquant sur le bouton Add, on peut ajouter une nouvelle News. Une news est en fait une nouvelle page dans laquelle on peut ajouter des webpart, des sections etc. La rédaction de news est intuitive, on retrouve les fonctionnalités rapidement.

Les fonctionnalités sociales classiques sont intégrées aux news. L’utilisateur peut ainsi « liker » (« J’aime ») ou commenter la news comme vous pouvez le voir ci dessous :

blog ai3 Capture-12 SharePoint Modern Experience : Communication Site

Conclusion

Ce nouveau modèle de site offre de nombreuses possibilités. L’affichage et le design des webparts ont été améliorés. De plus, grâce aux sections les pages sont plus facilement modifiables et surtout plus flexibles.

 

 

 

SharePoint 2019

La semaine dernière avait lieu la Conférence SharePoint. L’occasion pour nous de présenter quelques informations sur SharePoint 2019 !

Microsoft compte capitaliser sur toutes les améliorations apportés aux sites sur Office 365. La « Modern » experience sera bien évidemment au menu de cette nouvelle version de SharePoint. Les nouveaux modèles de site, tels que les sites de communication et les sites d’équipe seront également présents.

L’objectif de SharePoint 2019 est d’améliorer encore plus l’accès à l’information.

L’information doit être disponible en permanence, peu importe l’endroit ou le device utilisé pour y accéder :

blog ai3 large?v=1 SharePoint 2019

 

Fonctionnalités

Quelques fonctionnalités clés et marquantes :

  • Sites, pages, et bibliothèques utilisant la nouvelle « Modern » interface
  • Team Site & Communication site
  • Support hybride amélioré
  • Amélioration des processus métier avec l’utilisation de PowerApps et Flow
  • Compatibilité avec le nouveau client OneDrive (NGSC) permettant un accès fiable aux documents n’importe ou et n’importe quand.
  • Possibilité d’intégrer PowerBI et Bing Maps dans vos éléments de liste.

Sécurité

La Centrale d’administration SharePoint va être refondue. L’objectif est de se rapprocher du centre d’Administration Office 365. En termes de conformité, une nouveauté permettra de connaître les emplacements géographiques à partir desquels se connectent les utilisateurs. Cela offrira la possibilité d’appliquer des politiques de sécurité différentes selon l’emplacement de l’utilisateur.

RoadMap

SharePoint 2019 sera disponible aux clients durant le 2ème semestre 2018. La version preview devrait être disponible durant l’été 2018.

Un petit point sur Modern UI des sites Sharepoint Online

Lorsque Microsoft a annoncé le Modern UI sur les sites Sharepoint, je me suis dit « Enfin, on va avoir quelque chose de sympa ! ».

Effectivement, les sites modern UI sont hautement responsives, agréables à regarder, propres et clairs. Puis, j’ai regardé comment modifier la charte graphique, personnaliser les formulaires, ajouter une mise en page, et là, je suis tombé de haut… tout est verrouillé : impossible de personnaliser quoi que ce soit ! Du coup, impossible de mettre en place SON Intranet avec Sharepoint en Modern UI.

Mais ça, c’était avant ! Les choses ont pas mal évoluées depuis.

L’objectif de cet article est de faire un tour d’horizon des nouvelles (plus ou moins) fonctionnalités qui nous permettrons, partenaires intégrateurs Sharepoint, de personnaliser les sites Modern UI pour  créer des sites (Intranet ou applications métier) intégrant la « Marque entreprise » de nos clients et leurs règles/processus métier.

Client Webpart

Niveau : Développeur

Il s’agit ici de développer des webparts, non pas en C# comme d’habitude, mais en Javascript : d’où le terme « Client ».

Le développement de « client webparts » s’appuie fortement sur le « Sharepoint Framework » et sur des techniques utilisées par les développeurs FrontEnd : Yeoman, gulp, TypeScript, API Rest, …

Fonctionnellement, le client webpart permet d’intégrer dans Sharepoint Online des fonctionnalités métier en utilisant Javascript pour requêter des données (via des webservice SOAP) et les mettre en forme dans la page HTML.

En mode conception de la page, la webpart se trouve avec les webparts proposées par défaut (HelloWorld dans le cas présent) :

blog ai3 sp-modernui-client-webpart-adding-1 Un petit point sur Modern UI des sites Sharepoint Online

Et on retrouve une notion de « propriété » qui permet de gérer le comportement de la webpart dan s la page. Dans l’exemple ci-dessous la propriété « Description Field » permet de modifier le texte de la webpart.

blog ai3 sp-modernui-client-webpart-properties-1 Un petit point sur Modern UI des sites Sharepoint Online

Bref, les développeurs Sharepoint ne sont pas dépaysés : il faut juste oublier les traitements côté serveur pour se lancer à fond dans Javascript.

Il devient alors facile d’afficher, par exemple, le cours de l’action Ai3 dans la page d’accueil de l’Intranet.

Injection Javascript

Niveau : Développeur

Cette technique permet, pour un site donné, d’exécuter une méthode Javascript à chaque chargement de page. Elle est très utilisée pour gérer la mise en forme générale du site, et plus précisément pour intégrer un header sur toutes les pages du site.

Dans les pages modern UI, des zones qui peuvent être utilisées pour y intégrer du contenu HTML :

  • Top : zone en entête de page.
  • Bottom : zone en pied de page.
  • DialogContainer : zone pour l’affichage d’un contenu sous forme de popin.
    blog ai3 sp-modernui-sample-injection-js-popin-300x222 Un petit point sur Modern UI des sites Sharepoint Online

Sur notre Intranet Ai3, c’est ce qui est utilisé pour présenter la zone grise au-dessus du menu de navigation. Dans le cas présent, on y intègre des fonctionnalités complémentaires (favoris, activités récentes, …).

blog ai3 sp-modernui-sample-injection-js-1024x306 Un petit point sur Modern UI des sites Sharepoint Online

Cette technique permet aussi d’ajouter de nouvelles commandes dans les barres d’outils associées aux listes :

blog ai3 sp-modernui-sample-injection-js-command-1024x357 Un petit point sur Modern UI des sites Sharepoint Online

Ce type de personnalisation va permettre d’ajouter des traitements métier sur des éléments de liste, toujours via un traitement Javascript qui va interagir avec Sharepoint et/ou des applications tierces via des webservices REST.

Page layout

Niveau : Contributeur de contenu

Il s’agit plus d’une fonctionnalité de contribution que réellement une fonctionnalité de personnalisation, mais comme cette notion de « page layout » n’existait pas dans les premières versions du Modern UI, j’ai préféré revenir dessus.

Une page « Modern UI » est divisée en sections qui peuvent avoir différentes dispositions :

blog ai3 sp-modernui-page-layout Un petit point sur Modern UI des sites Sharepoint Online

Cela permet d’organiser le contenu de la page de manière très souple, et même peut être plus souple qu’avec les sites classiques puisqu’une page peut commencer sur 3 colonnes, passer sur une seule, et revenir sur 2 colonnes selon les besoins du contributeur.

blog ai3 sp-modernui-pagelayout-1024x527 Un petit point sur Modern UI des sites Sharepoint Online

Thème

Niveau : Concepteur de sites

La notion de thème est apparue assez récemment sur les sites Modern UI : il va permettre aux administrateurs de sites de changer le look du site.

blog ai3 sp-modernui-theme-menu-136x300 Un petit point sur Modern UI des sites Sharepoint Online

Cette fonctionnalité n’est pas encore déployée sur tous les tenants : je ne l’ai d’ailleurs par encore de mon tenant de développement.

Les possibilités sont assez limitées. L’utilisateur va pouvoir définir 3 couleurs principales de leurs déclinaisons. Ces différents couleurs seront appliquées sur les classes CSS correspondantes. Le fonctionnement est sur le principe identique à la fonctionnalité « Modifier l’apparence » d’un site classique.

blog ai3 sp-modernui-theme-list-71x300 Un petit point sur Modern UI des sites Sharepoint Online

Pour les entreprises souhaitant avoir un rendu homogène sur un ensemble de sites, il est possible de créer des templates personnalisés. Pour cela, il faut générer une description (avec l’outil ThemeGenerator), et la référencer dans Sharepoint à l’aide de la commande PowerShell Add-SPOTheme. Les templates proposés par défaut peuvent être masqués à l’aide de la commande PowerShell Set-SPOHideDefaultThemes.

A noter qu’en utilisant un thème personnalisé, il est possible d’utiliser une image de fond de page :

blog ai3 sp-modernui-site-with-custom-theme Un petit point sur Modern UI des sites Sharepoint Online

Personnalisation formulaires

Niveau : Développeur / Concepteur de sites

Power Apps permet de générer des applications de gestion de données métier accessibles depuis un navigateur ou un smartphone. Les données sont généralement issues de Sharepoint. Un cas d’usage pourrait être de gérer un annuaire des personnes d’astreinte à contacter en cas de problème : cet annuaire est disponible simplement et rapidement via un navigateur ou une application mobile.

Pourquoi je parle de Power Apps ? Il s’agit d’un outil permettant de générer des applications autonomes !

Et bien depuis peu, Power Apps peut être utilisé pour personnaliser les formulaires de consultation, de création et de modification des éléments d’une liste.

blog ai3 sp-modernui-list-form-app Un petit point sur Modern UI des sites Sharepoint Online

Sans développement, il est donc possible de supprimer des colonnes dans les formulaires, de masquer une colonne en fonction de la valeur d’une autre (gestion des états), d’ordonner les colonnes, et bien plus encore.

Contrairement à PowerApp en mode autonome, le formulaire reste affiché dans la page de la liste.

blog ai3 sp-modernui-list-form-open Un petit point sur Modern UI des sites Sharepoint Online

L’intégration avec Sharepoint est donc totale.

Mise en forme des champs

Niveau : Développeur / Concepteur de sites

Dans les paramètres d’une colonne de liste, il y a maintenant une commande « Mettre en forme cette colonne » :

blog ai3 sp-modernui-column-formating-menu-1024x440 Un petit point sur Modern UI des sites Sharepoint Online

L’écran à droite permet d’intégrer des règles de formatage au format JSON.

Les possibilités de formatage, sans être infinies, permettent de traiter un certain nombre de cas d’usages illustrés ci-dessous :

blog ai3 sp-modernui-columnformatting-none Un petit point sur Modern UI des sites Sharepoint Online

blog ai3 sp-modernui-columnformatting-all Un petit point sur Modern UI des sites Sharepoint Online

Attention : cette technique se base sur un système déclaratif au format JSON. Cela signifie que l’on n’injecte pas de code Javascript pour avoir une liberté totale sur l’apparence du champ comme c’était le cas avec les JSLink. On est limité aux capacités de représentation du JSON.

Personnalisation des rendus des champs

Niveau : Développeur

Dans un chapitre précédent, je parlais de la mise en forme des champs. L’objet de ce chapitre est de vous montrer qu’il est possible d’aller plus loin que du simple formatage de la valeur, mais bien de gérer en javascript la façon dont est présentée la colonne dans son ensemble : la valeur, mais aussi son comportement.

Dans l’exemple ci-dessous, le champ « Percent » est éditable même en vue liste à l’aide d’un slider.

blog ai3 sp-modernui-slider-1024x445 Un petit point sur Modern UI des sites Sharepoint Online

Conclusion

Avec ces différentes fonctionnalités, plus ou moins récentes, je pense que la bascule vers le modern UI va s’accélérer. C’est plutôt une bonne nouvelle pour les utilisateurs de Sharepoint qui sont souvent confrontés à des problématiques ergonomiques.

Certains sujets seront développés dans de futures articles… stay in touch ! 😉

Si j’ai oublié des choses, j’hésitez pas à me le faire savoir, je compléterai l’article avec plaisir.

Créez en 5 semaines votre Intranet Collaboratif grâce à Powell 365

Vos utilisateurs sont perdus entre les différents outils dans Office 365 (Groups, Yammer, SharePoint, Skype…) ? Powell 365 agrège l’ensemble de ces outils au sein d’une seule  » Digital Workplace  » et améliore l’adoption utilisateur de plus de 90%. Pendant cet atelier, Benjamin Chouraki (Consultant Solutions Collaboratives chez Ai³) nous a présenté, le 9 Novembre 2017, les fonctionnalités offertes par Powell 365 à travers des démonstrations interactives mais surtout comment mener à bien un projet complet d’Intranet responsive en un temps record !

 

Sécuriser SharePoint avec Let’s Encrypt

Bonjour à tous et à toutes,

Dans ce billet je vous propose une méthode simple et gratuite de sécuriser vos accès à SharePoint par le biais de Let’s Encrypt !

Let’s Encrypt est une autorité de certification.
Elle fournit des certificats X.509 gratuits et renouvelés automatiquement tous les 60 jours.

A l’origine, le programme est destiné aux serveurs web tournant sous Linux.
Mais des développeurs ont créé des interfaces permettant de le faire fonctionner sous Windows.

Nous utiliserons ici, l’application Letsencrypt-win-simple (lien plus bas)

Alors qu’il est facile de l’utiliser sur des sites web classiques, qu’en est-il de SharePoint ?

Les prérequis

a) Internet Information Services (IIS)

          Les sites web dans IIS

Au niveau des sites web vous aurez besoin :

  • d’un site IIS classique sur le port 80. Vous pouvez, par exemple, activer le Default Web Site
  • de toutes vos Web Applications sur des ports différents du port 80. Les protocoles n’étant pas cantonnés à un port (443) libre à vous de choisir lequel utiliser

blog ai3 iis-300x66 Sécuriser SharePoint avec Let's Encrypt

     Attention : si vous utilisez le même port il vous faudra configurer vos sites en Host Header

          Le site web http

Pour le site classique vous devez configurer, en host header, les URLs de toutes vos applications web

blog ai3 http-bindings-300x175 Sécuriser SharePoint avec Let's Encrypt

b) SharePoint (2010, 2013 ou 2016)

          SharePoint Central Administration

Configurez vos Web Application afin que seule l’URL en https:// reste dans les Alternate Access Mapping (AAM)

blog ai3 aam-300x85 Sécuriser SharePoint avec Let's Encrypt

Si l’une d’entre elles n’était pas en HTTPS faites la modification puis éditez les Bindings dans IIS
Pour le binding IIS, ajoutez le nouveau sur le protocol HTTPS puis supprimez l’ancien

Si vous n’aviez pas de certificat SSL auparavant créez-en un (Self-signed) et assignez-le à vos Web Applications
C’est indispensable pour que l’outil fonctionne de façon optimale, vous pourrez supprimer ce certificat à la fin

c) L’outil

     Let’s Encrypt pour Windows

     L’outil se nomme Letsencrypt-Win-Simple et est disponible à cette adresse :

https://github.com/Lone-Coder/letsencrypt-win-simple/releases

La sécurisation

a) Exécutez CMD en tant qu’administrateur

b) Rendez-vous dans le dossier où vous aurez décompressé LetsEncrypt

c) Exécutez la commande letsencrypt –accepttos –emailaddress mail@domain.ext
         L’adresse mail peut être fictive, seul le domain.ext doit être réel et publique

d) Dans les choix qui vous sont proposés, appuyez sur la touche N puis validez

blog ai3 lets-1 Sécuriser SharePoint avec Let's Encrypt

e) Puis choisissez l’option 1 ou 2 selon que vous avez un ou plusieurs bindings associés au site http puis validez

blog ai3 lets-2 Sécuriser SharePoint avec Let's Encrypt

     f) Dans la sélection suivante, faites le choix n°1 et validez

blog ai3 lets-3 Sécuriser SharePoint avec Let's Encrypt

Attention: Ne sélectionnez surtout pas un de vos site SharePoint directement !

g) Une liste des URLs impactées vous est affiché et on vous propose d’exclure si besoin certaines d’entre elles
Si tel est le cas, renseignez-les séparées par des virgules sinon laissez blanc puis validez

blog ai3 lets-4 Sécuriser SharePoint avec Let's Encrypt

     h) Dans la liste de choix qui suit, sélectionnez l’option 4 et validez

blog ai3 lets-5 Sécuriser SharePoint avec Let's Encrypt

     i) L’application test alors si les sites sont bien accessibles en http en y déposant un fichier de réponse temporaire
Si tout se passe bien il créé alors le certificat, l’installe dans IIS et configure les bindings des sites SharePoint
Une tâche planifiée est créée à la fin et on vous demande si vous voulez spécifier un utilisateur pour l’exécuter

blog ai3 lets-6 Sécuriser SharePoint avec Let's Encrypt

         N utilisera l’utilisateur actuel

Y vous demandera un nom d’utilisateur

blog ai3 lets-7 Sécuriser SharePoint avec Let's Encrypt

         puis un mot de passe

blog ai3 lets-8 Sécuriser SharePoint avec Let's Encrypt

     Tous les 60 jours votre certificat et les bindings IIS seront automatiquement mis à jour !