tp2 Web (Angular)
tp2 Web (Angular)
TP2
Enseignant : F. OUESLATI
Objectifs :
- La gestion de versions (Versioning).
- Découvrir le langage TypeScript.
- Premier pas avec Angular.
a- Taper git version sur votre terminal pour vérifier que Git est bien installer sur votre machine.
Télécharger depuis git-scm.com/downloads, sinon.
b- Installer et/ou configurer git
Apres l’installation de Git vous devez renseigner votre nom et votre adresse de courriel.
Notez bien : Il s’agit bien d’une utilisation de base de Git. Pour un niveau plus avancé vous pouvez se
référer a https://www.atlassian.com/git/tutorials/
EGIT :
Sous Eclipse :View -> Show View -> Other -> Git Repository
Choisir:
Vous pouvez également faire (commit ,push, pull, create new branch…) en cliquant sur le bouton droite sur
le projet en choisissant Team.
II. TypeScript :
TypeScript est un sur-ensemble typé de JavaScript qui se compile en JavaScript simple. N'importe quel
navigateur. Tout hôte. N'importe quel OS. Open source.
TypeScript JavaScript
Type Langage interprété Langage compilé
Développer par Netscape Communication, Anders Heilsberg chez
ECMA international ,Mozilla Microsoft
Foundation
Exécution Client Client
Extension .tsx ou .ts .js
Syntaxe Module, fonction, variable, <script>
extension... //javascriptCode
</script>
Un dossier (TypeScriptDemos-master) est fourni avec ce TP, contenant des exemples de codes .ts.
Exécuter des exemples de votre choix.
III. Premier pas avec Angular :
1-Préparation de l’environnement :
App : Le coeur de notre application c’est ce dossier qui contiendra tout le code de notre application.
Package.json : C’est un fichier de configuration NPM. Il contient des configurations Angular. Ces
configurations permettent d’installer les autres packages en relation, en utilisant NPM.
Tsconfig.json : tous les fichiers TypeScript (*.ts) seront compilés et convertis vers des fichiers JavaScript
(*.js). Ce que permet, aux différents navigateurs, de lire ces fichiers. Pour assurer cette action on fait appel au
fichier tsconfig.json.
Index.html : c’est notre page de démarrage. Elle contient les appels vers les components Angular.
2- Les trois fichiers. component.ts, .component.html et .component.css sous le répertoire /components seront
créés.
Exemple : On va créer un composant UserComponent :
ng generate component /component/user
9-Modifier ListuserComponent.ts:
Modifier ListuserComponent.html
<p>listusers works!</p>
<div class="card my-5">
<div class="card-body">
<table class="table table-bordered table-striped">
<thead class="thead-dark">
<tr>
<th scope="col">#</th>
<th scope="col">FirstName</th>
<th scope="col">LasttName</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let User of users">
<td>{{ User.id }}</td>
<td>{{ User.fname }}</td>
<td>{{ User.lname }}</td>
Et dans FormuserComponent.html
<div class="card my-5">
<div class="card-body">
<form (ngSubmit)="onSubmit()" #userForm="ngForm">
<div class="form-group">
<label for="name">FName</label>
<input type="text" [(ngModel)]="User.fname"
class="form-control"
id="fname"
name="fname"
placeholder="Enter your name"
required #name="ngModel">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" [(ngModel)]="User.email"
class="form-control"
id="email"
name="email"
placeholder="Enter your email address"
required #email="ngModel">
<div [hidden]="!email.pristine" class="alert alert-
danger">Email is required</div>
</div>
<button type="submit" [disabled]="!userForm.form.valid"
class="btn btn-info">Submit</button>
</form>
</div>
</div>
12-app.component.html
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card bg-dark my-5">
<div class="card-body">
<h2 class="card-title text-center text-white py-3">{{ title }}</h2>
<ul class="text-center list-inline py-3">
<li class="list-inline-item">
<a routerLink="/users" class="btn btn-info">List Users</a>
</li>
<li class="list-inline-item">
<a routerLink="/addusert" class="btn btn-info">Add User</a>
</li>
</ul>
</div>
</div>
<router-outlet></router-outlet>
</div>
</div>
</div>
Et app.module.ts :
13-Dans app.routing.module
15-run application :