Skip to content
pierr edited this page Oct 24, 2014 · 2 revisions

Convention de nommage pour les URL, vues, models, routeurs

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.

Ecriture des Url

Recherche / List:

/module/objet/

ex: - /administration/organisme/ - /administration/utilisateur/

Détail (consultation/édition):

/module/objet/:id

ex: - /administration/utilisateur/:id - /administration/organisme/:id

Détail (création) :

/module/objet/new

ex: - /administration/organisme/new - /administration/utilisateur/new

Gestion des sous objets

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

Recap

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

Organisation des pages pour réaliser un écran

Organisation

Dans le dossier views, on fait un dossier par écran applicatif.

|_views
	|_module
		|_nomDeLaPage
			nomDeLaPageviewFile.js
			|_templates
				viewTemplate1.hbs
				viewTemplate2.hbs

Typologie d'écrans

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.

Exemples

Detail

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

Liste

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

Composite

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

Recherche

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	

Nommage des services

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

Nommage des routeurs

Le routeur tire son nom du module applicatif: {module}Router`

ex:
	- administrationRouter
	- diagnosticRouter

Nommage des modèles

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

Nommage des fichiers de URL

Dans le dossier config/url

{fonction}.js

ex:
	- organisme.js
	- utilisateur.js
	- login.js
	- accueil.js
	- parametre.js
Clone this wiki locally