Profile picture of Denis đŸ…°ïž Wojtowicz
Denis đŸ…°ïž Wojtowicz
Développeur Angular Senior Freelance
Follow me
Generated by linktime
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

Migrer de l’injection par constructeur vers `inject()` peut vite devenir pĂ©nible.   Surtout sur une grosse codebase Angular. Et pourtant, il existe un outil qui peut vous faire gagner un temps Ă©norme : ts-morph. Pourquoi ts-morph est un game changer pour ce type de migration ? Parce qu’il permet de manipuler l’AST TypeScript directement.   Pas des regex.   Pas des scripts fragiles.   Du vrai code, compris par le compilateur. ConcrĂštement, avec ts-morph, vous pouvez : → dĂ©tecter automatiquement les constructeurs utilisĂ©s uniquement pour l’injection   → extraire les dĂ©pendances injectĂ©es   → les remplacer par des appels Ă  `inject()`   → supprimer les constructeurs devenus inutiles   → appliquer tout ça de façon cohĂ©rente sur des centaines de fichiers  RĂ©sultat : - une migration homogĂšne   - moins d’erreurs humaines   - un code modernisĂ© en quelques minutes au lieu de plusieurs jours  C’est exactement le genre d’outil qui transforme une “corvĂ©e de migration”   en opĂ©ration maĂźtrisĂ©e et rĂ©versible. Angular Ă©volue vite.   Et ts-morph est un alliĂ© prĂ©cieux pour suivre le rythme sans casser votre base de code. Parfois, le vrai gain de productivitĂ© ne vient pas du framework.   Mais des outils qu’on choisit pour l’accompagner intelligemment. Et toi ? Tu fais comment ? Abonne-toi pour plus de tips 😊
10 comments
January 8, 2026
Oublie tout ce que tu sais sur les Reactive Forms. Avec Angular 21 (release 20/11/2025), les Signal Forms deviennent la nouvelle norme, et tu ne peux plus les ignorer. Parce que cette nouvelle API n’est pas juste une “alternative”.   C’est une réécriture totale de la maniĂšre de gĂ©rer les formulaires dans Angular. Voici ce que ça change concrĂštement : → Plus de `FormGroup`, `FormControl`, `FormArray` Ă  rallonge   Les Signal Forms s’appuient sur vos propres signaux pour construire le formulaire.   Votre state devient la source de vĂ©ritĂ© — enfin. → Typage beaucoup plus strict   Vos champs sont liĂ©s Ă  des signaux typĂ©s,   ce qui Ă©limine 90 % des erreurs classiques de formulaire. → Validation simplifiĂ©e   Les rĂšgles de validation se dĂ©clarent au plus prĂšs de la donnĂ©e,   et synchronisent automatiquement les erreurs avec la vue. → Synchronisation automatique   Modifier un signal met le formulaire Ă  jour.   Modifier le formulaire met le signal Ă  jour.   Pas besoin de patch, pas besoin de setValue. Dans cet exemple : - login est votre state - loginForm est construit automatiquement - Et vos inputs utilisent sans configuration supplĂ©mentaire → Fini les tonnes de boilerplate. → Fini les patchValue non typĂ©s. → Fini les formulaires qui vivent leur propre vie loin du state. Angular 21 ne se contente pas d’amĂ©liorer les formulaires. Il change la maniĂšre de penser la donnĂ©e et la rĂ©activitĂ©. Et ce n’est que le dĂ©but : les Signal Forms ne sont qu’en expĂ©rimental
 On n’a encore rien vu. Abonne-toi pour plus de tips 😊
8 comments
November 24, 2025
Aujourd’hui, j’ai fait une revue de code.   Et je suis retombĂ© sur un grand classique Angular. Un composant qui : → modifie directement ses Input   → mute des tableaux avec push et splice   → fonctionne
 parfois   → nĂ©cessite un refresh pour afficher les bonnes donnĂ©es  Sur le papier, tout semblait cohĂ©rent.   En rĂ©alitĂ© : une UI dĂ©synchronisĂ©e, des modales jamais Ă  jour et OnPush qui ne “rĂ©agit pas”. Le problĂšme n’était pas Angular.   Le problĂšme, c’était la gestion des @Input. Un rappel simple, mais souvent oubliĂ© : → Un Input n’est pas un Ă©tat local   → Un composant enfant ne doit jamais modifier ce qu’il reçoit   → Une mutation silencieuse casse complĂštement la dĂ©tection de changement  La solution est rarement complexe : - une source de vĂ©ritĂ© claire   - des donnĂ©es immuables   - une communication Input / Output stricte   - et aujourd’hui, des signaux qui rendent ces erreurs immĂ©diatement visibles  Ce type de bug est sournois.   Il passe en revue.   Il “marche chez moi”.   Et il explose plus tard en production. Mais une fois corrigĂ©, le code devient plus simple.   Plus lisible.   Plus prĂ©visible.   Et beaucoup plus testable. Comme souvent, ce n’était pas un problĂšme de framework.   C’était un problĂšme d’architecture et de responsabilitĂ©s.
7 comments
December 16, 2025