----
===== 8. Constantes et Énumérations =====
Constantes globales :
**UPPER_SNAKE_CASE**
export const MAX_FILE_SIZE = 5000;
Enums :
* nom en **PascalCase**
* valeurs en **PascalCase** ou **UPPER_SNAKE_CASE**
export enum UserRole {
Admin,
Member,
Guest
}
----
===== 9. Organisation des dossiers =====
Structure recommandée :
src/app/
core/
services globaux
guards
interceptors
shared/
composants réutilisables
pipes
directives
features/
modules métier
features/user/
user.component.ts
user.service.ts
user.store.ts
user.model.ts
Principes :
* **core** → singleton global
* **shared** → réutilisable
* **features** → logique métier
----
===== 10. Recommandations additionnelles =====
Interfaces :
* **ne pas utiliser le préfixe "I"**
Correct :
User
Account
Invoice
Incorrect :
IUser
IAccount
Services :
Nommer selon **la responsabilité métier**
Correct :
AuthService
StorageService
NotificationService
Incorrect :
DataService
HelperService
UtilsService
----
===== 11. Bonnes pratiques générales =====
* un fichier = **une classe principale**
* éviter les fichiers trop longs (>500 lignes)
* privilégier les **composants petits et spécialisés**
* éviter la logique métier dans les composants → préférer les **services ou stores**