Typed Forms : 4 pièges qui corrompent tes payloads et ton typage
19 août 2026
Ton PATCH part en prod sans le champ role. disabled, null, Partial et get() : 4 pièges des Typed Forms, et le cast qui les masque tous.
40 articles du blog EasyAngularKit sur Bonnes pratiques.
19 août 2026
Ton PATCH part en prod sans le champ role. disabled, null, Partial et get() : 4 pièges des Typed Forms, et le cast qui les masque tous.
10 août 2026
Rapport de couverture à l'appui : ce que 23 tests couvrent vraiment sur une app Angular, et pourquoi viser un pourcentage est une mauvaise idée.
10 août 2026
Tes tests Angular se noient dans les querySelector ? Le Page Model sépare le comment du quoi. Anatomie, montée en puissance progressive et pièges à éviter.
10 août 2026
Page blanche, aucun composant, aucun test. Le premier cycle RED-GREEN-REFACTOR pas à pas en Angular zoneless avec Vitest, et les erreurs à éviter.
10 août 2026
Une suite Angular de 23 tests avec un seul mock. Pourquoi le fake bat le mock presque partout, et le seul cas qui justifie vraiment un spy.
10 août 2026
Un test n'est pas un acquis définitif. Les cinq cas où le supprimer est la bonne décision, le seul cas où c'est de la triche, et comment faire la différence.
10 août 2026
inject() marche dans onInit et plante dans onDestroy. Le mécanisme derrière cette asymétrie, les deux formes de withHooks, et quand le hook tourne vraiment.
7 août 2026
Pourquoi disabled="false" désactive quand même ton bouton, et comment brancher booleanAttribute et numberAttribute sur tes signal inputs Angular.
27 juillet 2026
Tu exposes ton state en readonly typé Signal<T> et ça a l'air propre. Un cast d'une ligne rouvre .set(). Ce que asReadonly() verrouille vraiment.
26 juillet 2026
Ce que ton enum TypeScript émet en JavaScript, les pièges de réordonnancement et de reverse mapping, et les 3 patterns d'union de littéraux qui le remplacent.
26 juillet 2026
Ton computed() qui trie réécrit sa propre source, et rien dans le type ne l'en empêche. readonly, as const, et pourquoi DeepReadonly casse sur une Date.
26 juillet 2026
Ton type d'état a quatre champs optionnels, donc seize combinaisons dont la plupart n'ont aucun sens. Union discriminée : narrowing et 4 pièges du discriminant.
24 juillet 2026
Avec les signals partout, markForCheck() ressemble à un fossile. Presque : les 4 patterns où tu peux le supprimer, et le cas où il reste obligatoire.
22 juillet 2026
Tu passes ta propriété en signal, ton @HostBinding reste figé, sans erreur ni warning. Le silent bug, le workaround par getter, et la forme host: {}.
20 juillet 2026
Migrer EventEmitter vers output() casse tes pipes RxJS : les 5 pièges de outputFromObservable et outputToObservable, et ce qu'il faut changer à la source.
17 juillet 2026
Tu appelles set() avec un nouvel objet, ton composant ne bouge pas. Ou pire : tu appelles set() avec la même valeur, et Angular re-render quand même. La fonction equal des signals est piégeuse dès que tu quittes les primitives. Tour des 5 pièges qui sabotent tes re-renders et les patterns pour reprendre la main sans casser les perfs.
13 juillet 2026
Ton composant affiche le mauvais utilisateur quand tu cliques vite. Les 4 pièges qui laissent passer une race condition malgré resource() et son abortSignal.
26 juin 2026
Tu re-provides un service pour contourner une mauvaise instance reçue ? Le bon flag d'inject() suffit : optional, self, skipSelf et host, sur cas réels.
19 juin 2026
Tu skippes l'auth avec un header X-Skip-Auth que ton interceptor supprime ensuite ? HttpContext le remplace par des tokens typés. 5 patterns et leurs tests.
18 juin 2026
parse() lance une exception, safeParse() retourne un résultat typé. Quand choisir l'un ou l'autre en Angular : API, HttpClient, httpResource, formulaires.
5 juin 2026
Pourquoi passer tes guards, resolvers et interceptors Angular en fonctions : CanActivateFn, ResolveFn, HttpInterceptorFn, tree-shaking, factories, tests.
5 juin 2026
Angular 22 ajoute @Service, plus ergonomique que @Injectable pour 90 % de tes services. Singleton root, inject() obligatoire, et les cas qui résistent.
2 juin 2026
NG0203 te tombe dessus dès que tu déplaces un inject() dans un setTimeout, un subscribe ou après un await. Les 4 scénarios, et comment les corriger.
22 mai 2026
Tu écris encore input() + output() + emit() pour un simple [(banana)] ? model() supprime 60 % de ce boilerplate. Forme required, alias, et les 5 pièges.
17 mai 2026
Attacher des directives sur le host d'un composant avec hostDirectives : extraire un comportement dupliqué, aliaser ses inputs, composer plusieurs directives.
15 mai 2026
L'astuce CSS :host { display: contents } en Angular : pourquoi c'est tentant, pourquoi c'est souvent un wrapper qui s'ignore, et quand c'est légitime.
13 mai 2026
Quand remplacer un effect() de synchronisation par linkedSignal(), stable depuis Angular 20 : forme courte, forme longue avec previous, sélection et pagination.
9 mai 2026
Remplacer le trio Subject + takeUntil + ngOnDestroy par takeUntilDestroyed() : contexte d'injection, erreur NG0203, DestroyRef dans un service, toSignal().
4 mai 2026
Quand remplacer effect() par computed(), pourquoi untracked() cache un mauvais découpage, comment détruire un effect dans un service et son vrai timing.
6 janvier 2026
Utiliser any en TypeScript, c'est comme conduire sans ceinture. Découvre comment unknown, les type guards et Zod peuvent sauver ton code (et ta carrière).
13 décembre 2025
Ce que seul type sait faire, ce que seule interface sait faire, l'argument sémantique données contre contrats, et la règle ESLint qui fige le choix.
27 octobre 2025
Quand utiliser input(), @Attribute() ou InjectionToken dans tes composants : données réactives, valeurs statiques, config globale et pattern hybride.
20 octobre 2025
Éliminer les div wrappers de tes composants Angular : styler l'élément host avec :host, définir son display, poser des host bindings, et les cas d'exception.
13 octobre 2025
Ton || écrase le 0 et la chaîne vide que ton utilisateur a saisis. Ce que ?? change vraiment : table de vérité, opérateur ??= et les pièges à éviter.
22 septembre 2025
Chaque principe SOLID illustré en Angular moderne (Signals, control flow, InjectionToken) avec '❌ mauvaise façon' vs '✅ bonne façon' pour guider ta refacto.
8 septembre 2025
Installer Zod, choisir entre parse et safeParse, valider une réponse HttpClient ou httpResource, inférer tes types avec z.infer et transformer tes données.
15 août 2025
Le style guide Angular v20 (par feature, inject(), protected) et les pièges de la migration v19 vers v20 sur stack Nx + Vitest, côté tests.
17 juillet 2025
Ton backend te répond toujours en anglais ? Centralise l'en-tête Accept-Language dans un HttpInterceptor fonctionnel, depuis Transloco ou LOCALE_ID.
27 juin 2025
Comprenez la différence entre composants intelligents et composants présentiels, et structurez vos applications Angular proprement.
27 mai 2025
withComponentInputBinding injecte params, queryParams et data de route dans les input() d’un composant. Le piège des valeurs par défaut écrasées.
Suite d'outils pour développeurs Angular francophones. Apprends, modernise tes réflexes, audite ta codebase.
© 2026 AngularKit. Tous droits réservés.