ANGULAR

Angular

Angular is a framework released in September 2016. Adopted by the largest enterprises, this framework offers developers an ecosystem that enables them to create robust, reliable, and easily scalable web applications over the long term, quickly while focusing on business logic.

This training, written by our expert and qualified trainers on the technology (certified Angular Developer Level 2 & 3, Google Developer Expert, and framework contributors), will provide you with comprehensive training tailored to your needs, allowing you to acquire the necessary knowledge (from beginner to complete expertise) to build robust, scalable, and maintainable applications over time.

Libraries (NgRx, NgXs) and testing occupy a large part of the Angular ecosystem, so some modules will be strongly oriented towards these, and all exercises seen during the training will be tested with 100% test coverage.

Participants in this training will be able to pass the Level 1 and Level 2 certification from Angular Training and obtain the associated vouchers through SFEIR.

βœ“ Official training SFEIR InstituteLevel Intermediate⏱️ 4 days (28h)

What you will learn

  • Develop an Angular application
  • Perform tests to ensure long-term maintainability
  • Understand the Angular ecosystem as a whole (external libraries)

Prerequisites

  • Modern Javascript (scope, arrow function, class, 'this' concept, asynchronous programming with promises)
  • Basic knowledge of Typescript (basic typing)
  • Understanding of what an Observable vs a Promise is

Target audience

  • Frontend developers, Full-stack JavaScript / Node.js developers, Web developers interested in developing an Angular application, Anyone interested in developing an Angular application

Training Program

22 modules to master the fundamentals

Course 1 : Discovering a new framework and first hands-on experience with the framework foundations

Topics covered
  • β†’IDE Configuration: Webstorm vs Vscode
  • β†’Global architecture of an Angular application (module, components, module-less architecture)
  • β†’The different bundlers and executors
  • β†’Modern approach to using the CLI
  • β†’CLI basics
Activities

Bootstrap an Angular application

Create your first component using the CLI

Nest components

Topics covered
  • β†’DataBinding (the different types of databindings, difference between property and attribute)
  • β†’Signals and reactivity (understanding Signals and their interest, modifying a Signal, using a Signal)
  • β†’The different lifecycle hooks of a component
  • β†’The different hooks of a component
  • β†’Signal derivation (synchronous derivation, asynchronous derivation)
Activities

Display a person in a card

React to a button click event to display another person randomly

Topics covered
  • β†’Angular's Http client (different ways to register the HttpClient, different methods of the Http client, different possible response types, httpResource when and how to use it)
  • β†’Understanding how to read Marble diagrams
  • β†’Understanding the basic operators of RxJs
Activities

Make a server call to display a person

Make a server call on a button click event

Topics covered
  • β†’Understanding routing (the philosophy of routing in a CSR-type app, the basic configuration of routing in Angular)
  • β†’Configuring a routing
  • β†’Navigating in your application
Activities

Set up a routing system within an Angular application

Navigate by default to a route

Navigate to a specific route

Topics covered
  • β†’Built-in structural directives (ngIf, ngFor, ngSwitch)
  • β†’Angular's new code flow (@if, @for, @switch)
Activities

Using the *ngFor directive to create a view of a list of people

Topics covered
  • β†’Parent - Child Communication (the @Input annotation, annotation configuration, reactive transformation of an Input, making an input required, Input based Signals)
  • β†’Child - Parent Communication (the @Output annotation, emitting data using emit, making an Output fully reactive, Output based Signals)
Activities

Create a customizable component using Input and Output

Course 2 : Towards more advanced concepts of the framework but vital for creating more advanced applications with forms and richer UIs

Topics covered
  • β†’Services in Angular (the @Injectable annotation, different ways to register a service, injecting your service, injection bubbling, injection configuration)
  • β†’How Dependency Injection works in Angular (the role of the Injector, the role of the DI Token, the role of the Provider, different value resolutions for injections)
Activities

Create and use your own service

Perform processing at application initialization

Topics covered
  • β†’Introduction to Pipes (what is a Pipe?, what are they for?, Pure Pipes, Impure Pipes, the different built-in pipes in Angular)
  • β†’Creating your own pipes
Activities

Format a date correctly using the date pipe

Create your own pipe to display a default value when no value exists

Topics covered
  • β†’Introduction to directives (what is a directive, the different types of directives, the different selectors of a directive)
  • β†’Interacting with DOM elements (the ElementRef class, the Renderer class)
Activities

Use the ngSwitch directive

Use the new control flow ngSwitch

Create a directive that displays an icon based on a condition

Topics covered
  • β†’Forms (why forms, the different types of forms)
  • β†’Template driven forms (the FormsModule module, the ngForm / ngModel directives, deep dive into the ngModel code, validation, user feedback on validation errors)
  • β†’Reactive forms (the ReactiveFormsModule module, the FormGroup and FormControl directives, validation, standalone reactive forms)
  • β†’Signal forms (experimental) (declaring and initializing a signal Form, the Field Directive, validation)
  • β†’Custom validation
Activities

Create a person creation form (template driven)

Create a person update form (template driven)

Make forms reactive

Create your own validator

Make forms standalone

Refactoring to Signal Form

Course 3 : Angular expertise concepts

Topics covered
  • β†’Lazy loading (what is lazy loading, what is lazy loading for, how to lazy load a module, the concept of child routes)
  • β†’Guards (what is a guard, what is a guard for, the different guards and their usage)
Activities

Set up lazy loading

Set up a guard

Set up a resolver

Topics covered
  • β†’The Interceptor (what is an Interceptor?, what is an interceptor for?, in which case do we need it?, how to write and register an interceptor)
  • β†’The HTTP context (what is it?, how and when to use it)
Activities

Set up an interceptor

Set up an HTTP cache context

Topics covered
  • β†’Template directives (ng-template, ng-container, ng-content, ngTemplateOutlet, ngComponentOutlet)
  • β†’Template annotations (@ViewChild and @ViewChildren, viewChild and viewChildren Signals, @ContentChild and @ContentChildren, contentChild and contentChildren Signals)
  • β†’Binding annotations (@HostListener, @HostBinding, using the host property of the annotation)
  • β†’Structural directives (what is a structural directive for, the micro syntax of a structural directive, the limits of this syntax)
Activities

Teleport a template

Enhance a directive with an event listener and style binding

Write your first structural directive

Topics covered
  • β†’ControlValueAccessor (what is it?, how to use it?, the different Hooks)
  • β†’NgValidators (what is it?, how to use it?, the different Hooks)
Activities

Create your own form element

Topics covered
  • β†’How a change detection cycle works (in development, in production)
  • β†’The different change detection modes (Default, OnPush)
  • β†’Zoneless
Activities

Demonstration by the instructor

Course 4 : State Management, Testing and advanced topics

Topics covered
  • β†’State management (what is it?, why use it, when to use it)
  • β†’NgRx (the store, the reducer, the actions, the selectors, the effects)
  • β†’NgXs (the store, the actions, the selectors)
Activities

Set up a state with NgRx

Set up a state with NgXs

Topics covered
  • β†’Testing in Angular
  • β†’Testing components
  • β†’Testing services
  • β†’Testing directives
  • β†’Testing pipes
  • β†’Introduction to the Angular testing library
Activities

Unit test an application from end to end

Topics covered
  • β†’What is a PWA?
  • β†’How to integrate the @angular/pwa package
  • β†’Caching strategies from the @angular/pwa package
Topics covered
  • β†’What is server-side rendering?
  • β†’What is prerendering?
  • β†’How to integrate server-side rendering?
  • β†’How to hydrate your Angular application
Topics covered
  • β†’Creating a library in Angular
  • β†’Building your library
  • β†’Asset management in the library
  • β†’Best practices and pitfalls by a maintainer of Ng Zorro
Topics covered
  • β†’Microfrontend Architecture
  • β†’Difference between host and remote
  • β†’Initiating a host
  • β†’Initiating a remote
  • β†’Communication between host and remote
  • β†’Sharing dependencies between host and remote
Topics covered
  • β†’What are Core Web Vitals
  • β†’Lazy loading components at runtime
  • β†’Deferring a part of your view
Activities

Lazy load a modal component

On-demand loading of a part of your view

Quality Process

SFEIR Institute's commitment: an excellence approach to ensure the quality and success of all our training programs. Learn more about our quality approach

Teaching Methods Used
  • Lectures / Theoretical Slides β€” Presentation of concepts using visual aids (PowerPoint, PDF).
  • Technical Demonstration (Demos) β€” The instructor performs a task or procedure while students observe.
  • Guided Labs β€” Guided practical exercises on software, hardware, or technical environments.
Evaluation and Monitoring System

The achievement of training objectives is evaluated at multiple levels to ensure quality:

  • Continuous Knowledge Assessment : Verification of knowledge throughout the training via participatory methods (quizzes, practical exercises, case studies) under instructor supervision.
  • Progress Measurement : Comparative self-assessment system including an initial diagnostic to determine the starting level, followed by a final evaluation to validate skills development.
  • Quality Evaluation : End-of-session satisfaction questionnaire to measure the relevance and effectiveness of the training as perceived by participants.

Upcoming sessions

March 9, 2026
Distanciel β€’ FranΓ§ais
Register
July 6, 2026
Distanciel β€’ FranΓ§ais
Register
November 2, 2026
Distanciel β€’ FranΓ§ais
Register

3,160€ excl. VAT

per learner