Angular Ts
Angular Ts
Angular Ts
Cours Angular
Qu'est-ce qu'Angular ?
Angular est un framework de développement d’applications web modernes,
particulièrement utilisé pour créer des applications Single Page Applications (SPA).
• SPA signifie qu’une seule page HTML est servie et les contenus sont
actualisés dynamiquement sans recharger toute la page. Cela permet une
expérience utilisateur fluide, similaire à une application mobile.
• TypeScript est un langage de programmation qui s’appuie sur JavaScript en
ajoutant des fonctionnalités comme les types statiques. Angular utilise
TypeScript, car il améliore la maintenabilité du code et permet d’éviter
certains bugs courants.
• MVVM est un modèle d'architecture où :
o Model : Représente les données et la logique de gestion.
o View : L'interface utilisateur qui affiche les données.
o ViewModel : Lie la logique de l'application à la vue.
Dans Angular, tout projet est organisé autour de trois éléments principaux :
• Modules : Un module regroupe plusieurs composants, services, directives, etc. Le module
principal est souvent appelé AppModule et se trouve dans app.module.ts. D’autres modules
peuvent être créés pour organiser le projet de manière plus logique.
• Composants : Ce sont les blocs de construction de l’interface utilisateur. Un composant est
constitué de :
o Un template HTML (vue).
o Un fichier CSS ou SCSS (style).
o Un fichier TypeScript (logique).
• Services : Ils sont utilisés pour centraliser la logique métier et partager des données entre
plusieurs composants. Les services sont particulièrement utiles pour les appels API, la gestion
de l’état, ou la logique complexe.
Architecture MVC
Exemple de contenu d'un composant :
import { Component } from '@angular/core';
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css']
})
export class ExampleComponent {
title = 'Mon premier composant';
}
• selector : Le sélecteur HTML que vous utiliserez dans votre application (<app-example></app-
example>).
• templateUrl et styleUrls : Lien vers les fichiers HTML et CSS du composant.
• title : Une propriété du composant, utilisée dans le fichier HTML via l'interpolation.
Angular propose plusieurs méthodes pour lier les données entre le modèle (TypeScript) et la
vue (HTML).
• Interpolation ({{ variable }}) : Permet d’afficher les données du composant dans la vue.
• Property Binding ([property]="expression") : Permet de lier une propriété d’un élément HTML
à une variable.
<img [src]="imageUrl">
• Event Binding ((event)="function()") : Permet de lier des événements DOM (comme un clic) à
une méthode du composant.
<button (click)="onClick()">Cliquez-moi</button>
<input [(ngModel)]="name">
Directives Angular
<ul>
</ul>
Les propriétés d’entrée (ou input properties) permettent à un composant enfant de recevoir des
données d'un composant parent.
Fonctionnement
• Un composant parent transmet des données à un composant enfant en utilisant une liaison
de propriétés.
• Dans le composant enfant, une propriété est marquée avec le décorateur @Input, ce qui
signifie que cette propriété peut être remplie avec des valeurs venant de l'extérieur,
généralement du parent.
Étapes :
1. Dans le composant enfant, vous définissez une propriété avec le décorateur @Input.
2. Dans le template du composant parent, vous transmettez une valeur au composant enfant
via la propriété définie.
Les propriétés de sortie (ou output properties) permettent à un composant enfant d'envoyer des
événements au composant parent, souvent en réaction à une action utilisateur (comme un clic sur un
bouton).
Fonctionnement
• Un composant enfant peut émettre un événement pour informer son parent qu'une action a
eu lieu (par exemple, qu'un bouton a été cliqué).
Étapes :
1. Dans le composant enfant, vous créez une propriété de type EventEmitter marquée avec
@Output.
2. Dans le composant parent, vous écoutez cet événement via la syntaxe de liaison
d’événements (event).
Architecture MVC
Les services sont des classes qui contiennent des fonctionnalités réutilisables dans
plusieurs composants. Ils sont souvent utilisés pour gérer des données ou effectuer des appels
API.
Pour créer des liens de navigation, vous utilisez l'attribut routerLink dans vos templates HTML.
<nav>
<a routerLink="/home">Accueil</a>
</nav>
<router-outlet></router-outlet>
1. Formulaires basés sur le template : Ils sont simples à utiliser et dépendent fortement
du HTML.
2. Formulaires réactifs : Ils sont plus puissants et utilisent des objets JavaScript pour
gérer la validation et les données des formulaires.
<label for="nom">Nom</label>
<label for="email">Email</label>
</form>
Formulaires réactifs
ngOnInit(): void {
this.loadData();
console.log(changes);
ngDoCheck(): void {
ngAfterContentInit(): void {
}
Architecture MVC
ngAfterContentChecked(): void {
ngAfterViewInit(): void {
ngAfterViewChecked(): void {
ngOnDestroy(): void {
}
Architecture MVC
API REST
Angular utilise HttpClient pour communiquer avec des APIs. Vous pouvez envoyer des
requêtes HTTP et récupérer des données en JSON, les transformer et les afficher dans vos
composants.
Pour utiliser HttpClient, vous devez l’importer dans votre module principal.
@NgModule({
imports: [HttpClientModule],
})
HttpClient : Utiliser le service HttpClient d'Angular pour effectuer des requêtes HTTP
(GET, POST, PUT, DELETE).
Une fois que vous avez terminé de développer votre application, vous pouvez la compiler et la
déployer sur un serveur web.
déploiement :
ng build --prod