Réalisations liées :

📫
Logo Image

Web réactif | Angular

Bien que de plus en plus adopté dans le monde du développement web, Angular demeure un joyau technologique pour beaucoup. Conçu par Google, Angular est un framework open-source visant à dynamiser le web à l'aide du langage TypeScript. Qu'il s'agisse de simples interfaces ou de projets d'envergure, Angular s'est avéré être un allié puissant pour la création d'applications web modulaires et réactives.

À la base du fonctionnement d'Angular se trouve le principe de la programmation réactive. Cette essence permet aux applications de réagir instantanément aux évolutions, rendant ainsi l'expérience utilisateur fluide et intuitive. Concrètement, il s'agit d'une architecture dans laquelle les composants de l'application s'ajustent de façon autonome et efficace face à chaque modification de l'état de l'application.

Dans mon parcours professionnel, Angular est devenu une compétence incontournable. Il m'a réservé de nombreuses surprises, par sa profondeur et ses possibilités.

Ma première incursion significative dans le monde d'Angular s'est produite lors de ma formation initiale à INTECH, où j'ai entrepris le projet BuyPath. Ce projet a été mon terrain de jeu pour explorer les fondamentaux d'Angular, marquant ainsi le début de mon immersion dans le développement web moderne. À travers BuyPath, j'ai non seulement acquis une compréhension solide de l'architecture de développement basée sur les composants, mais j'ai aussi appris à maîtriser TypeScript et JavaScript, essentiels pour manipuler le framework Angular. De plus, j'ai appris à interagir avec une API REST J2E, une compétence précieuse qui a élargi ma compréhension du développement full-stack. Ce projet, réalisé lors de ma formation chez INTECH, a posé les bases de mon expertise Angular, me familiarisant avec les commandes du CLI et la liaison avec des backends complexes.

C'est avec un bagage de compétences fondamentales et enrichies par mon expérience réussie sur BuyPath que j'ai entrepris, un an et demi plus tard, un défi de taille chez Berger Levrault, le développement de La Plateforme Experts. Ce projet ne s'est pas contenté de mettre à l'épreuve ma maîtrise d'Angular ; il a élargi mon horizon vers le concept novateur des micro-frontends. J'ai été initié à cette approche grâce à des "packets de setup projet" préparés par l'entreprise, destinés à faciliter l'intégration de nouvelles applications au sein de leur écosystème existant.

Cette initiation aux micro-frontends m'a ouvert les yeux sur une architecture permettant de gérer plusieurs applications de manière indépendante tout en les faisant cohabiter au sein d'une même plateforme. Le système de micro-frontends se révèle être une solution puissante pour les entreprises cherchant à combiner flexibilité et maintenabilité. Chaque micro-frontend, tel que le montre le schéma ci-dessous, peut suivre son propre cycle de déploiement, de développement initial à la mise en production, fonctionnant d'abord en mode standalone. Cette autonomie signifie qu'une application peut être développée, testée et déployée sans interférer avec les autres parties de la plateforme globale.

Mon rôle consistait à développer une application Angular en mode standalone, en tirant parti de ces « packets » pour structurer mon projet selon les directives spécifiées en ligne de commande (CLI). Bien que mon application ait été conçue pour fonctionner de manière indépendante, la technologie sous-jacente me permettait de l'intégrer facilement avec d'autres applications dans un mode micro-frontend, offrant ainsi une flexibilité et une modularité accrues. Cette expérience m'a permis de comprendre les principes du micro-frontend, même si l'application est restée en mode standalone pour le moment.

L'architecture envisagée par La Plateforme Experts impliquait également l'intégration d'un Shell intégré servant de menu aux applications. Dans le contexte standalone, mon application affichait ses diverses rubriques de vue directement dans le menu. En mode micro-frontend, ces rubriques auraient été regroupées sous une section dédiée au sein du menu du Shell, illustrant la manière dont les applications peuvent s'intégrer dans un système plus large tout en conservant leur autonomie.

En outre, j'ai été chargé d'adapter le tout nouveau système de Single Sign-On (SSO) de l'entreprise pour mon application MEAN (MongoDB, Express.js, Angular, Node.js), ce qui a ajouté une couche supplémentaire de complexité et d'apprentissage. L'intégration du SSO a été cruciale pour assurer une expérience utilisateur cohérente et sécurisée à travers les différentes applications de l'entreprise.

Je trouve que c'est une technologie très intéressante et plutôt facile d'utilisation. Cependant, même si le monde du développement web m'intéresse de moins en moins, il est clair que si je devais m'y replonger, Angular serait mon choix privilégié. L'univers d'Angular est vaste, et bien que je me considère compétent en la matière, je sais qu'il y a toujours plus à apprendre. Même si mon intérêt principal ne réside pas dans le web, je vois l'importance d'Angular dans le paysage du développement web moderne. Pour ceux qui envisagent d'explorer cette technologie, je recommande vivement de commencer par les fondamentaux offerts par angular.io et d'enchainer avec des petits projets open-source que l'on peut récupérer sur GitHub.com. C'est un point de départ essentiel avant de se lancer dans des domaines plus avancés.

En conclusion, Angular ne se résume pas à une simple technologie à mes yeux. Il est devenu un compagnon essentiel dans mon parcours professionnel, me fournissant une perspective unique sur le développement web. Bien que mon intérêt pour le domaine du web puisse fluctuer, je reconnais sans équivoque la valeur ajoutée d'Angular. Je suis convaincu que sa maîtrise m'ouvrira des portes et offrira des opportunités, me permettant de m'adapter et d'innover face aux exigences en constante évolution de l'industrie.