Support Power Platform - Apps - Automate - SharePoint - Copilot

Étendre SharePoint avec du code et de l'IA

Table des matières

Pourquoi ce module bonus

SharePoint Online couvre nativement 80 % des besoins métier sans une ligne de code. Mais il reste 20 % de cas où il faut étendre la plateforme : couleurs conditionnelles, calculs, scripts d'industrialisation, composants visuels personnalisés.

Historiquement, ces extensions étaient réservées aux développeurs. L'arrivée des agents IA générateurs de code (Claude, ChatGPT, Copilot) change la donne : un concepteur peut désormais décrire en langage naturel ce qu'il veut, et récupérer du code prêt à coller.

Ce module bonus présente six leviers d'extension classés par niveau de complexité, du plus accessible au plus avancé. Chacun est illustré par une démonstration concrète intégrée au fil rouge Solstice.

Le message central : l'IA ne fait pas du concepteur un développeur, elle lui permet de ne plus l'être pour des configurations simples.

Positionnement et public cible

Ce module est optionnel. Il s'adresse à trois publics distincts :

  • Tous les concepteurs pour les bonus 1, 2 et 3 (formatage visuel, formules, expressions).
  • Concepteurs avec sensibilité technique pour les bonus 4 et 5 (cartes adaptatives, scripts PowerShell).
  • Concepteurs en transition vers la conception technique pour le bonus 6 (WebParts SPFx).

Le module peut être animé :

  • Intégré en demi-journée bonus après les 2 jours du tronc commun (3 h environ pour les 6 séquences).
  • Réparti dans le tronc commun, en insérant chaque bonus au sein de la séquence parente correspondante.
  • À la carte, en sélectionnant 2 ou 3 séquences les plus pertinentes pour le public.

Format proposé

Pour chaque séquence bonus, le format suivant est appliqué :

  • Objectif pédagogique : la compétence visée.
  • Public cible : qui est concerné.
  • Durée estimée : démo + exercice ou démo seule.
  • Prérequis : ce qu'il faut savoir avant.
  • Cas d'usage Solstice : comment l'intégrer au fil rouge.
  • Étapes du formateur : la démonstration pas à pas.
  • Prompts IA modèles : prêts à coller dans Claude / ChatGPT / Copilot.
  • Code attendu : ce que l'IA doit produire (avec un fichier d'exemple livré).
  • Application dans SharePoint : où coller, comment activer.
  • Points de vigilance : les erreurs courantes.
  • Pour aller plus loin : ressources Microsoft Learn.

Vue d'ensemble des 6 séquences

Table 40

SujetNiveauPublic
1Formatage JSON de colonnes et de vuesAccessibleTous
2Formules de colonnes calculéesAccessibleTous
3Expressions Power AutomateIntermédiaireTous (lié au TP 8)
4Adaptive Cards JSON pour TeamsIntermédiaireSensibilité technique
5Scripts PnP PowerShell de provisioningAvancéAdmins, consultants
6WebParts SPFx via IAAvancéTransition vers dev

Bonus 1 — Formatage JSON de colonnes et de vues

Objectif pédagogique

Apprendre à personnaliser visuellement l'affichage d'une colonne SharePoint avec du JSON généré par IA, sans écrire une ligne de code soi-même.

Public cible

Tous les concepteurs. Aucun prérequis technique.

Durée estimée

30 minutes : 10 minutes de démo + 20 minutes d'exercice par les participants.

Prérequis

  • Avoir une liste ou bibliothèque SharePoint avec au moins une colonne de type Choix.
  • Avoir un accès à un agent IA (Claude, ChatGPT, Copilot).

Cas d'usage Solstice

La colonne Statut de la liste Plan d'action Solstice créée au TP 2 affiche du texte brut. Vous allez la transformer en pastilles colorées : rouge pour À faire, orange pour En cours, vert pour Terminé, gris pour Bloqué.

Étapes du formateur

  1. Présenter le contexte : "Notre colonne Statut est fonctionnelle mais visuellement plate. Nous voulons des pastilles colorées comme dans un outil professionnel."
  2. Ouvrir un agent IA dans une fenêtre projetée.
  3. Coller le prompt préparé (voir ci-dessous).
  4. Récupérer le JSON retourné par l'agent.
  5. Aller sur SharePoint dans la liste Plan d'action Solstice.
  6. Cliquer sur l'en-tête de la colonne Statut > Paramètres de la colonne > Formater cette colonne.
  7. Cliquer sur Mode avancé en bas du volet.
  8. Coller le JSON dans la zone de texte.
  9. Cliquer Aperçu, puis Enregistrer.
  10. Constater l'effet immédiat : les valeurs s'affichent en pastilles colorées.

Prompt IA modèle

Génère un JSON de formatage de colonne SharePoint Online conforme à la spécification de formatting Microsoft, pour une colonne Choix nommée Statut avec ces valeurs :
  • À faire (fond rouge #EF4444)
  • En cours (fond orange #F59E0B)
  • Terminé (fond vert #16A34A)
  • Bloqué (fond gris #6B7280)
Format pastille arrondie avec texte blanc, police 600, padding 4px 12px, border-radius 12px. Réponds uniquement avec le JSON, sans explication.

Code attendu

Voir le fichier bonus-code-examples/01-formatage-statut-pastilles.json.

Application dans SharePoint

Le chemin exact pour coller le JSON :

  • Dans la liste, cliquer sur l'en-tête de la colonne Statut.
  • Menu déroulant > Paramètres de la colonne > Formater cette colonne.
  • Bas du volet : Mode avancé.
  • Coller le JSON dans la zone, cliquer Aperçu, puis Enregistrer.

Variante avancée

Demander à l'IA un deuxième JSON pour la colonne Échéance qui affiche :

  • Une icône d'avertissement rouge si la date est dépassée.
  • Une icône d'horloge orange si l'échéance est dans les 7 jours.
  • Une icône de validation verte sinon.

Voir le fichier bonus-code-examples/01b-formatage-echeance-icones.json.

Points de vigilance

  • Toujours cliquer Aperçu avant Enregistrer : un JSON mal formé bloque l'affichage de la colonne.
  • Vérifier les noms exacts des valeurs Choix : la moindre faute d'accent ou de casse fait échouer la comparaison.
  • Ne pas coller le JSON sans le relire : l'IA peut inventer des propriétés qui n'existent pas dans le schéma SharePoint.
  • Toujours tester d'abord sur un environnement de bac à sable avant la production.

Pour aller plus loin

Bonus 2 — Formules de colonnes calculées

Objectif pédagogique

Apprendre à créer une colonne calculée dont la valeur est dérivée automatiquement d'autres colonnes, avec une formule générée par IA.

Public cible

Tous les concepteurs. Familiarité Excel utile mais pas obligatoire.

Durée estimée

25 minutes : 5 minutes de démo + 20 minutes d'exercice.

Prérequis

  • Une liste avec au moins deux colonnes typées (date, choix, nombre, texte).

Cas d'usage Solstice

Sur la liste Plan d'action Solstice, ajouter une colonne Jours restants qui calcule automatiquement le nombre de jours entre aujourd'hui et la date d'échéance. Valeur positive si futur, négative si dépassé.

Étapes du formateur

  1. Présenter le besoin : "Nous voulons voir d'un coup d'œil combien de jours il reste avant chaque échéance, sans calculer mentalement."
  2. Ouvrir l'agent IA.
  3. Coller le prompt (voir ci-dessous).
  4. Récupérer la formule.
  5. Aller sur SharePoint > Paramètres de la liste > Créer une colonne.
  6. Type : Calculé (calcul basé sur d'autres colonnes).
  7. Nom : Jours restants.
  8. Coller la formule dans le champ Formule.
  9. Type de retour : Nombre.
  10. Valider, vérifier le calcul sur les éléments existants.

Prompt IA modèle

Donne-moi une formule de colonne calculée SharePoint qui retourne le nombre de jours entre aujourd'hui et la valeur de la colonne nommée Échéance. Réponds uniquement avec la formule sans explication.

Résultat attendu : =DATEDIF(TODAY(),[Échéance],"d")

Code attendu

Voir le fichier bonus-code-examples/02-formules-colonnes-calculees.md qui contient un catalogue de cinq formules courantes (jours restants, statut d'échéance lisible, référence produit formatée, mention de priorité visuelle, retard en mois).

Variantes intéressantes

  • Statut d'échéance lisible : "En retard", "Urgent", "À venir" selon la position relative.
  • Référence produit formatée : concaténation de plusieurs colonnes en un identifiant unique.
  • Indicateur de priorité avec icônes Unicode : flèches vers le haut, droite ou bas.

Points de vigilance

  • TODAY() ne se met à jour qu'à la modification de l'élément, pas en temps réel. Pour un compte à rebours réel, utiliser un formatage JSON (bonus 1) ou un flux Power Automate.
  • Les colonnes calculées ne peuvent pas référencer une autre liste : pas de lookup. Si vous avez besoin de croiser des listes, passer par Power Automate.
  • Le résultat d'une colonne calculée n'est pas filtrable côté serveur dans tous les cas. Tester vos vues.

Pour aller plus loin

Bonus 3 — Expressions Power Automate

Objectif pédagogique

Maîtriser le workflow definition language (WDL) pour construire des flux Power Automate complexes, avec des expressions générées par IA.

Public cible

Concepteurs ayant suivi la séquence 8 du tronc commun.

Durée estimée

30 minutes : 10 minutes de démo + 20 minutes d'exercice.

Prérequis

  • Avoir construit le flux d'approbation du TP 8.
  • Comprendre la notion de contenu dynamique dans Power Automate.

Cas d'usage Solstice

Dans le flux d'approbation des visuels marketing construit au TP 8, vous voulez :

  • Inclure la date d'échéance dans le sujet du mail, formatée en français lisible.
  • Calculer une date butoir à J+7 pour la réponse de l'approbateur.
  • Construire une URL absolue vers le fichier dans le message Teams de notification.

Étapes du formateur

  1. Rouvrir le flux MKT_VisuelSolstice_Approuver créé au TP 8.
  2. Identifier le point de blocage : "On veut afficher la date au format français, pas au format ISO."
  3. Ouvrir un agent IA et coller le prompt.
  4. Récupérer l'expression.
  5. Dans Power Automate, modifier le titre de l'approbation : cliquer dans le champ, ouvrir le sélecteur de contenu dynamique > onglet Expression > coller l'expression.
  6. Tester le flux : voir le résultat formaté correctement.

Prompt IA modèle

Donne-moi une expression Power Automate qui retourne la date actuelle au format français "23 mai 2026". Pas d'explication.

Résultat : formatDateTime(utcNow(), 'dd MMMM yyyy', 'fr-fr')

Code attendu

Voir le fichier bonus-code-examples/03-expressions-power-automate.md qui contient 8 expressions utiles (date formatée, calcul de jours, formatage de chaînes, détection de valeurs nulles, etc.).

Points de vigilance

  • Toujours tester en mode test avant d'activer le flux : une expression mal formée échoue silencieusement.
  • Encapsuler les chaînes d'entrée dans coalesce() pour éviter les erreurs sur valeur nulle.
  • Ajouter une étape Composer pour visualiser le résultat d'une expression avant de l'utiliser dans une action critique.
  • Documenter les expressions complexes dans un commentaire de l'étape.

Pour aller plus loin

Bonus 4 — Adaptive Cards JSON pour Teams

Objectif pédagogique

Apprendre à concevoir et déployer une carte adaptative riche pour Teams, générée par IA, pour transformer une notification basique en interface visuelle interactive.

Public cible

Concepteurs avec sensibilité technique, qui veulent dépasser les notifications texte brut.

Durée estimée

35 minutes : 10 min de démo + 25 min d'exercice et de tests.

Prérequis

  • Avoir construit le flux d'approbation du TP 8.
  • Comprendre la structure JSON.

Cas d'usage Solstice

Dans la branche Si non (rejet) du flux d'approbation, remplacer le simple message Teams par une carte adaptative structurée qui montre :

  • Le nom du fichier rejeté.
  • L'auteur du fichier.
  • L'approbateur et la date du rejet.
  • Le motif du rejet en encart.
  • Deux boutons d'action : Ouvrir le fichier, Voir la bibliothèque.

Étapes du formateur

  1. Présenter avant/après : montrer la simple notification texte du TP 8, puis annoncer la version améliorée.
  2. Ouvrir l'agent IA.
  3. Coller le prompt préparé (voir ci-dessous).
  4. Récupérer le JSON de la carte adaptative.
  5. Valider la carte dans l'outil Microsoft Adaptive Cards Designer : https://adaptivecards.io/designer/
  6. Dans Power Automate, remplacer l'action Teams existante par : Teams - Publier une carte adaptative dans une discussion ou un canal.
  7. Coller le JSON dans le champ Message de la carte adaptative.
  8. Tester le flux en provoquant un rejet pour voir la carte arriver dans Teams.

Prompt IA modèle

Génère une carte adaptative au format Adaptive Cards 1.5 conforme au schéma adaptivecards.io pour Microsoft Teams. La carte notifie l'auteur d'un visuel marketing du rejet de son fichier.
Contenu attendu :
  • En-tête conteneur de style warning avec titre "Visuel rejeté" en attention.
  • Message personnalisé à l'auteur.
  • FactSet listant : nom du fichier, gamme, approbateur, date.
  • Container emphasis avec le motif du rejet.
  • Deux actions : "Ouvrir le fichier" (style positive) et "Voir la bibliothèque".
Utilise les variables dynamiques de Power Automate au format @{triggerOutputs()?['body/Author/DisplayName']} pour le nom et @{outputs('Démarrer_et_attendre_une_approbation')?['body/responses'][0]['comments']} pour les commentaires.
Réponds uniquement avec le JSON valide.

Code attendu

Voir le fichier bonus-code-examples/04-adaptive-card-rejet-visuel.json.

Points de vigilance

  • Toujours valider la carte dans l'Adaptive Cards Designer avant de la coller dans Power Automate. Le designer signale les erreurs de schéma.
  • Vérifier la version Adaptive Cards supportée par Teams : actuellement 1.5 pour Teams Desktop, 1.4 pour mobile.
  • Les variables dynamiques utilisent une syntaxe spécifique à Power Automate : @{...}. Sans les accolades et l'arobase, elles ne sont pas évaluées.
  • Tester sur plusieurs clients Teams (Desktop, Web, Mobile) car le rendu peut différer.

Pour aller plus loin

Bonus 5 — Scripts PnP PowerShell de provisioning

Objectif pédagogique

Apprendre à industrialiser la création d'un site SharePoint complet (site + listes + colonnes + types de contenu + permissions) en une seule commande, avec un script généré par IA.

Public cible

Concepteurs avec accès administrateur, consultants en mission de cadrage.

Durée estimée

45 minutes : 15 min de mise en place + 15 min de démo + 15 min d'exercice.

Prérequis

  • PowerShell 7 installé sur le poste du formateur.
  • Module PnP.PowerShell installé : Install-Module -Name PnP.PowerShell -Force.
  • Compte avec droits administrateur SharePoint sur le tenant.
  • Application Entra ID enregistrée pour PnP (procédure documentée).

Cas d'usage Solstice

Le projet Solstice a démarré avec un site. Mais Atelier Lumière prépare déjà la gamme Solstice Q4 2026 dans 3 mois, qui aura exactement la même structure. Plutôt que de tout recréer manuellement (35 minutes), vous allez générer un script qui le fait en 30 secondes.

Étapes du formateur

  1. Présenter le problème : "Combien de temps avez-vous mis au TP 2 pour créer bibliothèques + colonnes + listes ? Imaginez le faire 5 fois par an pour 5 nouveaux projets."
  2. Ouvrir l'agent IA.
  3. Coller le prompt (voir ci-dessous).
  4. Récupérer le script PowerShell.
  5. Coller dans VS Code, sauvegarder en .ps1.
  6. Adapter les paramètres (URL du tenant, nom du nouveau site).
  7. Ouvrir PowerShell, exécuter Connect-PnPOnline -Url <admin-url> -Interactive.
  8. Exécuter le script : ./provisioning-solstice.ps1.
  9. Vérifier dans SharePoint : le nouveau site est créé avec toutes ses bibliothèques, colonnes et listes.

Prompt IA modèle

Génère un script PowerShell complet utilisant le module PnP.PowerShell pour provisionner un site SharePoint d'équipe nommé "Projet Solstice Q4 2026".
Le script doit :
  • Créer un site d'équipe avec groupe Microsoft 365 privé.
  • Créer deux bibliothèques : "Spécifications produits" et "Visuels marketing".
  • Ajouter à chaque bibliothèque les colonnes : Gamme (Choix : Solstice Inox, Solstice Bronze, Solstice Lumen) et Statut (Choix).
  • Activer le versioning et l'approbation intégrée sur "Visuels marketing".
  • Créer un sous-dossier "Approuvés" dans "Visuels marketing".
  • Créer une liste "Plan d'action Solstice" avec colonnes Échéance (Date), Statut (Choix), Responsable (Personne), Priorité (Choix).
  • Ajouter trois éléments d'exemple dans la liste.
Inclure des commentaires en français, gérer les paramètres en variables en haut du script, afficher des messages de progression en couleur cyan.

Code attendu

Voir le fichier bonus-code-examples/05-script-pnp-provisioning-solstice.ps1.

Points de vigilance

  • PnP.PowerShell évolue rapidement : vérifier la version installée et l'adapter aux dernières commandes.
  • Toujours tester sur un tenant de bac à sable avant d'exécuter sur la production.
  • Les droits d'administrateur sont nécessaires : prévoir les autorisations en amont.
  • La connexion interactive ouvre une fenêtre de navigateur : peut ne pas fonctionner en environnement headless.
  • Documenter la version du module PnP.PowerShell utilisée dans l'en-tête du script.

Pour aller plus loin

Bonus 6 — WebParts SPFx via IA

Objectif pédagogique

Démontrer qu'il est possible, avec l'aide d'une IA, de générer un WebPart SharePoint Framework simple sans être développeur expérimenté.

Public cible

Profils techniques motivés, concepteurs en transition vers la conception technique, ou chefs de projet qui veulent comprendre la mécanique avant de la confier à un développeur.

Durée estimée

60 minutes en démo formateur, 90 minutes en exercice complet par les participants.

Prérequis indispensables

  • Node.js LTS (version 18.x ou 20.x).
  • Yeoman et générateur SPFx installés globalement.
  • Gulp CLI.
  • Catalogue d'applications activé sur le tenant.
  • Compte avec droits administrateur de catalogue d'apps.

Cas d'usage Solstice

Sur le site Projet Solstice 2026, ajouter un WebPart Compte à rebours qui affiche en temps réel le temps restant jusqu'au lancement officiel du 1er septembre 2026 à 9 h.

Étapes du formateur

  1. Présenter l'objectif : "Nous voulons un compte à rebours visible sur la page d'accueil. Ce n'est pas un WebPart natif. Sans IA, il faut un développeur. Avec IA, on peut s'en sortir nous-mêmes."
  2. Lancer Yeoman dans un terminal pour générer le squelette (5 min).
  3. Ouvrir l'agent IA, coller le prompt principal pour le code TypeScript / React.
  4. Récupérer le code, le coller dans src/webparts/compteARebours/components/CompteARebours.tsx.
  5. Lancer gulp serve pour tester localement dans le workbench SPFx.
  6. Une fois validé, lancer gulp bundle --ship puis gulp package-solution --ship.
  7. Déployer le .sppkg dans le catalogue d'apps du tenant.
  8. Ajouter le WebPart sur une page moderne du site Solstice.

Prompt IA principal

Voir le fichier bonus-code-examples/06-spfx-webpart-prompts.md qui contient le prompt principal et trois prompts secondaires (paramètre configurable, design system, fuseaux horaires).

Points de vigilance

  • Le code généré par l'IA n'est pas à coller aveuglément : toujours relire types, imports, syntaxe spécifique.
  • Vérifier la version SPFx cible : préciser dans le prompt (par exemple SPFx 1.19).
  • Tester en local avec gulp serve avant de packager.
  • Avoir un tenant de bac à sable dédié pour les démos SPFx.
  • Les WebParts SPFx vieillissent vite : documenter la version de chaque dépendance.

Limites de l'approche IA pour SPFx

L'IA est excellente pour le squelette, le CSS, les composants React simples. Elle est faillible pour les particularités SharePoint (PnP, MGT, Graph), les permissions, l'optimisation. Pour ces cas, l'IA accélère mais ne remplace pas l'expertise développeur.

Pour aller plus loin

Posture pédagogique transverse

Le message commun à délivrer aux participants pour les six bonus :

  • L'IA n'est pas magique : elle se trompe, invente parfois des syntaxes, mélange des versions. Toujours valider.
  • L'IA n'est pas un développeur : pour des cas complexes (sécurité, performance, intégrations métier critiques), elle reste un point de départ, pas un point d'arrivée.
  • L'IA est un excellent traducteur entre votre intention métier et la syntaxe technique cible.
  • Conserver le couple prompt + résultat dans un référentiel : c'est votre capital. La même intention exprimée différemment peut donner un meilleur code.
  • Toujours tester sur un environnement non productif avant de déployer.
  • Ne jamais coller de données sensibles dans un prompt envoyé à un agent IA externe (sauf agent privé entreprise comme Copilot for Microsoft 365).

Points de vigilance communs

À rappeler systématiquement avant chaque bonus :

  • Confidentialité : ce que vous envoyez à un agent IA peut être logué. Ne jamais coller de comptes, de mots de passe, de données personnelles.
  • Versioning du code généré : conserver dans OneDrive, un dépôt Git, ou tout référentiel central.
  • Documentation : noter à côté de chaque code généré ce qu'il fait, le prompt source, la date.
  • Validation collégiale : pour les codes destinés à la production, faire valider par un référent technique.
  • Conformité : vérifier que l'usage d'un agent IA externe est conforme à la politique de votre organisation.

Fichiers d'exemples livrés

Le dossier bonus-code-examples/ contient les fichiers prêts à l'emploi :

Table 41

FichierBonusDescription
01-formatage-statut-pastilles.jsonBonus 1Pastilles colorées pour colonne Statut
01b-formatage-echeance-icones.jsonBonus 1Icônes conditionnelles pour colonne Date
02-formules-colonnes-calculees.mdBonus 2Catalogue de 5 formules courantes
03-expressions-power-automate.mdBonus 3Catalogue de 8 expressions utiles
04-adaptive-card-rejet-visuel.jsonBonus 4Carte adaptative pour notification Teams
05-script-pnp-provisioning-solstice.ps1Bonus 5Script PowerShell de provisioning
06-spfx-webpart-prompts.mdBonus 6Guide des prompts pour générer un WebPart SPFx

Chaque fichier est commenté et peut être adapté aux spécificités d'un autre projet (changer les noms de listes, les couleurs, les valeurs).

Conclusion

Ce module bonus illustre une compétence d'usage moderne : interagir avec un agent IA pour produire du code SharePoint sans être développeur.

Il complète idéalement la formation SharePoint Online concepteur en ouvrant les participants sur ce qu'ils peuvent faire dès demain sans changer de métier.

Pour le formateur, ce module est aussi un excellent levier de différenciation : peu de formations SharePoint l'intègrent en 2026, alors que c'est précisément la compétence que tous les concepteurs vont devoir maîtriser dans les mois qui viennent.

Source des informations techniques : Microsoft Learn (https://learn.microsoft.com), PnP Community (https://pnp.github.io), Adaptive Cards (https://adaptivecards.io).