De nombreux "citizen developpers" créent leur première application Power Apps en se servant d'un fichier Excel comme support de données, et ce souvent par méconnaissance de SharePoint. Alors, certes, rappelons que SharePoint N'EST PAS un SGBDR (Système de Gestion de Base de Données Relationnelles) mais il peut s'avérer très pratique pour répondre à des petits besoins de stockage de données/fichiers pour vos applications.

Encore faut-il savoir structurer ses listes correctement. Cet article vous décrit comment créer, organiser et gérer votre modèle de données avec SharePoint.

Les étapes pour la création d'une liste dans SharePoint sont toujours les mêmes :

  1. Création des colonnes
  2. Construction du type de contenu
  3. Ajout des colonnes dans le type de contenu
  4. Création de la liste
  5. Rattachement du type de contenu à la liste
  6. Paramétrage de la liste

Schématiquement, on pourrait représenter l'encapsulation de ces différents éléments de la manière suivante :

Mais commençons d'abord par le modèle de données...

Le modèle de données

Après avoir recueilli le besoin auprès de ses utilisateurs, on commence par construire le modèle de données.

Un modèle de données représente schématiquement l'ensemble des données que l'application va manipuler, en précisant un minimum d'informations technique pour que n'importe quel développeur puisse le mettre en œuvre (que ce soit dans SharePoint, SQL Server, ou tout autre outil SGBDR). Il montre aussi les relations qui peuvent exister entre les différentes entités de données.

Je représente toujours mes modèles de données de la manière suivante :

 

Chaque bloc représente une liste SharePoint :

 

Chaque champ est décrit de la manière suivante :

 

Vous trouverez en pièce jointe le PPT de ce modèle de données pour que vous puissiez vous en servir dans vos projets.

Création des colonnes

Créer une colonne directement dans une liste n'est pas une bonne pratique car alors elle ne peut être réutilisée dans une autre liste. La bonne pratique consiste à créer une colonne de site qui, elle, sera réutilisable sur l'ensemble de la collection de site. Modifier une colonne de site impactera donc et mettra à jour toutes les colonnes identiques utilisées partout ailleurs sur la collection de site.

Essayez de créer des colonnes réutilisables. Par exemple, une colonne "Description" pourra servir pour un champ Description, ou Synthèse ou encore Explications.

Créer une colonne de site s'effectue toujours en 2 étapes :

  1. Créer la colonne avec son nom technique (nom interne)
  2. Renommer la colonne pour lui donner son libellé d'affichage

Créer la colonne avec son nom technique

Nom de la colonne

Quelques règles à respecter pour nommer votre colonne :

  • Préfixez-là avec "sc" (en minuscule) pour Site Column
  • Ensuite, donnez-lui un nom parlant au format "Pascal case" (chaque mot débute avec une majuscule)
  • Limitez quand même sa longueur à 32 car. max
  • AUCUN caractère spéciaux : uniquement des lettres (éventuellement chiffres), pas de caractères accentués, ni tirets, ni espace, ni underscore (caractère "souligné"), ...

Voici quelques exemples tirés du modèle de données précédent :

  • scDescription (potentiellement réutilisable)
  • scTypeFourniture
  • scQuantite (potentiellement réutilisable)
  • scStatutCommande
  • scNomService

Création de la colonne

1. Rendez-vous dans les paramètres de votre site (Contenu du site > Paramètres du site ou Icône engrenage > Informations sur le site > Afficher tous les paramètres du site)

2. Cliquez sur Colonnes de site

3. Cliquez sur Créer

4. Entrez le nom technique (nom interne) de votre colonne en suivant les recommandations de nommage précisées précédemment :

5. Sélectionnez le type de colonne que vous voulez créer et renseignez ses caractéristiques

6. Cliquez sur OK

Regrouper les colonnes

Pensez à regrouper vos colonnes dans un groupe de colonnes. Lorsque vous créez votre toute première colonne, renseignez un nom de groupe :

Une fois que votre première colonne sera créée, le groupe sera alors accessible directement depuis la liste déroulante Groupe existant pour les colonnes suivantes :

 

Colonnes obligatoires

Concernant les champs obligatoires, je recommande de procéder ainsi :

  • si un champ obligatoire est voué à être utilisé dans une liste gérée côté SharePoint (c'est-à-dire que le formulaire SharePoint natif de la liste va être utilisé pour saisir des données), alors rendez-le obligatoire lors de sa création
  • si un champ obligatoire est voué à être utilisé dans une liste uniquement côté Power Apps, alors laissez-le en facultatif lors de sa création et gérez son côté obligatoire dans l'application elle-même

Editer la colonne pour lui donner son libellé d'affichage

Juste après avoir créé une colonne avec son nom interne, éditez la colonne (cliquez dessus) pour lui saisir son nom d'affichage (son nom interne ne changera plus) :

 

Construire le type de contenu

L'étape suivante consiste à créer le type de contenu de votre liste. Celui-ci est un peu comme un conteneur représentant "l'objet" de votre base de données et vous y mettrez ensuite les colonnes qui décrivent cet objet.

Par exemple, nous allons créer un type de contenu Fourniture pour la liste Fournitures. Remarquez le singulier sur le type de contenu et le pluriel sur la liste. Le type de contenu décrit UNE fourniture. La liste porte TOUTES les fournitures.

Créer le type de contenu

1. Rendez-vous dans les paramètres de votre site

2. Cliquez sur Types de contenu de site

3. Cliquez sur  Créer

4. Renseignez un nom pour le type de contenu (ici, saisie libre, caractères spéciaux autorisés), une description si vous le souhaitez, choisissez Types de contenu de liste pour le groupes de types de contenu parents, puis Elément pour le type de contenu parent et, si c'est votre premier type de contenu, créez un nouveau groupe pour tous les types de contenus de votre application :

Ajouter les colonnes

Il vous faut maintenant ajouter les colonnes qui décrivent votre objet :

1. Cliquez sur Ajouter à partir de colonnes de sites existantes :

2. Transférez les colonnes souhaitées vers la droite (sélectionnez votre groupe de colonnes dans la liste déroulante pour ne voir que vos colonnes à vous) :

3. Cliquez sur OK

Paramétrage du type de contenu

Quelques petites réglages peuvent encore être effectués à ce stade sur le type de contenu :

  • colonnes obligatoires, facultatives ou masquées : en cliquant sur une colonne vous pourrez décider si celle-ci est obligatoire, facultative ou non-utilisée (masquée) -> supplante les caractéristiques de la colonne de site (si la colonne de site est obligatoire mais qu'elle est facultative dans le type de contenu alors elle sera facultative)
  • ordre des colonnes : en cliquant sur le lien Ordre des colonnes vous pourrez décider de l'ordre dans lequel les colonnes seront affichées dans le formulaire SharePoint natif associé à la liste qui sera créée ultérieurement

Création de la liste

A ce stade vous pouvez désormais créer la liste.

Nom de la liste

Je recommande la nomenclature suivante pour le nom de la liste dans l'url :

 Pas de caractères spéciaux, ni espace (tirets, underscore, chiffres autorisés).

Créer la liste

1. Rendez-vous sur le contenu de votre site :

2. Créez une nouvelle liste :

3. Créez une liste vierge :

4. Entrez le nom de votre liste tel qu'il apparaîtra dans l'url, une description puis cliquez sur Créer :

Rattachement du type de contenu

Pour l'instant, la liste créée est une liste des plus basique : elle n'a qu'une seule colonne Titre.

Il faut lui rattacher le type de contenu Fourniture créé précédemment pour qu'elle devienne une liste qui pourra alors porter des fournitures avec leurs caractéristiques.

1. Rendez-vous dans les paramètres de la liste :

2. Commencez par définir le libellé d'affichage de votre liste :

Puis :

IMPORTANT - A ce stade, si vous n'utilisez pas la colonne Titre, cliquez dessus et rendez-la facultative pour qu'elle ne vous embête pas lors de l'enregistrement des données (à faire ici directement sur la liste même si vous l'avez fait sur le type de contenu précédemment).

3. Ensuite, activez la gestion des types de contenus sur votre liste et profitez-en pour désactiver les pièces jointes sur votre liste si vous n'en avez pas besoin :

Puis :

4. Cliquez sur OK tout en bas de la page

5. Désormais un nouveau bloc Types de contenu est apparu sur la page des paramètres de votre liste :

6. Ajouter le type de contenu souhaité à votre liste :

Puis :

 

Toutes les colonnes du type de contenu sont alors ajoutées aux colonnes de la liste :

Paramétrage de la liste

Désactivation du type de contenu Elément

A ce stade, votre liste a 2 types de contenus : Elément et Fourniture. Le seul qui nous intéresse étant Fourniture, désactivez le type de contenu Elément :

Puis :

Etant donné qu'il ne reste plus qu'un type de contenu actif sur votre liste, inutile de garder la gestion des types de contenus active sur votre liste :

Puis :

Puis cliquez sur OK tout en bas de la page.

Paramétrage de la vue par défaut

Affichez votre liste et choisissez les colonnes que vous souhaitez voir affichées dans la vue par défaut de votre liste (recommandation : mettez-y la colonne ID et toutes les colonnes de votre type de contenu + les colonnes d'auteurs et de date de création et de dernière modification ; ensuite, si vous avez besoin d'autres vues, créez-en d'autres) :

Puis :

 

Votre liste est prête à l'emploi dans votre application Power Apps !!!

Si vous avez des questions ou que vous voulez des précisions, n'hésitez pas à le faire en commentaire de cet article.

PS : Good to know !

Le provisioning by SharePoint

En réalité, lorsque l'on ajoute un type de contenu de site T1 à une liste, SharePoint crée un type de contenu de liste T1' (propre à la liste) qui hérite de T1, puis crée dans la liste une réplique de chacune des colonnes de T1 (A', B', C', D') :

IMPORTANT - Par voie de conséquence :

  • modifier la colonne A' ne la modifiera QUE dans la liste
  • modifier le type de contenu T1 se répercutera sur le type de contenu T1' si vous validez votre modification en conservant cette option :
  • modifier la colonne de site A impactera toutes les colonnes A' situées à l'intérieur des listes du site si vous validez votre modification en conservant cette option :
  • modifier la colonne A de T1' impactera la colonne A' de la liste que si elle n'a jamais été modifiée auparavant dans la liste
  • supprimer la colonne A' de la liste supprimera également la colonne A de T1' mais pas de T1
  • supprimer la colonne A de T1' ne supprimera pas la colonne A' de la liste
  • supprimer le type de contenu T1' ne supprimera pas les colonnes A', B', C', D' de la liste
  • supprimer le type de contenu T1 est impossible tant qu'il existe un type de contenu de liste T1' qui en hérite (si vous supprimer une liste qui avait T1' comme type de contenu, vous devrez également supprimer la liste de la corbeille SharePoint primaire ET secondaire avant de pouvoir supprimer le type de contenu T1)
  • supprimer la colonne A de T1 la supprimera également de T1' mais la colonne A' restera dans la liste
  • supprimer la colonne de site A est impossible tant qu'elle n'a pas été retirée de T1 ET de T1'

Supprimer une colonne de la liste

Au vu des explications ci-dessus, si vous n'avez plus besoin d'une colonne ni dans votre liste ni dans votre type de contenu de site :

  • supprimez la colonne de votre liste
  • supprimer la colonne de votre type de contenu de site

Ajouter une nouvelle colonne

Si vous vous rendez compte qu'il vous manque une colonne dans votre liste pour gérer vos données :

  • créer d'abord la colonne de site manquante
  • ajoutez-la ensuite au type de contenu de site

La colonne sera alors automatiquement ajoutée au type de contenu de liste et DANS votre liste également. Il ne vous restera alors plus qu'à l'ajouter à la vue par défaut de votre liste.