-
Notifications
You must be signed in to change notification settings - Fork 17
rules
Nous prenons comme convention le fait que l'on soit dans un module applicatif nommé module. Le nom de la page dans la spécification fonctionnelle est nomDeLaPage.
/module/objet/
ex: - /administration/organisme/ - /administration/utilisateur/
/module/objet/:id
ex: - /administration/utilisateur/:id - /administration/organisme/:id
/module/objet/new
ex: - /administration/organisme/new - /administration/utilisateur/new
Quand il faut faire les mêmes types d'url mais dépendant d'un autre objet, il suffit d'appliquer la même règle en continuant l'url.
- Recherche:
/module/objet/:id/ssobjet
- Detail:
/module/objet/:id/ssobjet/:id
- Exemple: /administration/utilisateur/1/organisme /administration/utilisateur/1/organisme/10
Type d'url | Format | Example |
---|---|---|
Recherche | /module/objet/ |
/administration/organisme/ |
/administration/utilisateur/ | ||
Detail (edit /consult) | /module/objet/:id |
/administration/organisme/1 |
/administration/utilisateur/1 | ||
Detail (creation) | /module/objet/:new |
/administration/organisme/:new |
/administration/utilisateur/:new | ||
Recherche (d'un sous objet) | /module/objet/:id/ssobjet |
/administration/utilisateur/1/organisme |
Detail (d'un sous objet) | /module/objet/:id/ssobjet/:id |
/administration/utilisateur/1/organisme/10 |
Dans le dossier views
, on fait un dossier par écran applicatif.
|_views
|_module
|_nomDeLaPage
nomDeLaPageviewFile.js
|_templates
viewTemplate1.hbs
viewTemplate2.hbs
En général, les types d'écrans proposés dans les applications sont les suivants:
-
Detail d'un objet => Il faut donc ajouter le suffixe Detail au nom du fier de la vue. Ce type d'écran est un formulaire avec des champs éditables du type : nom, prénom, email, ...
-
Liste d'objet objet => Il faut donc ajouter le suffixe List au nom du fier de la vue. Ce type d'écran est l'affichage et la modification d'une liste: Liste de contact avec des possibilité d'ajouter, supprimer, modifier des éléments.
-
Composition de plusieurs sous vues => Il faut donc ajouter le suffixe Composite au nom du fichier de la vue principale.Il arrive que certains écrans présentent à la fois une liste, un détail ou plusieurs. Afin de simplifier les développements, nous utilisons un pattern de type composite.
-
Des écrans de Recherche => On ajoute le suffixe Criteria et Result aux écrans de recherche.
Le nom du fichier principale de la vue est le suivant: /module/{nomDeLaPage}/{nomDeLaPage}Detail.js
On aura donc par exemple l'organisation suivante pour un écran de détail:
ex:
|_views
|_module
|_organismePrincipal
_organismePrincipalDetail.js
|_templates
_organismePrincipalConsult.hbs //Template pour le mode consultation
_organismePrincipalEdit.hbs // Template pour le mode édition
Le nom du fichier principale de la vue est le suivant:/module/{nomDeLaPage}/{nomDeLaPage}List.js
On aura donc par exemple l'organisation suivante pour un écran de type liste:
ex:
|_views
|_module
|_organismePrincipalList
organismePrincipalList.js
|_templates
organismePrincipalList.hbs
Dans le cas où on a une vue par ligne de la liste (lorsqu'il y a des besoins d'édition).
ex:
|_views
|_module
|_organismePrincipalList
organismePrincipalList.js
organismePrincipalDetail.js
|_templates
organismePrincipalList.hbs
organismePrincipalConsult.js
organismePrincipalEdit.js
Le nom du fichier principale de la vue est le suivant:/module/{nomDeLaPage}/{nomDeLaPage}Composite.js
- Les sous vues:
/module/{nomDeLaPage}/{nomDeLaPage}{fonction1}Detail.js
et/module/{nomDeLaPage}/{nomDeLaPage}{fonction2}List.js
ex:
|_views
|_module
|_utilisateurLambda
utilisateurLambdaComposite.js
utilisateurLambdaIdentificationDetail.js
utilisateurLambdaOrganismeList.js
|_templates
utilisateurLambda.hbs
utilisateurLambdaIdentificationConsult.js
utilisateurLambdaIdentificationEdit.js
utilisateurLambdaOrganismeList.js
Le nom du fichier principale de la vue est le suivant:/module/{nomDeLaPage}/{nomDeLaPage}Criteria.js
Les résultats sont souvent dans une vue secondaire:/module/{nomDeLaPage}/{nomDeLaPage}Result.js
ex:
|_views
|_module
|_utilisateurRecherche
utilisateurRechercheCriteria.js
utilisateurRechercheResult.js
|_templates
utilisateurRechercheCriteria.hbs
utilisateurRechercheResult.hbs
Dans le dossier services
, chaque service est nommé de la manière suivante: {fonction}Service.
Le service doit avoir le même nom côté navigateur et côté serveur.
ex:
- organismeService
- utilisateurService
- referenceService
- securityService
- accueilService
- synchronisationService
Le routeur tire son nom du module applicatif:
{module}Router`
ex:
- administrationRouter
- diagnosticRouter
Dans le dossier models
- Les modèles Backbone:
/module/{nomDeLaPage}/{nomDeLaPage}
- Les collections Backbone:
/module/{nomDeLaPage}/{nomDeLaPage}List
ex: - organisme - organismeList - utilisateurIdentification - utilisateurOrganismeList Voici par exemple les modèles que nous aurions générés pour chacune des vues mentionnées dans les règles.
- L'écran organismePrincipal est un écran de type detail
- L'écran organismePrincipalList est un écran de liste.
- L'écran utilisateurLambda est un écran Composite
- L'écran utilisateurRecherche est un écran de type recherche.
ex:
|_models
|module
|_organismePrincipal
organismePrincipal.js
|__organismePrincipalList
organismePrincipal.js
organismePrincipalList.js
|_utilisateurLambda
utilisateurLambda.js
utilisateurLambdaIdentification.js
utilisateurLambdaOrganisme.js
utilisateurLambdaOrganismeList
|_utilisateurRecherche
utilisateurRechercheCriteria.js
utilisateurRechercheResultat.js
utilisateurRechercheResultatList.js
Dans le dossier config/url
{fonction}.js
ex:
- organisme.js
- utilisateur.js
- login.js
- accueil.js
- parametre.js