Structure des repertoires
Introduction
Nylo Website utilise une structure de repertoires propre et organisee inspiree de Laravel. Cette structure aide a maintenir la coherence entre les projets et facilite la recherche de fichiers.
Repertoire racine
nylo_app/
├── android/ # Android platform files
├── assets/ # Images, fonts, and other assets
├── ios/ # iOS platform files
├── lang/ # Language/translation JSON files
├── lib/ # Dart application code
├── test/ # Test files
├── .env # Environment variables
├── pubspec.yaml # Dependencies and project config
└── ...
Le repertoire lib
Le dossier lib/ contient tout le code Dart de votre application :
lib/
├── app/ # Application logic
├── bootstrap/ # Boot configuration
├── config/ # Configuration files
├── resources/ # UI components
├── routes/ # Route definitions
└── main.dart # Application entry point
app/
Le repertoire app/ contient la logique principale de votre application :
| Repertoire | Objectif |
|---|---|
commands/ |
Commandes Metro CLI personnalisees |
controllers/ |
Controleurs de pages pour la logique metier |
events/ |
Classes d'evenements pour le systeme d'evenements |
forms/ |
Classes de formulaires avec validation |
models/ |
Classes de modeles de donnees |
networking/ |
Services API et configuration reseau |
networking/dio/interceptors/ |
Intercepteurs HTTP Dio |
providers/ |
Fournisseurs de services demarres au lancement de l'application |
services/ |
Classes de services generaux |
bootstrap/
Le repertoire bootstrap/ contient les fichiers qui configurent le demarrage de votre application :
| Fichier | Objectif |
|---|---|
boot.dart |
Configuration de la sequence de demarrage principale |
decoders.dart |
Enregistrement des decodeurs de modeles et d'API |
env.g.dart |
Configuration d'environnement chiffree generee |
events.dart |
Enregistrement des evenements |
extensions.dart |
Extensions personnalisees |
helpers.dart |
Fonctions d'aide personnalisees |
providers.dart |
Enregistrement des fournisseurs |
theme.dart |
Configuration du theme |
config/
Le repertoire config/ contient la configuration de l'application :
| Fichier | Objectif |
|---|---|
app.dart |
Parametres principaux de l'application |
design.dart |
Design de l'application (police, logo, chargeur) |
localization.dart |
Parametres de langue et de localisation |
storage_keys.dart |
Definitions des cles de stockage local |
toast_notification.dart |
Styles de notifications toast |
resources/
Le repertoire resources/ contient les composants d'interface utilisateur :
| Repertoire | Objectif |
|---|---|
pages/ |
Widgets de pages (ecrans) |
themes/ |
Definitions de themes |
themes/light/ |
Couleurs du theme clair |
themes/dark/ |
Couleurs du theme sombre |
widgets/ |
Composants de widgets reutilisables |
widgets/buttons/ |
Widgets de boutons personnalises |
widgets/bottom_sheet_modals/ |
Widgets de feuilles modales inferieures |
routes/
Le repertoire routes/ contient la configuration du routage :
| Fichier/Repertoire | Objectif |
|---|---|
router.dart |
Definitions des routes |
guards/ |
Classes de gardes de routes |
Repertoire des assets
Le repertoire assets/ stocke les fichiers statiques :
assets/
├── app_icon/ # App icon source
├── fonts/ # Custom fonts
└── images/ # Image assets
Enregistrement des assets
Les assets sont enregistres dans pubspec.yaml :
flutter:
assets:
- assets/fonts/
- assets/images/
- assets/app_icon/
- lang/
Helpers pour les assets
Nylo Website fournit des helpers pour travailler avec les assets.
Assets d'images
// Standard Flutter way
Image.asset(
'assets/images/logo.png',
height: 50,
width: 50,
)
// Using LocalAsset widget
LocalAsset.image(
"logo.png",
height: 50,
width: 50,
)
Assets generaux
// Get any asset path
String fontPath = getAsset('fonts/custom.ttf');
// Video example
VideoPlayerController.asset(
getAsset('videos/intro.mp4')
)
Fichiers de langue
Les fichiers de langue sont stockes dans lang/ a la racine du projet :
lang/
├── en.json # English
├── es.json # Spanish
├── fr.json # French
└── ...
Voir Localisation pour plus de details.