Gestion du cycle de vie d’une application Power Apps (ALM)
Vue d’ensemble
La gestion du cycle de vie des applications (Application Lifecycle Management ou ALM) dans Power Apps englobe l’ensemble des pratiques permettant de développer, tester, déployer et maintenir des applications de manière structurée et contrôlée.
Les environnements
Définition
Un environnement est un espace isolé contenant des applications, des flux, des connexions et des données Dataverse. Il constitue la base de toute stratégie ALM.
Types d’environnements recommandés
Environnement
Rôle
Accès
Développement
Création et modification des applications
Développeurs uniquement
Test / Recette
Validation fonctionnelle et tests utilisateurs
Testeurs et utilisateurs clés
Production
Utilisation finale par les utilisateurs
Tous les utilisateurs finaux
Isolation des environnements
Chaque environnement dispose de ses propres ressources :
Applications Canvas et Model-driven
Flux Power Automate
Tables Dataverse
Connexions et passerelles
Variables d’environnement
Rôles de sécurité
Les solutions
Définition
Une solution est un conteneur permettant de regrouper et transporter des composants Power Platform entre environnements.
Types de solutions
Type
Caractéristique
Cas d’usage
Non managée
Modifiable dans l’environnement cible
Développement et personnalisation
Managée
Non modifiable dans l’environnement cible
Déploiement en test et production
Composants pouvant être inclus
Applications Canvas
Applications Model-driven
Flux Power Automate (cloud flows)
Tables et colonnes Dataverse
Rôles de sécurité
Variables d’environnement
Connecteurs personnalisés
Composants de code (PCF)
Web resources
Opérations sur les solutions
Opération
Description
Créer
Initialiser une nouvelle solution dans un environnement
Ajouter des composants
Inclure des éléments existants ou en créer de nouveaux
Exporter
Générer un fichier .zip (managé ou non managé)
Importer
Déployer une solution dans un environnement cible
Mettre à jour
Appliquer une nouvelle version d’une solution existante
Supprimer
Retirer une solution (et potentiellement ses composants)
Gestion des versions
Numérotation des solutions
Format standard : Majeur.Mineur.Build.Révision
Exemple : 1.0.0.1 → 1.0.0.2 → 1.1.0.0 → 2.0.0.0
Segment
Signification
Exemple de modification
Majeur
Changement majeur incompatible
Refonte complète de l’application
Mineur
Nouvelles fonctionnalités
Ajout d’un nouvel écran
Build
Corrections et améliorations
Optimisation de performances
Révision
Correctifs mineurs
Correction d’un libellé
Historique des versions d’une application
Power Apps conserve automatiquement les versions publiées d’une application Canvas :
Accès via les détails de l’application
Possibilité de restaurer une version antérieure
Comparaison entre versions non disponible nativement
Variables d’environnement
Rôle
Les variables d’environnement permettent de stocker des valeurs de configuration qui varient selon l’environnement (développement, test, production).
Types disponibles
Type
Usage
Texte
Chaînes de caractères, URL, identifiants
Nombre
Valeurs numériques de configuration
JSON
Structures de données complexes
Source de données
Références à des listes SharePoint ou tables Dataverse
Secret
Valeurs sensibles (intégration Azure Key Vault)
Exemple d’utilisation
Variable : var_UrlApiBackend
Valeur en développement : https://api-dev.entreprise.fr
Valeur en test : https://api-test.entreprise.fr
Valeur en production : https://api.entreprise.fr
Dans l’application, référence unique :
Environment().var_UrlApiBackend
Références de connexion
Définition
Les références de connexion permettent de dissocier les connexions aux sources de données de l’application elle-même, facilitant le déploiement entre environnements.
Fonctionnement
Environnement
Référence de connexion
Connexion réelle
Développement
ref_SharePoint
Connexion au site SharePoint de dev
Test
ref_SharePoint
Connexion au site SharePoint de test
Production
ref_SharePoint
Connexion au site SharePoint de prod
L’application utilise la référence, et chaque environnement mappe cette référence vers la connexion appropriée.
Pipelines de déploiement
Pipelines Power Platform (natif)
Fonctionnalité intégrée permettant de configurer des déploiements entre environnements sans outils externes.
Étape
Description
Configuration
Définir les environnements source et cible
Déploiement
Sélectionner la solution et déclencher le pipeline
Validation
Vérification automatique avant déploiement
Application
Import de la solution dans l’environnement cible
Azure DevOps
Intégration avec Azure Pipelines pour une automatisation avancée.
Composant
Rôle
Power Platform Build Tools
Extension fournissant les tâches de déploiement
Repositories
Stockage du code source des solutions (format YAML/JSON)
Pipelines
Automatisation des exports, builds et déploiements
Environnements
Gestion des approbations et des portes de qualité
GitHub Actions
Alternative à Azure DevOps avec les GitHub Actions for Power Platform.
Fonctionnalité
Description
Export de solutions
Extraction automatique depuis un environnement
Unpacking
Décomposition de la solution en fichiers sources
Contrôle de version
Suivi des modifications via Git
Déploiement
Import automatisé dans les environnements cibles
Contrôle de code source
Les solutions Power Platform peuvent être décomposées en fichiers texte pour le contrôle de version.
structure_solution_arbre.jpg
Avantages du contrôle de version
Avantage
Description
Traçabilité
Historique complet des modifications
Collaboration
Travail simultané de plusieurs développeurs
Revue de code
Validation des changements avant intégration
Rollback
Retour à une version antérieure en cas de problème
Branches
Développement parallèle de fonctionnalités
Tests et validation
Solution Checker
Outil d’analyse statique intégré détectant les problèmes potentiels.
Catégorie
Exemples de détection
Performance
Requêtes non optimisées, délégation
Sécurité
Permissions excessives, données exposées
Fiabilité
Références manquantes, erreurs potentielles
Maintenabilité
Conventions de nommage, complexité excessive
Accessibilité
Problèmes de conformité WCAG
Tests manuels
Phase
Objectif
Tests unitaires
Vérifier chaque fonctionnalité isolément
Tests d’intégration
Valider les interactions entre composants
Tests de régression
S’assurer que les modifications n’impactent pas l’existant
Tests d’acceptation
Validation par les utilisateurs métier
Test Studio (Power Apps)
Outil intégré permettant de créer des tests automatisés pour les applications Canvas.
Fonctionnalité
Description
Enregistrement
Capture des actions utilisateur
Assertions
Vérification des résultats attendus
Exécution
Lancement automatique des suites de tests
Rapports
Résultats détaillés des tests
Stratégies de déploiement
Déploiement manuel
Étape
Action
1
Exporter la solution depuis l’environnement source
2
Importer la solution dans l’environnement cible
3
Configurer les connexions et variables d’environnement
4
Publier les personnalisations
5
Tester le fonctionnement
Déploiement automatisé
pipeline_deploiement_powerplatform.jpg
Gestion des dépendances
Types de dépendances
Type
Description
Exemple
Interne
Entre composants d’une même solution
Application utilisant un flux
Externe
Vers des composants d’autres solutions
Utilisation d’une table d’une solution de base
Système
Vers des composants système
Tables standard Dataverse
Résolution des dépendances
Lors de l’import d’une solution, les dépendances doivent être satisfaites :
Les solutions dépendantes doivent être importées en premier
Les versions minimales requises doivent être respectées