--------------Utilisation de Visual Studio Code en tant qu’éditeur--------------------------- Ouvrez Git Bash. Tapez la commande suivante : git config --global core.editor "code --wait" --------Installation of typeScript----------- npm init -y npm install -g typescript -----about_Execution_Policies------------ -[Open] powerShell - [type] Set-ExecutionPolicy Unrestricted - [Answer] yes -------------typeScript------------------ *extension =>.ts eg: hello.ts compilation: tsc file_name.ts --------------Angular---------------- -install last version of nodejs -install CLI of angular : npm i -g @angular/cli (cli = command line interface) -angular version : ng v create new angular project: -go to the folder you want -type: ng new name_of_project --style=scss --skip-tests=true (--style=scss => we use scss | --skip-tests=true => we do it without tests unitaires) compilation/lanch of the project : ng serve (after the end of the compilation, you got the url for the browser. For each futur modification, while the server is running, it's take in accompte ) creation of component : ng generate component name_of_component | ng g c name_of_component /*************************Add bootstrap on Angular project******************************/ 1 ) install angular: npm install --save bootstrap 2 ) on angular.json : projects->architect->build>styles : add "node_modules/bootstrap/dist/css/bootstrap.min.css", 3 ) on angular.json : projects->architect->build>scripts : add "node_modules/bootstrap/dist/js/bootstrap.js", ---------------------ARCHITECTURE ANGULAR----------------------------- Une application Angular peut être vue comme une arborescence de components Angular is like xml architecture becomes -files are in <> folder -index.html is the main page and should have, in body, only components(presents in sub folder <>) Each component is linking to 3 files : -file.html(template) => les donnees du template proviennent du component -file.ts (component) => declarations des donnees -file.scss (css) Pour utiliser un component dans une application Angular, il faut le déclarer dans un module – AppModule étant le module principal de l'application, tout comme AppComponent est le component principal.

{{title}}

=> {{}} => string interpolation permet de faire appel à la propriete du component dans le template (comme ) => [] attribut binding associe les valeurs des propriétés TypeScript aux attributs de l'élément HTML () permet d'aasocier un evenement au template

{{faceSnap.location}}

*ngif permet d'afficher le paragraphe si faceSnap.location existe

{{faceSnap.location}}

*ngif permet d'afficher le paragraphe si faceSnap.location existe et est egal à <> *ngFor permet d'afficher tous les paragraphes presents dans la liste faceSnaps 🤌 {{faceSnap.snaps}} [ngStyle] permet d'ajouter un style local à un element html
[ngClass] permet d'ajouter une class suivant une condition (ici la class <> est rajoutée si le boolean isSnapped vaut true ) DIRECTIVE ([ngStyle] | [ngClass] | *ngif | *ngFor) est une classe TypeScript qui ajoute du comportement supplémentaire à un élément HTML (qui peut aussi être un component). PIPE (lowercase | titlecase |uppercase |date |number |percent |currency) permet de formater l'affichage d'une donnée sans modifier la donnée sous-jacente

{{ faceSnap.title | lowercase }}

{{ faceSnap.title | uppercas }}

{{ faceSnap.title | titlecase }}

{{ 4346234.36 | number: '1.0-0' }}

=> au moins 1 chiffre pour les entiers et seulement 0 chiffre apres la virgule ( en gros pour arrondir et permet de pas utiliser Math.round())

{{ 4346234.36 | number: '1.0-1' }}

=> au moins 1 chiffre pour les entiers et seulement 1 chiffre apres la virgule

{{ 0.336 | percent }}

=> affiche en pourcent

{{ 0.336 | percent: '1.0-1' }}

=> affiche en pourcent avec seulement 1 chiffre apres la virgule

{{ 344.36 | currency }}

affiche le montant en dollar

{{ 344.36 | currency: 'EUR' }}

affiche le montant en euro

{{ 344.36 | currency: 'EUR' : 'code' }}

affiche le montant en euro mais sans le symbole de l'euro Pour les Single Page Applications (ou SPA), chaque url correspond à un component via le <> Un Observable est un objet qui émet des valeurs au cours du temps