Skip to content
Power Platform - Apps - Automate - SharePoint
  • Pages
    • Support Power Platform - Power Apps - Power Automate
      • Licences
      • Mises à jour (waves)
      • Environnement & Solutions
        • Attribuer des droits sur un environnement
      • Power BI
      • Liens vers nos supports
    • Architecture Power Platform
      • Modéliser des données
    • Administrer Power Platform
      • Références
      • Sécurité
      • Center of Excellent (CeE)
      • Application Lifecycle Management (ALM) [WiP]
    • Power Apps
      • Références
      • Process de développement d'applications PowerApps
        • Création d'applications [WiP]
        • Contrôles
        • Contrôles modernes
      • Power Apps - Fonctions principales
        • Tips Fonctions
        • Fonction Patch
          • Patch des types complexes d'une liste SharePoint
      • Applications basées sur un modèle (model driven apps)
        • Tips Fonctions
        • Modèles Word avec une application pilotée par modèle
        • Lancer un flux depuis un bouton d'une application pilotée par modèle
        • Ressources JavaScript
      • Modes opératoires
        • Application Canvas - Guide de survie
        • Flux PowerAutomate à partir de Power Apps
        • Créer une application PowerApps avec une liste SharePoint
        • Compléter un modèle Word et générer un PDF [Premium]
        • Récupérer une photo depuis la caméra
        • Listes en cascade
        • Sélectionner un utilisateur (Liste SP)
        • Partager une application Power Apps
      • Développeur
        • JS
        • Outils externes
        • Bibliothèque de composants
      • Alternatives à PowerApps
      • Quizz
      • Charte de nommage et bonnes pratiques Power Apps Canvas
    • Power Automate
      • Références
      • Fonctions
        • JSON
        • Tips
        • Manipulations fichiers SharePoints [ToDo]
      • Modes opératoires
        • Approbations
          • Généralités
          • Approbations simples
          • [Exo] Commande fournisseur
        • [WiP] Ajouter un bouton de colonne SharePoint qui exécute un flux
        • Créer un PDF à partir de code HTML avec image
        • [WiP] Exécuter un flux depuis une ligne sélectionnée dans Excel
          • Copier un fichier depuis une PJ Outlook
        • Envoyer "en tant que"
        • Compter des éléments, même supprimés (table Audits)
      • Alternatives à Power Automate
      • Syntaxe générale
      • Power Automate pour le Bureau (PA
        • Ressources pédagogiques
    • Dataverse
      • Références
      • Common Data Model
      • Tables [WIP]
      • Colonnes [WIP]
      • Sécurité
      • Développeur
      • Référence automatique
      • Application pilotée par modèle
        • Exemple pratique
        • Migration depuis Access
    • Microsoft 365 & SharePoint
      • Vue d'ensemble de Microsoft 365 et SharePoint
      • Déroulé pédagogique
        • Module 1 : Microsoft 365 et SharePoint Online
        • Module 2 : Bibliothèques et listes
        • Module 3 : Intégration Office et gestion des documents
        • Module 4 : Type de contenu
        • Module 5 : Personnalisation des pages
        • Module 6 : Personnalisation des sites et des espaces de travail
        • Module 7 : Gestion de la sécurité
        • Module 8 : Workflows Power Automate
      • Bonnes pratiques
      • Sites SharePoint
        • Types de sites
        • Hiérarchies de sites
          • Sous-sites vs Hubs de sites
        • Créer un site
        • Principaux composants
          • Navigation
          • Composant WebPart dans les pages
          • Bibliothèques de document & Listes
          • Lien avec Teams
        • Pages d'un site SharePoint
        • Partage de flux d'un fichier ou d'un élément sélectionné
      • Listes SharePoint
        • Créer une liste
          • Créer une colonne
          • Gérer les vues
        • Power Automate avec des listes SharePoint
        • Mettre à jour une Liste SharePoint depuis Excel
        • TIPS
      • Bibliothèques de fichiers & dossiers SharePoint [WiP]
        • Rétention
        • Généralités
          • Création d'un nouveau document
          • Associer un modèle de document
          • Affichage et modification de documents dans le navigateur
          • Affichage et modification de documents dans le client
          • Téléchargement de documents
          • Déplacement et copie de documents
          • Affichage et modification des paramètres de la bibliothèque de documents
          • Paramètres de gestion des versions, approbation du contenu et extraction de documents
      • Intégration Power Apps
      • Droits & sécurité
      • API
      • Administration & rôles
    • Exercices
      • pl-7001
        PL-7001 - Power Apps Canvas
        • Lab 0 – Valider l'environnement de laboratoire
        • Lab 1 – Créer une application canevas à partir de données
        • Lab 2 – Modèle de données
        • Lab 3 – Créer une application canevas
        • Lab 4 – Créer l'interface utilisateur
        • Lab 5 – Données externes
        • Lab 6 – Formulaires
        • Lab 7 – Gérer les applications canevas
      • pl-7002
        PL-7002 - Power Automate
        • Lab 0 - Vérifier l’environnement de labo
        • Lab 1 - Créer des flux de cloud
        • Lab 2 - Modèle de données Dataverse
        • Lab 3 - SharePoint
        • Lab 4 - Flux d’approbation [SP]
        • Lab 5 - Flux de bouton [DV]
        • Lab 6 - Flux planifié [SP]
        • Lab 7 - Filtres de déclencheur [DV]
    • Exos Power Apps Power Automate
      • [Exo A] Flux avec une liste SharePoint
      • [Exo06] Créer une application Canvas avec Copilot
      • Flux avec une table Dataverse
        • Créer la source Dataverse
        • Créer le flux de bouton
        • Créer un flux automatisé avec filtre
      • Flux avec une liste SharePoint

Charte de nommage et bonnes pratiques Power Apps Canvas

Préfixes des contrôles

Contrôles de base

Contrôle
Préfixe
Exemple
Étiquette
etq
etqTitre, etqNomUtilisateur
Saisie de texte
sai
saiNom, saiEmail
Bouton
btn
btnValider, btnAnnuler
Liste déroulante
lst
lstCategorie, lstPays
Zone de liste modifiable
zlm
zlmProduits, zlmUtilisateurs
Sélecteur de date
dat
datDebut, datFin
Commutateur
com
comActif, comNotifications
Curseur
cur
curVolume, curPrix
Case à cocher
cas
casAccepte, casVisible
Bouton radio
rad
radChoix, radStatut
There are no rows in this table

Contrôles de données

Contrôle
Préfixe
Exemple
Gallery
gal
galProduits, galCommandes
Data Table
dtb
dtbUtilisateurs, dtbVentes
List Box
lst
lstCategories, lstOptions
Form
frm
frmNouveauClient, frmModifier
There are no rows in this table

Contrôles multimédias

Contrôle
Préfixe
Exemple
Image
img
imgLogo, imgProfil
Camera
cam
camPhoto, camSignature
Barcode Scanner
bar
barProduit, barInventaire
Video
vid
vidDemo, vidTuto
Audio
aud
audMessage, audAlarme
There are no rows in this table

Conteneurs et navigation

Contrôle
Préfixe
Exemple
Screen
scr
scrAccueil, scrParametres
Container
cnt
cntHeader, cntFooter
Group
grp
grpBoutons, grpInfos
Rectangle
rec
recSeparateur, recFond
There are no rows in this table

Conventions de nommage

1. Structure générale

[Préfixe][Nom descriptif][Suffixe optionnel]

2. Règles de base

camelCase pour tous les noms : première lettre du premier mot en majuscule puis première lettre de chaque mot suivant en majuscule (comme dans iPhone ou ceciEstUnTexteEnCamelCase)
Pas d'espaces ni de caractères spéciaux ni de lettres accentuées
Noms en français (ou anglais selon le contexte)
Maximum 32 caractères recommandé
Noms descriptifs et explicites
Éviter Nom, Type et Date comme nom (souvent 2 mots minimum sont préférables)

3. Exemples de nommage

// ✅ Bon
btnEnregistrerClient
txtNomComplet
galListeProduits
scrGestionCommandes

// ❌ Éviter
Button1
TextInput2
Gallery_1
Screen1_1

Organisation des écrans

Conventions d'écrans

scrAccueil // Écran principal
scrConnexion // Authentification
scrListeClients // Liste des entités
scrDetailClient // Détail d'une entité
scrNouveauClient // Création
scrModifierClient // Modification
scrParametres // Configuration
scrAPropos // Informations

Variables et Collections

Variables globales

// Préfixe 'g' pour global
gUtilisateurConnecte
gLangueActive
gThemeActuel
gVersionApp

Variables de contexte

// Préfixe 'loc' pour local
locClientSelectionne
locModeEdition
locMessageErreur
locDonneesFormulaire

Collections

// Préfixe 'col' pour collection
colClients
colProduits
colCommandesJour
colParametresApp

Sources de données

Conventions pour les sources

// SharePoint Lists
'Liste Clients'
'Commandes 2024'
'Paramètres Application'

// Dataverse
Contacts
Accounts
CustomEntity

// Connecteurs
Office365Users
OneDriveForBusiness
ExcelOnline

Propriétés et styles

// Couleurs
clrPrimaire: RGBA(0, 120, 212, 1)
clrSecondaire: RGBA(106, 106, 106, 1)
clrErreur: RGBA(168, 0, 0, 1)
clrSucces: RGBA(16, 124, 16, 1)

// Polices
fntTitre: {Family: "Segoe UI", Size: 16, Weight: Bold}
fntTexte: {Family: "Segoe UI", Size: 12, Weight: Normal}
fntBouton: {Family: "Segoe UI", Size: 14, Weight: Semibold}

Bonnes pratiques de développement

1. Architecture de l'application

Un écran = une fonctionnalité principale
Réutiliser les composants autant que possible
Séparer la logique métier de l'interface
Centraliser les paramètres dans des variables globales

2. Performance

// ✅ Bon - Délégation efficace
Filter(Clients, StartsWith(Nom, txtRecherche.Text))

// ❌ Éviter - Non délégable
Filter(Clients, Upper(Nom) = Upper(txtRecherche.Text))

3. Gestion des erreurs

// Structure de gestion d'erreur
If(
IsError(PatchResult),
Set(locMessageErreur, "Erreur lors de la sauvegarde : " &
First(Errors(PatchResult)).Message),
Set(locMessageSucces, "Enregistrement réussi")
)

4. Documentation

// Commentaires dans les formules
/*
Fonction : Validation du formulaire client
Auteur : [Nom]
Date : [Date]
Mise à jour : [Date dernière modification]
*/

Responsive Design

Conventions d'écrans

// Tailles d'écrans recommandées
Desktop: 1366 x 768
Tablet: 1024 x 768
Mobile: 375 x 667

// Propriétés responsive
Parent.Width > 600 // Condition tablet/desktop
Parent.Height > 500 // Condition orientation

Positionnement adaptatif

// Largeur adaptative
Width: If(Parent.Width > 600, 400, Parent.Width - 40)

// Position centré
X: (Parent.Width - Self.Width) / 2

Sécurité et gouvernance

Nommage des rôles

rolAdministrateur
rolUtilisateur
rolLecteur
rolEditeur

Variables de sécurité

gUtilisateurRole
gPermissionsActuelles
gAccesAutorise

Tests et débogage

Variables de debug

// Mode développement
gModeDebug: true/false
gLogsActive: true/false
gVersionDev: "1.0.0-beta"

Conventions de test

// Données de test
colClientsTest
locDonneesTestFormulaire
txtTestRecherche

Checklist de développement

Avant publication

Nommage respecté pour tous les contrôles
Variables et collections documentées
Gestion d'erreurs implémentée
Tests sur différentes tailles d'écran
Performance vérifiée (délégation)
Documentation à jour
Droits d'accès configurés
Sauvegarde du code source

Standards de qualité

Aucun contrôle avec nom par défaut (Button1, etc.)
Formules commentées pour la logique complexe
Messages d'erreur explicites
Navigation intuitive
Cohérence visuelle

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.