SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
LES RÈGLES DE DÉVELOPPEMENT
ANGULAR
version 1.0
Ben Khalfallah Héla
NOMENCLATURE
les noms des fichiers html : kebab-case ou all-lower-case-
dash.
Exemples : user-comment-list, community-item, user-my-
wishlist.
https://github.com/rangle/angular2-guidelines
2
NOMENCLATURE
les noms des variables css : kebab-case ou all-lower-case-dash.
Examples : category-header-title, toolbar-title, myspace-item-icon, myspace-item-title.
➤ Le css adopte cette règle : tous les attributs et les valeurs css sont de la forme :
margin-left, margin-top, background-color, inline-block, …
https://github.com/rangle/angular2-guidelines
3
http://getbem.com/introduction/
https://www.w3.org/TR/css3-selectors/#sequence
NOMENCLATURE
les noms des classes Typescript : UpperCamelCase (la
première lettre du mot en majuscule).
pour avoir le nom des fichiers Typescript en UpperCamelCase,
il faut séparé les mots par “-“ lors de la génération :
ng g component user-wish-list => UserWishList
https://github.com/rangle/angular2-guidelines
4
UpperCamelCase : ApplicationAddReviewComponent
NOMENCLATURE
les noms des attributs dans une classe ou model :
lowerCamelCase :
le premier mot du nom est en minuscule.
les autres mots du nom commencent par une majuscule.
https://github.com/rangle/angular2-guidelines
5
lowerCamelCase : categoryIcon
NOMENCLATURE
les constantes: UpperCamelCase et statique :
https://github.com/rangle/angular2-guidelines
6
NOMENCLATURE
les noms des méthodes ou fonctions: lowerCamelCase.
https://github.com/rangle/angular2-guidelines
7
TEST DU RESPONSIVE
8
Outils de vérification du responsive
http://quirktools.com/screenfly/#u=http%3A//localhost%3A4200/&w=360&h=640&a=39
http://ami.responsivedesign.is/#
http://www.isresponsive.com/Tester?site=http://localhost:4200/
Breakpoints cibles :
Nous devons avoir deux versions pour ne pas alourdir le code avec des if et
des cas particuliers :
- une version pour les desktops, les iPads & les tablettes.
- une version mobile.
RÈGLES GÉNÉRALES
Typescript est une language orienté objet.
Les noms des classes, variables et attributs doivent être
significatifs: le nom suffit pour connaitre le rôle et
l’emplacement.
Il faut mettre des commentaires dans le code typescript avant chaque
méthode, dans le code html et dans le code css.
Les commentaires sont très importants pour expliquer ce que fait
une fonction sans avoir besoin de comprendre le code.
Les urls sont déclarés comme constantes (statiques) une et une seule
fois (mise à jour simple).
➤ Chaque string utilisée dans le html, doit obligatoirement passée par
“translate” même si elle a la même valeur dans toutes les languages
pour éviter le retard perdu dans les retours de vérifications.
9
RÈGLES GÉNÉRALES
➤ Chaque composant html doit avoir son propre mise en forme css pour :
éviter les cas comme changer la mise en forme d’un élément entraine le changement non voulue d’un
autre.
automatiser la mise en forme.
séparation entre développement et mise en forme : si nous donnons le ficher css à un intégrateur web
ou designer il peut modifier la mise en forme sans risquer l’application et les parties déjà stabilisées.
10
RÈGLES GÉNÉRALES
➤ Privilégier le module au component si le module est réutilisable par
d’autres applications : automatisation via npm.
➤ Le Typescript est un language orienté objet : veuillez respecter les
règles principales d’orienté objet :
Séparation du contexte : séparation des couches : UI séparé des
services et des providers.
Single responsability principle: une classe doit effectuée un seul rôle.
Par exemple une classe rest-services qui effectue le chargement des
famous, recipes et drinks doit être décomposée en 3 classes.
Open Closed Principle : “you should be able to extend the behavior
of your a system without having to modify it”. Nous devons écrire un
code qui ne doit pas être changé chaque fois que les conditions
changent (fichier constante, settings séparé du code).
11

Contenu connexe

Tendances

Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Introduction à la Recherche d'information
Introduction à la Recherche d'informationIntroduction à la Recherche d'information
Introduction à la Recherche d'informationSaïd Radhouani
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation webMOHAMMED MOURADI
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 

Tendances (20)

Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
Sgbdr merise
Sgbdr meriseSgbdr merise
Sgbdr merise
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Cassandra
CassandraCassandra
Cassandra
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Introduction à la Recherche d'information
Introduction à la Recherche d'informationIntroduction à la Recherche d'information
Introduction à la Recherche d'information
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 

Similaire à Les règles de développement Angular

Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Sylvain Leroy
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves Van Goethem
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf4gnzggpfdw
 
seance3-1 CSS.ppt
seance3-1 CSS.pptseance3-1 CSS.ppt
seance3-1 CSS.pptAmineReal
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxSamirAwad14
 
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...ssuser1a62e1
 
Langage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersLangage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersFrédéric Simonet
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_baseskitsformation
 
Ilearn 2008 Competences en mouvement
Ilearn 2008 Competences en mouvementIlearn 2008 Competences en mouvement
Ilearn 2008 Competences en mouvementYves Otis
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptRihabBENLAMINE
 
Chapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfChapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfYassineZARIOUH
 
Chapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfChapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfYassineZARIOUH
 

Similaire à Les règles de développement Angular (20)

Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf
 
Atelier template
Atelier templateAtelier template
Atelier template
 
seance3-1 CSS.ppt
seance3-1 CSS.pptseance3-1 CSS.ppt
seance3-1 CSS.ppt
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Css
CssCss
Css
 
js.pdf
js.pdfjs.pdf
js.pdf
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptx
 
Langage HTML
Langage HTMLLangage HTML
Langage HTML
 
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...
INITITIATION_AU_DEVELOPPEMENT_WEB_ET_PRESENTATION_DES_DIFFERENTES_SOLUTIONS_P...
 
Langage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersLangage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliers
 
Angular 11
Angular 11Angular 11
Angular 11
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_bases
 
Ilearn 2008 Competences en mouvement
Ilearn 2008 Competences en mouvementIlearn 2008 Competences en mouvement
Ilearn 2008 Competences en mouvement
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.ppt
 
Chapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfChapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdf
 
Chapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdfChapitre 2_CSS_complet_Version1.pdf
Chapitre 2_CSS_complet_Version1.pdf
 

Plus de Héla Ben Khalfallah (13)

DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
 
CSS selectors
CSS selectorsCSS selectors
CSS selectors
 
Yo messapp
Yo messappYo messapp
Yo messapp
 
Elixir cheatsheet
Elixir cheatsheetElixir cheatsheet
Elixir cheatsheet
 
Elixir in a nutshell - Fundamental Concepts
Elixir in a nutshell - Fundamental ConceptsElixir in a nutshell - Fundamental Concepts
Elixir in a nutshell - Fundamental Concepts
 
Elixir in a nutshell - Ecosystem (session 1)
Elixir in a nutshell - Ecosystem (session 1)Elixir in a nutshell - Ecosystem (session 1)
Elixir in a nutshell - Ecosystem (session 1)
 
FP Using ES6+ (Cheat Sheet)
FP Using ES6+ (Cheat Sheet)FP Using ES6+ (Cheat Sheet)
FP Using ES6+ (Cheat Sheet)
 
WONC DOVA
WONC DOVAWONC DOVA
WONC DOVA
 
Process & Methodologies (1.2)
Process & Methodologies (1.2)Process & Methodologies (1.2)
Process & Methodologies (1.2)
 
Process & Methodologies (1.1)
Process & Methodologies (1.1)Process & Methodologies (1.1)
Process & Methodologies (1.1)
 
Process & Methodologies (1.0)
Process & Methodologies (1.0)Process & Methodologies (1.0)
Process & Methodologies (1.0)
 
La gestion en boucle fermée
La gestion en boucle ferméeLa gestion en boucle fermée
La gestion en boucle fermée
 
Architecture ASIS (iOS)
Architecture ASIS (iOS)Architecture ASIS (iOS)
Architecture ASIS (iOS)
 

Les règles de développement Angular

  • 1. LES RÈGLES DE DÉVELOPPEMENT ANGULAR version 1.0 Ben Khalfallah Héla
  • 2. NOMENCLATURE les noms des fichiers html : kebab-case ou all-lower-case- dash. Exemples : user-comment-list, community-item, user-my- wishlist. https://github.com/rangle/angular2-guidelines 2
  • 3. NOMENCLATURE les noms des variables css : kebab-case ou all-lower-case-dash. Examples : category-header-title, toolbar-title, myspace-item-icon, myspace-item-title. ➤ Le css adopte cette règle : tous les attributs et les valeurs css sont de la forme : margin-left, margin-top, background-color, inline-block, … https://github.com/rangle/angular2-guidelines 3 http://getbem.com/introduction/ https://www.w3.org/TR/css3-selectors/#sequence
  • 4. NOMENCLATURE les noms des classes Typescript : UpperCamelCase (la première lettre du mot en majuscule). pour avoir le nom des fichiers Typescript en UpperCamelCase, il faut séparé les mots par “-“ lors de la génération : ng g component user-wish-list => UserWishList https://github.com/rangle/angular2-guidelines 4 UpperCamelCase : ApplicationAddReviewComponent
  • 5. NOMENCLATURE les noms des attributs dans une classe ou model : lowerCamelCase : le premier mot du nom est en minuscule. les autres mots du nom commencent par une majuscule. https://github.com/rangle/angular2-guidelines 5 lowerCamelCase : categoryIcon
  • 6. NOMENCLATURE les constantes: UpperCamelCase et statique : https://github.com/rangle/angular2-guidelines 6
  • 7. NOMENCLATURE les noms des méthodes ou fonctions: lowerCamelCase. https://github.com/rangle/angular2-guidelines 7
  • 8. TEST DU RESPONSIVE 8 Outils de vérification du responsive http://quirktools.com/screenfly/#u=http%3A//localhost%3A4200/&w=360&h=640&a=39 http://ami.responsivedesign.is/# http://www.isresponsive.com/Tester?site=http://localhost:4200/ Breakpoints cibles : Nous devons avoir deux versions pour ne pas alourdir le code avec des if et des cas particuliers : - une version pour les desktops, les iPads & les tablettes. - une version mobile.
  • 9. RÈGLES GÉNÉRALES Typescript est une language orienté objet. Les noms des classes, variables et attributs doivent être significatifs: le nom suffit pour connaitre le rôle et l’emplacement. Il faut mettre des commentaires dans le code typescript avant chaque méthode, dans le code html et dans le code css. Les commentaires sont très importants pour expliquer ce que fait une fonction sans avoir besoin de comprendre le code. Les urls sont déclarés comme constantes (statiques) une et une seule fois (mise à jour simple). ➤ Chaque string utilisée dans le html, doit obligatoirement passée par “translate” même si elle a la même valeur dans toutes les languages pour éviter le retard perdu dans les retours de vérifications. 9
  • 10. RÈGLES GÉNÉRALES ➤ Chaque composant html doit avoir son propre mise en forme css pour : éviter les cas comme changer la mise en forme d’un élément entraine le changement non voulue d’un autre. automatiser la mise en forme. séparation entre développement et mise en forme : si nous donnons le ficher css à un intégrateur web ou designer il peut modifier la mise en forme sans risquer l’application et les parties déjà stabilisées. 10
  • 11. RÈGLES GÉNÉRALES ➤ Privilégier le module au component si le module est réutilisable par d’autres applications : automatisation via npm. ➤ Le Typescript est un language orienté objet : veuillez respecter les règles principales d’orienté objet : Séparation du contexte : séparation des couches : UI séparé des services et des providers. Single responsability principle: une classe doit effectuée un seul rôle. Par exemple une classe rest-services qui effectue le chargement des famous, recipes et drinks doit être décomposée en 3 classes. Open Closed Principle : “you should be able to extend the behavior of your a system without having to modify it”. Nous devons écrire un code qui ne doit pas être changé chaque fois que les conditions changent (fichier constante, settings séparé du code). 11