ABC des OSS
A comme Framework qui a changé Frontend pour toujours
A comme AngularJS
Bienvenue dans le tout premier épisode de l'ABC des logiciels libres, qui retrace l'histoire et l'impact des logiciels libres, une lettre à la fois. Je suis Taylor, votre hôte, et aujourd'hui nous commençons par la lettre A, qui signifie AngularJS.
Pourquoi AngularJS est important
Certaines technologies laissent une marque permanente sur la façon dont nous construisons des logiciels, et AngularJS était l'une d'entre elles. Lancé par Google en 2010, AngularJS a complètement changé la façon dont les développeurs abordaient le développement web frontal.
Avant AngularJS, la création d'applications web dynamiques était pénible. Les développeurs se débattaient avec la manipulation manuelle du DOM et des maux de tête constants liés à la gestion de l'état. AngularJS a résolu ces problèmes grâce à des innovations telles que :
- Liaison bidirectionnelle des données - éliminant le besoin de mises à jour manuelles constantes du DOM.
- Injection de dépendances - facilitant les tests et la modularité du code.
- Directives - un moyen de construire des composants réutilisables avant même que cela ne soit une idée courante.
Ces fonctionnalités ont rendu AngularJS révolutionnaire, et son influence est encore visible dans les frameworks frontaux actuels comme React et Vue.
Risques liés à la fin de vie et à la sécurité
Mais comme tous les logiciels, AngularJS avait un cycle de vie. Google a annoncé en 2018 qu'AngularJS finirait par être retiré, et en décembre 2021, il a officiellement atteint la fin de vie (EOL).
Voici le problème : Angular n'est pas une simple mise à jour d'AngularJS. Il s'agit d'une réécriture complète construite autour de TypeScript, RxJS et d'une architecture basée sur des composants - un changement complet qui nécessite de repenser une application depuis le début.
Que se passe-t-il donc si vous continuez à utiliser AngularJS aujourd'hui ?
- Votre demande fonctionne toujours, mais...
- Il fonctionne désormais avec un logiciel non pris en charge et non corrigé.
- Toutes les nouvelles vulnérabilités CVE découvertes ne recevront jamais de correctifs officiels.
Cela signifie que les applications AngularJS en production sont effectivement des passifs de sécurité. Les organisations qui dépendent d'AngularJS utilisent des logiciels non corrigés en production, ce qui met les utilisateurs et les systèmes en danger.
Les défis de la migration
Le chemin de la migration n'est pas simple. Les équipes qui passent d'AngularJS à des frameworks modernes sont confrontées :
- Révision de l'architecture - paradigmes et outils de construction entièrement nouveaux.
- Les tests réécrivent - puisque les anciennes hypothèses ne s'appliquent plus.
- Dette technique substantielle - en particulier si l'application a des années de fonctionnalités héritées.
Il ne s'agit pas d'un "projet de fin de semaine". Il s'agit d'un effort de modernisation à long terme qui nécessite une planification, des ressources et, dans certains cas, un soutien extérieur.
L'influence durable d'AngularJS
Même si AngularJS n'est plus pris en charge, ses empreintes sont partout :
- L'injection de dépendance est devenue un élément essentiel du développement des applications frontales.
- L'architecture à base de composants a ouvert la voie à la forme moderne de React, Vue et Angular.
- Les modèles de liaison de données continuent d'influencer la manière dont nous gérons l'état de l'interface utilisateur.
En d'autres termes, même si vous n'avez jamais touché à AngularJS, vous utilisez probablement des modèles dont il a été le pionnier.
Réflexions finales
AngularJS a été révolutionnaire, mais c'est désormais un logiciel hérité. L'exécuter en production sans support signifie accepter de réels risques de sécurité. La migration est difficile, mais ignorer un logiciel en fin de vie est encore plus risqué.
Voilà pour ce premier épisode de l'ABC du logiciel libre. La prochaine fois, nous nous pencherons sur le B de Bootstrap - le framework qui a donné aux développeurs des super-pouvoirs en matière de design sans qu'ils aient besoin d'un diplôme en graphisme.
En attendant, gardez votre code propre, vos dépendances mises à jour et vos logiciels existants pris en charge.