Support Power Platform - Apps - Automate - SharePoint - Copilot

Charte de nommage et bonnes pratiques Power Apps Canvas

Préfixes des contrôles

Contrôles de base

ContrôlePréfixeExemple
ÉtiquetteetqetqTitre, etqNomUtilisateur
Saisie de textesaisaiNom, saiEmail
BoutonbtnbtnValider, btnAnnuler
Liste déroulantelstlstCategorie, lstPays
Zone de liste modifiablezlmzlmProduits, zlmUtilisateurs
Sélecteur de datedatdatDebut, datFin
CommutateurcomcomActif, comNotifications
CurseurcurcurVolume, curPrix
Case à cochercascasAccepte, casVisible
Bouton radioradradChoix, radStatut

Contrôles de données

ContrôlePréfixeExemple
GallerygalgalProduits, galCommandes
Data TabledtbdtbUtilisateurs, dtbVentes
List BoxlstlstCategories, lstOptions
FormfrmfrmNouveauClient, frmModifier

Contrôles multimédias

ContrôlePréfixeExemple
ImageimgimgLogo, imgProfil
CameracamcamPhoto, camSignature
Barcode ScannerbarbarProduit, barInventaire
VideovidvidDemo, vidTuto
AudioaudaudMessage, audAlarme

Conteneurs et navigation

ContrôlePréfixeExemple
ScreenscrscrAccueil, scrParametres
ContainercntcntHeader, cntFooter
GroupgrpgrpBoutons, grpInfos
RectanglerecrecSeparateur, recFond

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