| 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 |
| Contrôle | Préfixe | Exemple |
| Gallery | gal | galProduits, galCommandes |
| Data Table | dtb | dtbUtilisateurs, dtbVentes |
| List Box | lst | lstCategories, lstOptions |
| Form | frm | frmNouveauClient, frmModifier |
| 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 |
| Contrôle | Préfixe | Exemple |
| Screen | scr | scrAccueil, scrParametres |
| Container | cnt | cntHeader, cntFooter |
| Group | grp | grpBoutons, grpInfos |
| Rectangle | rec | recSeparateur, recFond |
[Préfixe][Nom descriptif][Suffixe optionnel]
- 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)
// Bon
btnEnregistrerClient
txtNomComplet
galListeProduits
scrGestionCommandes
// Éviter
Button1
TextInput2
Gallery_1
Screen1_1
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
// Préfixe 'g' pour global
gUtilisateurConnecte
gLangueActive
gThemeActuel
gVersionApp
// Préfixe 'loc' pour local
locClientSelectionne
locModeEdition
locMessageErreur
locDonneesFormulaire
// Préfixe 'col' pour collection
colClients
colProduits
colCommandesJour
colParametresApp
Conventions pour les sources
// SharePoint Lists
'Liste Clients'
'Commandes 2024'
'Paramètres Application'
// Dataverse
Contacts
Accounts
CustomEntity
// Connecteurs
Office365Users
OneDriveForBusiness
ExcelOnline
// 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
// Bon - Délégation efficace
Filter(Clients, StartsWith(Nom, txtRecherche.Text))
// Éviter - Non délégable
Filter(Clients, Upper(Nom) = Upper(txtRecherche.Text))
// Structure de gestion d'erreur
If(
IsError(PatchResult),
Set(locMessageErreur, "Erreur lors de la sauvegarde : " &
First(Errors(PatchResult)).Message),
Set(locMessageSucces, "Enregistrement réussi")
)
// Commentaires dans les formules
/*
Fonction : Validation du formulaire client
Auteur : [Nom]
Date : [Date]
Mise à jour : [Date dernière modification]
*/
// 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
// Largeur adaptative
Width: If(Parent.Width > 600, 400, Parent.Width - 40)
// Position centré
X: (Parent.Width - Self.Width) / 2
rolAdministrateur
rolUtilisateur
rolLecteur
rolEditeur
gUtilisateurRole
gPermissionsActuelles
gAccesAutorise
// Mode développement
gModeDebug: true/false
gLogsActive: true/false
gVersionDev: "1.0.0-beta"
// Données de test
colClientsTest
locDonneesTestFormulaire
txtTestRecherche
Checklist de développement