Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le plug-in Power Pages pour GitHub Copilot CLI et Claude Code fournit un flux de travail assisté par l’IA pour la création, le déploiement et la gestion de sites d’application monopage modernes sur Power Pages. Au lieu de configurer manuellement des structures de projets, d’écrire du code API standard et de configurer des autorisations, décrivez ce que vous souhaitez en langage naturel, et le plugin gère l’implémentation.
Le plug-in prend en charge le cycle de vie de développement de site complet par le biais de compétences conversationnelles, de la génération d’un nouveau site à son déploiement, de la configuration des modèles de données Dataverse et de la configuration de l’authentification.
Important
- Un agent de codage d'IA générative, tel que GitHub Copilot CLI ou Claude Code, utilise les compétences et les flux de travail de ce plug-in pour effectuer des tâches spécifiques à Power Pages.
- Le code et la configuration générés par l’agent de codage IA peuvent être incorrects. Passez en revue, testez et validez tout le contenu généré avant d’approuver ou de le déployer. Passez toujours en revue les propositions de l’agent avant de les approuver.
Prerequisites
Avant de commencer, vérifiez que vous disposez des logiciels et des autorisations nécessaires.
Configuration logicielle requise
| Composant | Version minimale | Plus d’informations |
|---|---|---|
| Node.js | 18.0 ou version ultérieure | Télécharger Node.js |
| CLI Power Platform (CLI PAC) | 2.6.3 ou version ultérieure (obligatoire pour la logique du serveur) | Installer l’interface CLI PAC |
| Azure CLI | Latest | Install Azure CLI |
| GitHub Copilot CLI ou Claude Code | Latest | GitHub Copilot CLI ou Claude Code |
| Extension de Visual Studio Code et des outils Power Platform (facultatif) | Latest | Télécharger VS Code et installer Power Platform Tools |
Vous avez également besoin des éléments suivants :
- Un environnement Power Platform avec Power Pages activé.
- Une session PAC CLI authentifiée connectée à votre environnement cible. Exécutez
pac auth createsi vous n’avez pas encore connecté. - Une session Azure CLI connectée au même locataire. Exécutez
az login --allow-no-subscriptionspour l’authentification.
Vérifier l’authentification :
Vérifiez que vous êtes authentifié à l’aide de la pac auth list commande.
pac auth list # Should show authenticated profile
Si vous n’êtes pas authentifié, exécutez cette commande :
pac auth create --environment <Instance url> # Authenticate to Power Platform
Conseil / Astuce
Pour obtenir l’URL de l’instance, accédez à la page d’accueil de Power Pages, sélectionnez l’icône Paramètres dans le coin supérieur droit, puis sélectionnez Détails de session.
Installer le plug-in
Installez le plug-in Power Pages à partir de la Place de marché. Si vous utilisez GitHub Copilot CLI, consultez la documentation des extensions Copilot CLI pour connaître les étapes d’installation équivalentes. Les commandes suivantes utilisent la syntaxe Claude Code.
Installation rapide (recommandé)
Exécutez le programme d’installation pour configurer tous les plug-ins avec la mise à jour automatique activée :
Windows (PowerShell) :
iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js
macOS/Linux/Windows (cmd) :
curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node
Le programme d’installation s'exécute automatiquement :
- Installe l’interface
pacCLI si elle n’est pas déjà installée. - Détecte les outils disponibles, tels que Claude Code et GitHub Copilot CLI.
- Inscrit la Place de marché des plug-ins et installe tous les plug-ins répertoriés.
- Active la mise à jour automatique afin que les plug-ins restent à jour.
Après l'installation, redémarrez Claude Code ou GitHub Copilot CLI pour accéder aux compétences du plug-in en tant que commandes slash dans votre session d'agent.
Installer depuis le Marketplace
Ouvrez Claude Code dans votre terminal.
Ajoutez la place de marché Microsoft :
/plugin marketplace add microsoft/power-platform-skillsInstallez le plug-in Power Pages :
/plugin install power-pages@power-platform-skills
Après avoir installé le plug-in, redémarrez Claude Code ou GitHub Copilot CLI pour accéder aux compétences du plug-in sous forme de commandes slash dans votre session d'agent.
Conseil / Astuce
Pour recevoir automatiquement les mises à jour apportées à la Place de marché et aux compétences, activez la mise à jour automatique. Utilisez la /plugin commande, accédez aux Marketplaces, choisissez la Place de marché et activez la mise à jour automatique.
Vue d’ensemble des compétences
Le plug-in fournit des compétences qui couvrent le cycle de vie complet d’un site Power Pages. Appelez chaque compétence de façon conversationnelle, soit sous forme de commande slash, soit en décrivant ce que vous voulez faire.
| Qualification | Commande | Qu’est-ce que cela fait ? |
|---|---|---|
| Créer un site | /create-site |
Structure un site, applique votre direction de conception et génère des pages et des composants |
| Déployer un site | /deploy-site |
Génère le projet et le charge sur Power Pages à l’aide de l’interface CLI PAC |
| Activer le site | /activate-site |
Configure un enregistrement de site web et assigne une URL publique |
| Configurer le modèle de données | /setup-datamodel |
Crée des tables, des colonnes et des relations Dataverse |
| Ajouter des exemples de données (facultatif) | /add-sample-data |
Remplir des tables Dataverse avec des enregistrements de test réalistes |
| Intégrer l’API web | /integrate-webapi |
Génère le code client typé pour l’API, les services et les autorisations des tables. |
| Ajouter des résumés générés par IA | /add-ai-webapi |
Intègre les API de synthèse de l’IA génératives (résumé de la recherche et synthèse des données) dans vos pages. Génère un service de synthèse typé avec gestion des jetons anti-falsification, wrappers spécifiques au framework, sites d’appels câblés et paramètres de site Summarization correspondants |
| Configurer l’authentification | /setup-auth |
Ajoute la connexion, la déconnexion et le contrôle d’accès en fonction du rôle. Prend en charge Microsoft Entra ID, ID externe Microsoft Entra, OpenID Connect, SAML 2.0, WS-Federation, compte Microsoft, Facebook, Google et l’authentification par nom d’utilisateur et mot de passe local, y compris les configurations multi-fournisseurs |
| Créer des rôles web | /create-webroles |
Génère des fichiers YAML de rôles web pour la gestion des accès utilisateurs |
| Ajouter une logique de serveur | /add-server-logic |
Génère des points de terminaison JavaScript côté serveur sécurisés pour la validation, les appels d’API externes, la gestion des secrets et les opérations de données |
| Ajouter un flux de cloud | /add-cloud-flow |
Intègre des flux de Power Automate cloud existants dans votre site pour les flux de travail d’approbation, les notifications et l’automatisation planifiée |
| Intégrer le serveur principal | /integrate-backend |
Analyse votre prototype, détermine l’approche appropriée (API web, logique serveur ou flux cloud) pour chaque fonctionnalité et orchestre la séquence de build complète |
| Ajouter SEO | /add-seo |
Génère le robots.txt, le sitemap.xml et les balises meta |
| Exécuter la révision de sécurité | /security-review |
Orchestre les expertises de sécurité ciblées et consolide chaque résultat dans un rapport HTML unique. Couvre le code, les dépendances, l’analyse du site déployé, les en-têtes du navigateur, le pare-feu applicatif web, les autorisations sur les tables et la configuration de l’authentification |
| Analyser le code source | /scan-code |
Exécute l’analyse statique et l’analyse des dépendances sur les fichiers sources locaux ; expose les résultats dans les modèles de code, les packages vulnérables, les secrets codés en dur et les problèmes de licence |
| Analyser le site déployé | /scan-site |
Démarre une analyse de sécurité côté serveur sur le site en direct, extrait le dernier rapport et regroupe les résultats par gravité |
| Gérer les en-têtes de sécurité du navigateur | /manage-headers |
Inspecte et configure les en-têtes de sécurité HTTP qu’un site envoie aux navigateurs : stratégie de sécurité du contenu, protection par trame et détournement de clics, partage entre origines, comportement des cookies et paramètres de site associés |
| Gérer le pare-feu d’applications web | /manage-firewall |
Inspecte et configure le pare-feu d’applications web (WAF) sur un site de production : active la protection, ajoute ou supprime des blocs IP, des blocs de pays, des blocs de chemin et des limites de débit |
| Autorisations de table d’audit | /audit-permissions |
Audite les autorisations de table existantes par rapport au code de site et aux métadonnées Dataverse ; produit un rapport HTML regroupé par gravité avec des correctifs suggérés |
| Planifier un déploiement | /plan-alm |
Détecte l’état du projet, collecte votre stratégie de promotion, affiche un plan visuel et orchestre les autres compétences de gestion du cycle de vie des applications (ALM) dans l’ordre approprié |
| Créer une solution | /setup-solution |
Crée un éditeur et une solution, ajoute des composants Power Pages, classe les paramètres du site et propose des variables d’environnement et des secrets Azure Key Vault |
| Configurer l’hôte de pipeline | /ensure-pipelines-host |
Configure ou détecte un environnement hôte pour Power Platform Pipelines |
| Configurer le pipeline | /setup-pipeline |
Inscrit une définition de pipeline dans Dataverse et lie les étapes de promotion aux environnements cibles |
| Déployer via le pipeline | /deploy-pipeline |
Déclenche un déploiement du pipeline pour une étape cible avec des substitutions des variables d’environnement propres à chaque phase |
| Environnement de liaison forcée | /force-link-environment |
Réaffecte un environnement cible à un nouvel hôte Power Platform Pipelines lorsqu’un conflit entre hôtes bloque le déploiement |
| Exporter la solution | /export-solution |
Exporte la solution en tant que zip managé ou non managé, avec une vérification complète avant l’exportation |
| Importer la solution | /import-solution |
Importe un fichier .zip de solution dans un environnement cible, par étapes ou directement |
| Site de test | /test-site |
Vérifie un site déployé avec un test basé sur un navigateur : analyse de page, vérifications d’accès en fonction du rôle et vérification de l’API web |
| Diagnostiquer le déploiement | /diagnose-deployment |
Compare les échecs de déploiement à un catalogue d’erreurs connues et propose un correctif |
Flux de travail classique
Un flux de travail de bout en bout commun suit cette séquence :
- /create-site : échafauder, concevoir et construire des pages
- /deploy-site : charger dans votre environnement de Power Pages
- /activate-site : configurer une URL publique
- /setup-datamodel : Créer des tables Dataverse
- /add-sample-data : remplir des tables avec des enregistrements de test
- /integrate-webapi : générer du code client d’API et configurer des autorisations
- /create-webroles : définir des rôles d'accès
- /setup-auth : ajouter la connexion, la déconnexion et l’interface utilisateur basée sur les rôles
- /add-server-logic : ajouter des points de terminaison côté serveur sécurisés
- /add-cloud-flow : intégrer des flux de Power Automate existants
- /add-seo : Optimisation du moteur de recherche
- /deploy-site : Envoyer des modifications finales en direct
- /security-review : Exécuter une révision de sécurité de bout en bout avant d’aller en production
- /plan-alm : Déployez votre site vers les environnements de test et de production
Conseil / Astuce
- Vous n’avez pas besoin de suivre cet ordre exact. Chaque compétence vérifie ses propres prérequis et vous indique si quelque chose est manquant. Par exemple, vous pouvez exécuter
/setup-authavant/integrate-webapisi votre site a besoin d’authentification en premier. - Si vous ne savez pas quelle approche utiliser pour chaque fonctionnalité, exécutez
/integrate-backendau lieu des étapes 4 à 10 individuellement. Il analyse votre prototype, détermine si chaque fonctionnalité a besoin de l’API web, de la logique du serveur ou d’un flux cloud et orchestre les compétences dans l’ordre approprié. - Pour ajouter des résumés de recherche et d’enregistrement générés par l’IA, exécutez
/add-ai-webapiaprès/integrate-webapi. Il réutilise les autorisations des tables et les paramètres du site que/integrate-webapiconfigure, alors exécutez-le une fois que votre intégration de l’API web est en place.
Créer votre site Power Pages
Ce guide couvre le cycle de vie complet de la construction d’un site Power Pages avec le plug-in, de l’échafaudage jusqu'au déploiement. Chaque étape décrit ce que vous dites et ce que fait le plug-in en réponse.
Étape 1 : Créer votre site
Décrivez le site souhaité en langage naturel : ce qu’il s’agit, les pages dont il a besoin et les préférences de conception telles que le jeu de couleurs, le style de disposition ou les polices. Exécutez /create-site ou décrivez simplement votre site, et le plugin reconnaît l’intention.
Si vous ne spécifiez pas d’infrastructure, le plug-in vous demande de choisir un framework (React, Vue, Angular ou Astro), puis :
- Crée la structure du projet à partir d’un modèle et applique le nom, les couleurs et les tokens de design de votre site.
- Installe les dépendances, démarre un serveur de développement et ouvre une préversion du navigateur en direct.
- Génère chaque page, composant et itinéraire que vous avez demandés avec des images pertinentes.
- Crée des validations Git à des jalons significatifs afin que vous ayez l’historique de restauration intégré.
Étape 2 : Déployer votre site
Exécutez /deploy-site pour charger votre site sur Power Pages. Le plug-in :
- Vérifie que l’interface CLI PAC est installée et que votre session d’authentification est active.
- Confirme l’environnement cible avec vous avant de continuer.
- Exécute une build de production et charge la sortie compilée.
- Crée un répertoire d’artefacts de déploiement s’il n’en existe pas déjà un.
Note
Si votre environnement bloque certaines pièces jointes de fichiers, le plug-in détecte le problème et fournit des instructions pour le résoudre.
Étape 3 : Activer votre site
Exécutez /activate-site pour rendre le site accessible publiquement. Le plug-in :
- Suggère un sous-domaine basé sur le nom de votre site et vous permet de le personnaliser.
- Provisionne un enregistrement de site web via l’API Power Platform.
- Effectue des vérifications périodiques jusqu’à ce que le site soit en ligne et renvoie l’URL publique.
À ce stade, vous disposez d’un site de travail sur une URL publique. Les étapes restantes ajoutent des données, l’authentification et le SEO. Ignorez les étapes qui ne s’appliquent pas à votre site.
Étape 4 : Configurer votre modèle de données
Exécutez /setup-datamodel pour créer les tables Dataverse dont votre site a besoin. Si vous disposez déjà d’un diagramme ER ou d’un schéma spécifique, fournissez-le directement au lieu d’avoir l’agent à analyser votre code.
Le plug-in génère un agent Data Model Architect qui :
- Analyse le code de votre site pour déterminer les données requises par les pages et les composants.
- Interroge votre environnement Dataverse pour les tables existantes afin d’éviter les doublons.
- Propose un modèle de données avec des tables, des colonnes, des types de données et des relations, visualisées sous la forme d’un diagramme ER.
Vous examinez et approuvez la proposition. Le plug-in ne crée rien tant que vous ne l’avez pas confirmé. Après approbation, le plug-in crée les tables et les colonnes par le biais d’appels d’API et enregistre un fichier manifeste que les étapes 5 et 6 utilisent.
Étape 5 : Ajouter des exemples de données (facultatif)
Exécutez /add-sample-data pour remplir vos tables avec des enregistrements de test. Cette étape nécessite le modèle de données de l’étape 4.
Le plug-in effectue les actions suivantes :
- Lit le manifeste pour comprendre vos tables, colonnes et relations.
- Génère des valeurs contextuellement appropriées pour chaque type de colonne, telles que des e-mails réalistes, des dates plausibles et des montants monétaires mis en forme.
- Insère les enregistrements dans l’ordre des dépendances (tables parentes avant tables enfants) et actualise automatiquement les jetons d’authentification lors des insertions en bloc.
Étape 6 : Intégrer à l’API web Dataverse
Exécutez /integrate-webapi pour remplacer des données fictives par des requêtes Dataverse actives. Cette étape nécessite le modèle de données de l’étape 4.
Le plug-in effectue les actions suivantes :
- Analyse votre base de code pour les composants qui utilisent des données fictives, des appels d’extraction d’espaces réservés ou des tableaux codés en dur. Il mappe ces composants à vos tables Dataverse.
- Génère un agent d’intégration d’API web pour chaque table qui génère :
- Client d’API partagée avec gestion des jetons anti-falsification et logique de nouvelle tentative.
- Types d’entités TypeScript et mappeurs de domaine.
- Couche de service CRUD.
- Modèles spécifiques au framework, tels que les hooks React, les composables Vue ou les services Angular.
- Génère un Agent Architecte des Autorisations qui propose des autorisations de table et des paramètres de site.
Vous examinez et approuvez la proposition d’autorisations. Le plug-in ne crée aucun fichier de configuration tant que vous n’avez pas confirmé.
Ajouter des résumés générés par l’IA (facultatif)
Exécutez /add-ai-webapi pour ajouter des résumés générés par l’IA à votre intégration d’API web. La compétence connecte deux API de synthèse d’aperçu à vos pages d’enregistrement et de liste :
- API récapitulative de recherche : retourne un résumé condensé par IA des résultats de la recherche, avec des citations.
- API de synthèse des données : retourne un résumé par enregistrement ou des informations pour l’ensemble de la liste pour une table Dataverse.
Cette étape s’appuie sur le modèle de données de l’étape 4 et l’intégration de l’API web à l’étape 6. Le plug-in effectue les actions suivantes :
- Analyse votre code pour rechercher des points d’intégration récapitulatives et confirme les pages cibles, les tables et les API à utiliser.
- Délègue toutes les conditions préalables manquantes de l’API Web (autorisations de table, listes de colonnes et rôles web) à
/integrate-webapiet/create-webroles, par conséquent, il existe une source unique de vérité pour les autorisations. - Génère un assistant AI Web API Integration qui crée un service de synthèse typé (
aiSummaryService.ts) avec la gestion des jetons anti-falsification, des wrappers spécifiques au framework (hooks React, composables Vue ou services Angular) et des points d’appel configurés sur les pages cibles. - Crée un agent AI Web API Settings Architect qui définit les paramètres du site
Summarizationpour les prompts et les limites de contenu.
Vous examinez et approuvez les propositions. Le plug-in ne génère pas de code ou ne crée pas de paramètres tant que vous n’avez pas confirmé.
Note
Les API de synthèse sont en préversion et dépendent des contrôles d’administration et de niveau site activés. Si les résumés n’apparaissent pas après le déploiement, vérifiez que la fonctionnalité est activée via les paramètres de site et les contrôles d’administration appropriés. Pour plus d’informations, consultez Vue d’ensemble de l’API de synthèse des données et Recherche Power Pages avec l’IA générative.
Étape 7 : Créer des rôles web
Exécutez /create-webroles pour définir des rôles d’accès utilisateur. Le plug-in :
- Interroge votre environnement pour les rôles web existants afin d’éviter les doublons.
- Génère des définitions de rôle avec des identificateurs uniques.
- Applique que chaque site a au plus un rôle anonyme et un rôle authentifié.
Étape 8 : Configurer l’authentification
Exécutez /setup-auth pour ajouter la connexion, la déconnexion et le contrôle d’accès en fonction du rôle à votre site. Le plug-in prend en charge les fournisseurs d’identité suivants et vous pouvez configurer un fournisseur ou plusieurs en même temps.
| Fournisseur | Idéal pour |
|---|---|
| ID externe Microsoft Entra (recommandé pour les sites accessibles au client) | Sites publics et portails clients avec inscription en libre-service. |
| Microsoft Entra ID (système d'identification de Microsoft) | Portails d’employés internes ou sites partenaires B2B (Business-to-Business). Power Pages configure automatiquement le locataire parent du site. Vous n'avez donc pas besoin d'entrer d'informations sur le locataire. |
| Microsoft, Facebook, Google | Connexion via les réseaux sociaux pour les publics grand public. |
| Authentification locale | Connexion par nom d’utilisateur et mot de passe. Non recommandé et n’est configuré que lorsque vous le demandez explicitement. |
Pour plus d’informations sur les fournisseurs pris en charge, notamment les protocoles et les considérations de configuration, consultez Overview de l’authentification dans Power Pages.
Le plug-in :
- Analyse votre site (usage, pages, audience) et propose une valeur par défaut sensible. Par exemple, le plug-in propose ID externe Microsoft Entra avec inscription ouverte pour un site côté client, ou Microsoft Entra ID avec une inscription d’invitation uniquement pour un portail interne. Vous acceptez la recommandation ou choisissez vos propres fournisseurs.
- Pour chaque fournisseur, vous guide à travers toutes les étapes préalables dans le centre d’administration du fournisseur d’identité, notamment la création de locataires, l’enregistrement d’applications, la création de flux utilisateur ainsi que la récupération des ID client et des URI de redirection. Le plug-in valide chaque valeur que vous collez dans la conversation et calcule l’URI de redirection exact pour votre site afin que la valeur collée dans l’inscription de l’application corresponde à la valeur écrite dans les paramètres du site.
- Demande comment les données du profil utilisateur doivent être transférées du fournisseur d’identité vers l’enregistrement de contact Dataverse (mappage des revendications), s’il faut les synchroniser à chaque connexion ou uniquement lors de la première connexion, et s’il faut associer automatiquement les connexions externes à des contacts existants via l’adresse e-mail.
- Génère le service d’authentification, les déclarations de type, les utilitaires d’autorisation basés sur les rôles (
hasRole,RequireAuth,RequireRole), un hook de maintien en vie de la session qui évite que les sessions SPA n’expirent silencieusement, ainsi qu’un composant d’interface utilisateur de connexion et de déconnexion intégré à la mise en page de votre site. Le plug-in utilise les modèles de votre infrastructure, tels que les hooks React, les composables Vue, les services Angular ou les composants Astro. - Lorsque plusieurs fournisseurs sont configurés, génère une page
/loginaffichée selon la disposition choisie : rangée horizontale, pile verticale, mise en avant principale ou onglets - Écrit les paramètres du site correspondants sous
.powerpages-site/site-settings/pour chaque fournisseur, mode d’inscription, mappage des revendications et fonctionnalité facultative.
Le plug-in configure également les fonctionnalités facultatives suivantes lorsque vous les activez :
-
Conditions générales : les utilisateurs d’une
/termspage SPA doivent accepter avant de terminer la connexion, ainsi que les extraits de code de contenu et les paramètres de site correspondants. - page de profil Utilisateur : page SPA
/user-profileoù les utilisateurs connectés modifient leurs informations de contact via l’API web Power Pages. - Déconnexion fédérée : déconnecte également l’utilisateur du fournisseur d’identité lorsqu’il se déconnecte du site, pour les scénarios partagés ou réglementés.
Conseil / Astuce
Pour ajouter un deuxième fournisseur d’identité à un site existant, réexécutez-le /setup-auth . Le plug-in détecte ce qui est déjà configuré et propose d’ajouter un nouveau fournisseur sans remplacer ceux existants. Cette approche est utile pour les scénarios incrémentiels, comme commencer par ID externe Microsoft Entra et ajouter ultérieurement Google pour la connexion sociale.
Note
L’autorisation côté client (RequireAuth, RequireRole, hasRole) concerne uniquement l’expérience utilisateur. Il contrôle ce que l’utilisateur voit. Les autorisations de table côté serveur configurées par /integrate-webapi garantissent une sécurité réelle.
Étape 9 : Ajouter une logique de serveur
Exécutez /add-server-logic pour ajouter des points de terminaison côté serveur sécurisés à votre site. Utilisez la logique serveur lorsque votre site a besoin d’une logique qui ne peut pas s’exécuter dans le navigateur, comme les appels d’API externes, la validation côté serveur, la gestion des secrets ou les opérations de données inter-entités.
Important
La prise en charge de la logique serveur nécessite PAC CLI version 2.6.3 ou ultérieure. Utilisez le script d’installation rapide pour effectuer une mise à jour vers la dernière version.
Décrivez ce dont vous avez besoin en langage brut et le plug-in :
- Génère un agent d’architecture logique serveur qui analyse votre cas d’usage et classifie sa complexité.
- Propose une conception de point de terminaison, une configuration de sécurité et toutes les autorisations de table requises pour votre examen.
- Une fois que vous avez approuvé, génère le point de terminaison JavaScript côté serveur à l’adresse
/_api/serverlogics/<name>. - Crée un service côté client typé pour appeler le point de terminaison depuis vos composants.
- Met à jour vos composants pour appeler le nouveau service.
- Configure les attributions de rôles web et les autorisations de table pour le point de terminaison.
Vous examinez et approuvez la proposition. Aucun code n’est généré jusqu’à ce que vous confirmiez.
Cas d’usage courants :
- Connectez-vous aux services externes. Appelez des API REST, des Azure Functions ou des services tiers sans exposer d’informations d’identification. (Tutoriel : interagir avec les services externes)
- Effectuez des opérations de données sécurisées. Interrogez, mettez à jour ou supprimez des enregistrements Dataverse avec une validation côté serveur cohérente. (Tutoriel : interagir avec les tables Dataverse)
- Exécutez une logique personnalisée. Agréger des données entre des tables, appliquer des règles métier ou calculer des valeurs dérivées avant de retourner les résultats au client.
- Gérer les secrets côté serveur. Stockez les informations d’identification et les clés API sur le serveur, jamais dans le code client. (Tutorial : interagir avec Microsoft Graph et SharePoint)
Note
Exécutez /add-server-logic une fois par cas d’usage. Par exemple, si votre site a besoin à la fois d’un point de terminaison de validation d’inventaire et d’un point de terminaison de recherche global, exécutez la compétence deux fois.
Étape 10 : Intégrer des flux cloud
Exécutez /add-cloud-flow pour intégrer des flux cloud Power Automate existants dans votre site. Cette compétence connecte votre site Power Pages aux flux que vous avez déjà créés dans Power Automate. Il ne crée pas de nouveaux flux dans le cloud.
Le plug-in :
- Inscrit le flux cloud existant auprès de votre site.
- Génère du code côté client pour déclencher le flux à partir de vos pages.
- Gère l’état de flux de travail asynchrone et les schémas de rappel.
- Configure l’échange de données entre la page et le flux.
Utilisez /add-cloud-flow pour les flux de travail d’approbation, les notifications par e-mail, les travaux planifiés et l’automatisation pilotée par les événements qui sont mieux gérées par Power Automate que par les points de terminaison côté serveur.
Alternative : Utiliser /integrate-backend pour planifier la couche de service complète
Si vous ne savez pas quelles fonctionnalités ont besoin d’API web, de logique serveur ou d’un flux cloud, exécutez plutôt que d’exécuter /integrate-backend manuellement les étapes 4 à 10. Cette compétence agit en tant qu’orchestrateur qui :
- Analyse votre prototype pour identifier toutes les fonctionnalités qui ont besoin d’une couche de service.
- Classifie chaque fonctionnalité dans la bonne approche : API web pour cruD standard, logique serveur pour la validation côté serveur et les API externes, ou flux cloud pour les flux de travail d’approbation et d’automatisation.
- Propose un plan d’exécution séquencé avec toutes les compétences, dépendances et configurations.
- Une fois que vous avez approuvé, le système orchestre les compétences dans l’ordre correct.
Le plan est persistant, pouvant être repris et modifiable. Arrêtez après toute étape pour passer en revue le code généré ou tester le site, puis récupérez l’emplacement où vous vous êtes arrêté en réexécutant /integrate-backend .
Étape 11 : Ajouter SEO
Exécutez /add-seo pour optimiser votre site pour les moteurs de recherche. Le plug-in :
- Détecte les itinéraires à partir de la configuration du routeur de votre framework.
- Génère des directives de moteur de recherche et un plan pour tous les itinéraires découverts.
- Ajoute des balises meta : viewport, charset, description, Open Graph, Twitter Card et favicon.
Étape 12 : Déployer le site final
Si vous effectuez des étapes facultatives, lancez à nouveau /deploy-site pour appliquer les modifications en direct. Le plug-in exécute une build de production et charge le site avec tous les artefacts de déploiement (autorisations de table, paramètres de site, rôles web, fichiers logiques de serveur) dans votre environnement Power Pages.
Étape 13 : Exécuter une révision de sécurité
Exécutez /security-review pour effectuer une révision de sécurité de bout en bout de votre site avant de passer en production. La compétence orchestre les compétences de sécurité ciblées et consolide chaque recherche dans un seul rapport HTML à l’adresse docs/security-review-<timestamp>.html.
Le plug-in pose une question en langage brut sur votre objectif et choisit l’ensemble de compétences ciblées correspondantes :
| Objectif | Ce qu’elle vérifie |
|---|---|
| Code et configuration | Code source, dépendances, autorisations de table et configuration de l’authentification. Fonctionne uniquement sur les fichiers locaux : aucun déploiement n’est requis. |
| Préparation à la mise en production (recommandé) | Révision complète avant la publication. Exécute chaque compétence ciblée : code et dépendances, analyse de site déployé, en-têtes de sécurité du navigateur, pare-feu d’applications web, autorisations de table et authentification. |
| Site déployé | Analyse du site déployé en direct uniquement. Utile pour la surveillance continue d’un site publié. |
Une fois que vous avez confirmé, le plug-in exécute les compétences ciblées correspondantes en parallèle et écrit leurs résultats dans un seul rapport :
-
/scan-code: exécute l’analyse statique (opengrep) et l’analyse des dépendances (trivy) sur les fichiers sources locaux. Modèles de code Surfaces, packages vulnérables, secrets codés en dur et problèmes de licence. Si l’un des outils n’est pas installé, la compétence offre une révision manuelle du code comme secours. -
/scan-site: démarre une analyse de sécurité côté serveur sur le site en direct et extrait le dernier rapport. La durée de l’analyse dépend de la taille du site : les petits sites se terminent en minutes, les grands sites peuvent prendre des heures. Les résultats sont regroupés par gravité. Nécessite un site déployé. -
/manage-headers: inspecte les en-têtes de sécurité HTTP configurés sous.powerpages-site/site-settings/: Stratégie de sécurité de contenu, X-Frame-Options, CORS, cookie SameSite et paramètres associés. Identifie les valeurs manquantes ou faibles et propose les valeurs par défaut recommandées. -
/manage-firewall: inspecte le pare-feu d’applications web (WAF) du site de production, y compris l’état de la règle managée et les règles personnalisées (blocs IP, blocs de pays, blocs de chemin d’accès, limites de débit). Disponible uniquement sur les sites de production dans les régions prises en charge ; la compétence détecte et signale les problèmes d’éligibilité. -
/audit-permissions: audite les autorisations de table existantes par rapport au code de site et aux métadonnées Dataverse. Affiche les autorisations manquantes, les rôles trop permissifs, les autorisations inutilisées et les problèmes de schéma YAML.
Le rapport consolidé regroupe les résultats par section, s’ouvre dans votre navigateur par défaut et inclut des conseils de correction en langage brut. À partir de la conversation, le plug-in propose ensuite de parcourir les correctifs : choisissez une recherche et le plug-in appelle la compétence ciblée correspondante de manière interactive pour appliquer la modification.
Note
La révision de sécurité n’applique jamais automatiquement les modifications. Chaque compétence ciblée s’exécute en mode révision en lecture seule lors de l’exécution consolidée. Pour appliquer un correctif, le plug-in appelle la compétence correspondante de manière interactive après avoir choisi l’action.
Conseil / Astuce
Vous pouvez également exécuter individuellement n’importe quelle compétence ciblée :
- Exécutez
/scan-codeau cours du développement pour détecter les problèmes au niveau du code au début. - Exécutez
/manage-headerspour corriger une erreur de stratégie de sécurité de contenu spécifique ou configurer CORS. - Exécutez
/manage-firewallpour ajouter une limite de débit sur la page de connexion ou bloquer le trafic par pays. - Exécutez
/audit-permissionsaprès avoir modifié les autorisations de table pour vérifier qu’elles correspondent toujours au code de site. - Réexécutez
/security-reviewavec l’objectif Site déployé pour surveiller un site de production au fil du temps.
Vérifier votre site
Une fois les compétences terminées, vérifiez que votre site Power Pages fonctionne correctement.
- Accédez à Power Pages.
- Recherchez votre site dans la liste des sites actifs .
- Affichez un aperçu de votre site sur le bureau à l’aide de l’option Aperçu .
- Testez la fonctionnalité.
Promouvoir votre site dans les environnements
Une fois que votre site fonctionne dans votre environnement de développement, utilisez les fonctionnalités de gestion du cycle de vie des applications (ALM) pour le promouvoir vers des environnements de test et de production. Le plug-in package votre site en tant que solution Power Platform, identifie les valeurs qui varient entre les environnements et déploie la solution via Power Platform Pipelines ou via l’exportation et l’importation manuelles.
Pour utiliser les compétences ALM, vous avez également besoin d’au moins un environnement Power Platform cible (test, production ou les deux). Pour utiliser le flux de Azure Key Vault facultatif pour les secrets, vous devez également être autorisé à créer un coffre de clés dans votre abonnement Azure.
Planifier le déploiement
Exécutez /plan-alm pour démarrer.
/plan-alm est le point d’entrée pour ALM et orchestre les autres compétences ALM, de sorte que vous ne les exécutez généralement pas directement. Le plug-in :
- Détecte l’état actuel de votre projet, solution et environnements cibles.
- Vous interroge sur votre stratégie de promotion (pipelines Power Platform ou exportation et importation manuelles), les étapes cibles et toutes les contraintes à appliquer.
- Génère un plan visuel à
docs/alm-plan.htmlqui présente toutes les actions qu’il prévoit d’effectuer. - Attend votre approbation avant d’exécuter une compétence en aval.
Le plan persiste sur le disque, de sorte que chaque compétence en aval lit et écrit dans le même plan persistant. Si une phase échoue, exécutez de nouveau /plan-alm ; l’exécution reprend là où elle s’était arrêtée.
Créer la solution
Exécutez /setup-solution pour empaqueter votre site sous forme de solution Power Platform. Le plug-in :
- Crée un serveur de publication et une solution, puis ajoute vos composants Power Pages : le site, les rôles web, les points de terminaison logiques du serveur, les inscriptions de flux cloud et les paramètres du fournisseur OAuth.
- Classifie chaque paramètre de site par sensibilité et propose des variables d’environnement pour les valeurs qui varient entre les environnements.
- Offre de provisionner un Azure Key Vault et de stocker des valeurs de type d’informations d’identification, telles que des chaînes de connexion et des clés API, dans celle-ci.
- S’exécute en mode de synchronisation lorsqu’une solution existe déjà pour votre site, pour rapprocher les composants sans créer de solution.
Vous examinez et approuvez la proposition. Le plug-in ne crée aucune configuration tant que vous n’avez pas confirmé.
Conseil / Astuce
Si votre solution est trop volumineuse ou enchevêtrée pour déployer de manière fiable, le plug-in recommande un fractionnement et propose où le fractionner. Confirmez la division avant d’appliquer les modifications.
Déployer avec Power Platform Pipelines
Si vous avez choisi Power Platform Pipelines comme stratégie de promotion, le plug-in exécute ces compétences :
-
/ensure-pipelines-hostmet en place ou détecte un environnement hôte pour Power Platform Pipelines. La compétence choisit l’option la plus économique disponible pour votre locataire : un hôte de plateforme gratuite, l’application Pipelines sur un environnement existant ou un hôte personnalisé. -
/setup-pipelineinscrit une définition de pipeline dans Dataverse, configure les étapes que vous avez choisies et lie chaque étape à un environnement cible. -
/deploy-pipelinedéclenche un déploiement pour une étape, applique des remplacements de variables d’environnement spécifiques à chaque étape viadeploymentSettings.json, et suit l’état dans un journal de déploiement.
Si un déploiement échoue, car l’environnement cible est déjà lié à un autre hôte Power Platform Pipelines, le plug-in peut s’exécuter /force-link-environment pour le réaffecter. L’action nécessite votre consentement explicite et est réversible.
Déployer avec l’exportation et l’importation manuelles
Si vous choisissez le chemin d’accès manuel, le plug-in s’exécute :
-
/export-solutionpour exporter la solution en tant que zip managé ou non managé, avec une vérification complète avant l’exportation. -
/import-solutionpour importer l’archive ZIP dans l’environnement cible, soit en mode intermédiaire afin de vérifier d’abord les dépendances, soit directement.
Activer et valider le site déployé
Après un déploiement réussi sur l’environnement cible, le plug-in :
- Exécute
/activate-sitepour provisionner l’URL publique dans l’environnement cible. - Exécutez
/test-sitepour vérifier le déploiement. Le plugin utilise un navigateur pour explorer des pages représentatives, effectuer des contrôles d’accès basés sur les rôles, vérifier les appels/_api/et capturer la structure des réponses des points de terminaison/_api/serverlogics/. La compétence indique le résultat sous la formePASS,WARNINGSouFAIL, avec, pour chaque vérification, des détails accessibles depuis le plan.
En cas d’échec d’une étape, le plug-in s’exécute /diagnose-deployment. La compétence correspond à l’échec par rapport à un catalogue d’erreurs de déploiement connues, telles qu’un manifeste obsolète, des dépendances manquantes, des conflits d’hôte, une authentification JavaScript bloquée ou une authentification expirée, et propose un correctif concret. Le plug-in n’applique jamais de correctif sans votre consentement.
Note
Chaque compétence ALM lit et écrit dans des artefacts sur disque : manifeste de la solution, données de plan, registre de pipeline, registre de déploiement et résultats des tests. L’orchestration est reprenable et auditable. Pour voir ce qui s’est passé à n’importe quelle étape, inspectez les artefacts.
Conseils et bonnes pratiques
Les conseils suivants vous aident à tirer le meilleur parti du plug-in et de l’agent de codage IA lors de la création de sites Power Pages.
Surveillez la sortie du terminal pour détecter les outils manquants lors de la première exécution
Le plug-in fournit les compétences et les flux de travail, mais l’agent de codage IA - GitHub Copilot CLI ou Claude Code - exécute les commandes réelles sur votre ordinateur. Lorsque vous utilisez ces outils pour la première fois, regardez attentivement la sortie du terminal. L’agent de codage IA exécute des commandes et des scripts en arrière-plan, et certaines de ces commandes dépendent des outils qui peuvent ne pas être installés sur votre ordinateur. En cas d’échec d’une étape, la sortie du terminal indique généralement quel outil ou commande il n’a pas pu trouver.
Si vous voyez une erreur semblable command not found ou is not recognized, installez l’outil manquant et réactivez le flux de travail. L’agent de codage d’IA récupère là où il s’est arrêté une fois l’outil disponible.
Passer en revue les propositions de l’agent avant d’approuver
L’agent de codage IA présente des propositions, telles que celles de l’architecte de modèle de données et de l’architecte des autorisations, avant d’apporter des modifications. Le code et la configuration générés par l’agent de codage d’IA peuvent être incorrects. Ainsi, passez en revue, testez et validez chaque proposition et tout le code généré avant d’approuver ou de le déployer.
- Propositions de modèle de données : vérifiez que les noms de tables, les types de colonnes et les relations correspondent à vos besoins métier. Il est plus facile d’ajuster une proposition qu’à renommer des colonnes une fois que les données sont déjà insérées.
- Propositions d’autorisations : vérifiez que chaque rôle a le niveau d’accès correct (créer, lire, mettre à jour, supprimer) pour chaque table. Les autorisations de table trop permissives sont un risque de sécurité courant.
- Code généré : Lisez le code généré et testez le site localement avant de déployer. Le code généré par l’IA peut contenir des erreurs ou des problèmes de sécurité.
Coller les erreurs directement dans le contexte
En cas d’échec, qu’il s’agisse d’une erreur de génération, d’un échec de déploiement ou d’une exception d’exécution dans le navigateur, copiez la sortie d’erreur complète. Collez-le avec une brève description de ce que vous faisiez. Plus vous fournissez de contexte, plus le correctif est rapide.
Exemple : Erreur de génération
I ran npm run build and got this error. Fix it.
error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.
src/components/JobCard.tsx:24:31
24 <Text>{posting.jobTitle}</Text>
Conseil / Astuce
Incluez le nom de fichier, la commande que vous avez exécutée et ce que vous attendiez. Le plug-in utilise ce contexte pour localiser le problème et appliquer un correctif ciblé plutôt que de deviner.
Partager des erreurs d’API web avec l’URL de requête complète
Un problème courant après le déploiement est une erreur 403 de l'API web Power Pages lorsqu'une colonne n'est pas activée pour l'accès à l'API. Lorsque vous rencontrez cette erreur, collez l’URL de l’API complète et la réponse d’erreur JSON complète. Le message d'erreur vous indique exactement quelle table et quelle colonne doivent être corrigées, et le plug-in peut mettre à jour le fichier YAML des permissions de la table et les paramètres du site pour vous.
Exemple : Colonne non activée pour l’API web (403)
I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.
URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value
Response:
{
"error": {
"code": "90040101",
"message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
"innererror": {
"code": "90040101",
"message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
"type": "AttributePermissionIsMissing"
}
}
}
Cette erreur (AttributePermissionIsMissing) signifie que la colonne _crd50_propertyid_value de recherche existe dans la table Dataverse, mais qu’elle n’est pas répertoriée dans la configuration d’autorisation de table pour l’API web. Le plug-in résout cette erreur en ajoutant la colonne manquante au fichier YAML de permissions de la table dans .powerpages-site/table-permissions/ et en redéployant.
Note
L’API web Power Pages nécessite que chaque colonne retournée par un appel d’API soit explicitement répertoriée dans l’autorisation de table.
Les propriétés de recherche, (précédées _ et suffixées _value) sont faciles à manquer, car leur nom d’API diffère du nom logique de la colonne dans Dataverse. Lorsque vous voyez AttributePermissionIsMissing, ajoutez toujours cette colonne à l’autorisation de table. Ne modifiez pas la requête d’API.
Soyez précis sur ce que vous voulez
Les demandes vagues produisent des résultats vagues. Indiquez exactement ce dont vous avez besoin au plug-in, notamment les préférences de disposition, les champs de données et le comportement.
| À la place de | Essayer |
|---|---|
| Créer une page pour les emplois | « Créer une page d'offres d'emploi avec une barre de recherche en haut, des filtres à puces pour l’emplacement et le service, ainsi qu’une grille de cartes affichant le titre, l’entreprise, la fourchette de salaires et une date de publication pour chaque offre » |
| « Corriger le style » | « Les cartes de travail sont empilées verticalement sur le bureau. Faites-les afficher dans une grille à trois colonnes avec un écart de 16 px sur les écrans plus larges que 768 px " |
| « Ajouter des données » | « Ajouter 20 exemples de postes dans quatre départements (Ingénierie, Marketing, Ventes, RH) avec des titres réalistes, des plages de salaires comprises entre 60 000 $ et 180 000 $ et des dates publiées au cours des 30 derniers jours » |
| « Configurer l’API » | « Connectez le composant JobListings à la table Dataverse cr_jobposting. Remplacez le tableau codé en dur par un appel d’API réel qui extrait le titre, le service, le salaire et la date publiée » |
| « Ajouter une connexion » | Configurez la connexion à ID externe Microsoft Entra avec inscription ouverte, et Google comme deuxième fournisseur. Affichez-les sous la forme d’une ligne horizontale sur la page de connexion. » |
Utiliser des captures d’écran pour les problèmes visuels
Lorsque le site n'apparaît pas correctement dans le navigateur, prenez une capture d’écran et collez-la directement dans la conversation ou fournissez le chemin d'accès au fichier. Le contexte visuel permet d’identifier les problèmes de disposition, d’espacement et de style difficiles à décrire dans le texte.
The header overlaps the hero section on mobile. Here's a screenshot:
[paste screenshot or provide path to screenshot file]
Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.
Itérer en petites étapes
Au lieu de décrire un site entier dans une requête, procédez de façon incrémentielle. Commencez par la structure et la disposition, puis ajoutez des fonctionnalités une à la fois. Cette approche vous donne la possibilité de passer en revue et de corriger les cours à chaque étape.
Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data
Conseil / Astuce
Après chaque étape, vérifiez l’aperçu du navigateur. Si quelque chose n’est pas correct, corrigez-le avant de continuer. Il est plus facile de résoudre les problèmes dans un composant que de démêler les problèmes dans l'ensemble du site.
Demander une explication avant d’approuver
Lorsque vous n'êtes pas sûr d'une modification proposée, en particulier pour les autorisations, les modifications de modèle de données ou la configuration d'authentification, demandez au plug-in d'expliquer ce qu'il prévoit de faire et pourquoi avant d'approuver.
Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.
Exécutez les compétences de manière indépendante pour résoudre les problèmes
Si une compétence échoue en partie, vous n’avez pas besoin de recommencer. Chaque compétence s’exécute indépendamment et peut reprendre là où elle s’est arrêtée. Par exemple, si /integrate-webapi échoue à la troisième table, vous pouvez le relancer et il reconnaîtra le travail déjà effectué.
/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.
Contenu connexe
- Créer et déployer une application d'une seule page sur Power Pages
- Configurer l’authentification pour un site Power Pages
- Vue d’ensemble de la logique serveur
- Informations de référence sur l’API web Power Pages
- Vue d’ensemble de l’API de synthèse des données
- Power Pages recherche avec l’IA générative
- Référence des commandes PAC CLI pages
- GitHub Copilot CLI
- Claude Code