NEW
Font size
WorksheetsExamen d'Angular QCM (60 exercices)
Total questions: 59
Worksheet time: 1hrs 29mins
Quelle est l’architecture principale utilisée par Angular ?
MVC
MVVM
Architecture basée sur les composants
Architecture monolithique
Quel langage est utilisé par Angular pour le développement principal ?
Java
JavaScript
TypeScript
Python
Quel fichier est le point d’entrée principal d’une application Angular ?
index.html
main.ts
app.component.ts
angular.json
À quoi sert un composant Angular ?
À gérer la base de données
À afficher et gérer une partie de l’interface utilisateur
À compiler le code
À configurer le serveur
Quel décorateur permet de définir un composant ?
@NgModule
@Injectable
@Component
@Directive
Quel fichier contient la vue HTML d'un composant ?
.ts
.css
.html
.json
Quelle directive permet de faire une boucle dans un template ?
ngIf
ngSwitch
ngFor
ngModel
Quelle directive permet d’afficher ou masquer un élément selon une condition ?
ngFor
ngIf
ngSwitchCase
ngModel
Quel symbole est utilisé pour l’interpolation ?
[[]]
{{ }}
()
[]
Le data binding à sens unique (One-way binding) permet :
Une synchronisation bidirectionnelle
Une communication du composant vers la vue uniquement
Une communication de la vue vers le composant uniquement
Une communication serveur-client
Quelle syntaxe correspond au property binding ?
(click)="action()"
{{ value }}
[property]="value"
[ngModel]="value"
Quelle syntaxe correspond à l’event binding ?
[value]="x"
(event)="method()"
{{ x }}
[(ngModel)]="x"
Quelle directive permet le two-way binding ?
ngIf
ngFor
ngModel
ngClass
Quelle est la syntaxe du two-way binding ?
{{ value }}
[value]="x"
(value)="x"
[(ngModel)]="x"
À quoi sert un service Angular ?
À créer des composants
À partager la logique métier et les données
À gérer le HTML
À compiler l'application
Quel décorateur permet de définir un service ?
@Component
@Directive
@Injectable
@NgModule
Qu’est-ce que l’injection de dépendances ?
Une boucle automatique
Un mécanisme pour fournir des services aux composants
Une directive structurelle
Une fonctionnalité Firebase
Où peut-on fournir un service globalement ?
Dans le composant
Dans le template HTML
Dans @Injectable({ providedIn: 'root' })
Dans index.html
Angular utilise quel type de compilation ?
Interprétée
Compilation côté serveur
AOT et JIT
Compilation Python
Firebase est principalement utilisé pour :
Le design UI
Le versioning Git
Backend-as-a-Service (authentification, base de données)
Compiler Angular
Quel module Angular est nécessaire pour utiliser ngModel ?
HttpClientModule
BrowserModule
FormsModule
ReactiveFormsModule
Quel type de base de données propose Firebase ?
SQL
NoSQL
XML
CSV
Quel outil permet de créer un projet Angular ?
npm start
angular-cli
ng new
node init
Quel fichier contient la configuration globale du projet Angular ?
package.json
angular.json
tsconfig.json
main.ts
Quel est le rôle de tsconfig.json ?
Gérer le HTML
Configurer TypeScript
Gérer les services
Lancer Firebase
Quel type de directive modifie la structure du DOM ?
Directive d'attribut
Directive structurelle
Service
Pipe
Quelle directive est une directive d'attribut ?
ngIf
ngFor
ngClass
*ngSwitch
Quelle commande lance le serveur Angular ?
npm run build
ng serve
ng build serve
npm start angular
Quel hook est appelé lors de l'initialisation d’un composant ?
ngOnDestroy
ngAfterViewInit
ngOnInit
ngOnChanges
Angular est principalement utilisé pour :
Le backend
Les applications mobiles natives
Les applications web SPA
Les scripts système
Quel est le problème dans ce code ?
<p *ngFor="let item of items">{{item}}</p>
items doit être une string
ngFor est mal orthographié
items doit être un tableau
Interpolation incorrecte
Erreur dans ce composant :
@Component({
selector: 'app-test'
})
export class TestComponent {}
Il manque templateUrl ou template
selector est incorrect
export est interdit
Classe mal nommée
Quel est le problème ?
<input [(ngModel)]="name">
ngModel interdit
FormsModule non importé
name doit être une fonction
Syntaxe incorrecte
Quelle est l'erreur ?
<button (click)="save">Save</button>
click incorrect
save doit être une propriété
save doit être appelée avec ()
button interdit
Quel est le problème du service ci-dessous?
export class DataService {}
Il manque @Component
Il manque @Injectable
export interdit
Classe mal nommée
Erreur dans ce code :
{{ user.name }}
Mauvaise interpolation
user doit être public dans le composant
name interdit
HTML invalide
Quelle ligne manque ?
constructor(private service: DataService) {}
import DataService
export service
new DataService()
extends DataService
Interpretez la syntaxe ci-dessous.
<li *ngFor="item in items">{{item}}</li>
la boucle est correcte
Mauvaise syntaxe
items interdit
li incorrect
Quel est le problème ?
this.count = '10';
count doit être private
Type incorrect si count est number
Syntaxe invalide
Affectation interdite
Code incorrect car :
<img src="{{imageUrl}}">
Interpolation interdite
Utiliser [src]="imageUrl" est recommandé
imageUrl doit être number
img interdit
Problème dans ce module :
BrowserModule interdit
FormsModule manquant pour ngModel
HttpClientModule interdit
Syntaxe invalide
Quelle est l'erreur ?
ngOnInit() { console.log('init') }
ngOnInit interdit
Il faut implémenter OnInit
console.log interdit
Mauvaise syntaxe
Code Firebase incorrect car : initializeApp = firebaseConfig;
Mauvaise affectation
Mauvais appel de fonction initializeApp(firebaseConfig)
firebaseConfig interdit
Syntaxe valide
Problème dans le template :
<p *ngIf="age">Age</p>
ngIf interdit
age doit être booléen
p interdit
Mauvaise interpolation
Quelle est l'erreur ?
@Input name: string;
Mauvaise syntaxe
Il manque les parenthèses @Input()
name interdit
string interdit
Problème TypeScript :
let user;
user interdit
Type any implicite (mauvaise pratique)
Syntaxe invalide
let interdit
Erreur dans ce service :
@Injectable()
export class ApiService {}
Injectable interdit
providedIn manquant (recommandé)
export interdit
Classe incorrecte
Interpréter la syntaxe ci-dessous:
<p>{{ montant + 'MRU' }}</p>
Interpolation interdite
Expression valide (pas d'erreur)
total doit être string
HTML invalide
Problème dans ce code :
this.users.push(user)
push interdit
users doit être un tableau
Syntaxe invalide
user interdit
Interpréter la syntaxe ci-dessous:
<div *ngIf="isLoggedIn = true">OK</div>
A. Affectation au lieu de comparaison
B. ngIf interdit
C. true interdit
D. HTML invalide
Interpréter la syntaxe ci-dessous:
<input [ngModel]="name">
Mauvais binding
name interdit
Syntaxe valide
FormsModule inutile
Erreur dans ce composant :
selector: 'app Test'
Espace interdit dans le selector
selector interdit
Mauvais type
Syntaxe valide
Problème TypeScript :
function test() {}
Fonction interdite
Doit être dans une classe composant (contexte Angular)
Syntaxe invalide
test interdit
Erreur Firebase :
auth.signIn(email, password)
Méthode inexistante (utiliser signInWithEmailAndPassword)
auth interdit
email interdit
Syntaxe valide
Code incorrect car :
<p *ngFor="let i = 0; i < items.length; i++">{{i}}</p>
ngFor n'accepte pas cette syntaxe
items interdit
i interdit
HTML invalide
Problème dans ce code :
this.title = undefined;
undefined interdit
Mauvaise pratique si title est string non optionnel
Syntaxe invalide
Affectation interdite
Erreur Angular :
<p [value]="name">Test</p>
value n'est pas une propriété valide pour
Syntaxe invalide
name interdit
HTML valide
Problème d'injection :
constructor(service: DataService) {}
Manque private/public pour l'injection automatique
Syntaxe invalide
DataService interdit
constructor interdit
Code Angular incorrect car :
@Component({})
export class AppComponent {}
Objet vide interdit (au moins selector + template requis)
export interdit
Component interdit
Classe incorrecte
