Développeur Front End Angular Senior (F/H) — Cotonou
Aperçu du poste
Au sein du Département Développement Solution Client, nos applications web constituent la partie visible des solutions que nous livrons : c'est là que se joue la perception de la qualité, la fidélité au design attendu et une bonne part de la performance ressentie par les utilisateurs finaux. Ces applications Angular portent une logique métier qui s'enrichit au fil des projets.
Angular a par ailleurs profondément changé de modèle en trois ans : composants autonomes, réactivité par signaux, détection de changements sans Zone.js, nouveaux formulaires, nouvel outillage de test. L'enjeu n'est donc pas seulement de produire des écrans, mais de faire évoluer un socle vers le modèle actuel sans interrompre les livraisons. Nous recherchons un développeur capable de porter la conception d'une application, de tenir un niveau d'exigence sur la qualité, la performance et la fidélité aux maquettes, et d'être le référent Angular de l'équipe.
Nous recrutons pour le poste de Développeur Front End Angular Senior (F/H) — Cotonou. Découvrez ci-dessous les missions, le profil recherché et les conditions associées à cette opportunité.
Missions et responsabilités
Vous êtes responsable de la conception, du développement et de la maintenance d'applications web reposant sur Angular. Vous travaillez étroitement avec les équipes back end, les designers et le métier, et vous êtes garant de la qualité du code, des performances et de la fidélité au design sur votre périmètre.
- Concevoir des interfaces performantes et modernes — composants réutilisables, bibliothèque commune documentée et versionnée, CSS moderne (grille, flexbox, requêtes de conteneur, thématisation) plutôt que des surcharges.
- Traiter les états que l'on oublie souvent — chargement, vide, erreur, saisie partielle, permissions insuffisantes, volumétrie extrême, connexion dégradée.
- Assurer le responsive et la compatibilité réelle — appareils d'entrée et de milieu de gamme, réseaux intermittents, coût de la donnée.
- Co-construire les contrats d'API avec le back end — découpage des responsabilités, formats d'échange, gestion des erreurs, pagination, compatibilité des évolutions.
- Architecturer par domaine fonctionnel — composants autonomes, routes chargées à la demande, frontières nettes entre logique métier et interface, injection de dépendances comme outil d'architecture.
- Cadrer la gestion d'état — store NgRx ou NGXS (actions, sélecteurs, effets, normalisation, immutabilité), en évitant la duplication de l'état serveur et le store fourre-tout.
- Maîtriser les flux asynchrones avec RxJS — choix d'opérateurs, erreurs et reprises, annulation des requêtes obsolètes, limitation de débit, partage de flux, prévention des fuites d'abonnement.
- Faire coexister flux et signaux dans une même base de code, en exploitant leur interopérabilité plutôt qu'en opposant les deux modèles.
- Respecter les maquettes et le design system — jetons de conception, états d'interaction, points de rupture ; remonter les écarts au designer et faire vérifier le rendu avant la livraison.
- Optimiser les performances — comprendre ce qui déclenche un rendu, profiler, corriger la cause plutôt que le symptôme ; maîtriser le poids livré par découpage du code et chargement différé.
- Suivre les indicateurs d'expérience utilisateur sur des mesures réelles, pas sur des scores obtenus sur une machine de développeur.
- Tenir la qualité du code — TypeScript en mode strict et vérification stricte des gabarits, tests unitaires et de composants centrés sur le comportement observable, tests de bout en bout sur les parcours critiques.
- Rendre les interfaces accessibles — niveau WCAG 2.2 AA, HTML sémantique, ordre de tabulation, gestion du focus, vérification au clavier et au lecteur d'écran.
- Sécuriser le front — injection de contenu, politique de sécurité du contenu, stockage des jetons, authentification déléguée OAuth 2 et OpenID Connect, veille sur la chaîne de dépendances.
- Piloter la modernisation du socle — trajectoire de montée de version et bascules progressives (composants autonomes, signaux, sortie de Zone.js, migration du lanceur de tests), une à la fois.
- Encadrer les développeurs juniors — revue de code formatrice, objectifs de progression, diffusion des standards, et cadre d'usage des assistants de code.
Profil recherché
5 ans minimum d'expérience en développement frontend, dont une part significative sur Angular, avec un rôle de référent technique ou une responsabilité de conception déjà exercée. Bac +3 à Bac +5 en informatique, école d'ingénieurs ou équivalent — ou expérience professionnelle équivalente démontrée. Vous avez déjà porté une application Angular en production, assez longtemps pour en avoir vécu les montées de version et les corrections d'anomalies.
- Excellente maîtrise d'Angular — injection de dépendances, composants autonomes, flux de contrôle dans le gabarit, routage et chargement différé, intercepteurs et gardes, formulaires : concevoir dans le framework, pas seulement y ajouter des composants.
- Gestion d'état avancée — NgRx et/ou NGXS : store, actions, sélecteurs, effets, normalisation, immutabilité, outillage de débogage, et jugement sur les cas où un store global n'est pas nécessaire.
- RxJS avancé — switchMap, concatMap, mergeMap et exhaustMap, erreurs et reprises, annulation, anti-rebond, partage de flux, flux chauds et froids, prévention des fuites.
- Intégrations web complexes — API de systèmes hétérogènes, authentification déléguée et gestion de session, téléversement de fichiers volumineux, flux temps réel, cartographie, parcours de paiement, tableaux à forte volumétrie, SDK tiers.
- Respect strict des maquettes — lecture des jetons de conception, travail avec Figma, design system comme référence, fidélité y compris sur les cas que la maquette ne couvre pas.
- TypeScript en mode strict — typage du domaine, généricité raisonnée, gabarits typés, sans contournements systématiques.
- Fondamentaux du web maîtrisés — HTML sémantique, CSS moderne, JavaScript et modèle d'exécution du navigateur : ce qui reste vrai quand le framework change.
- Tests et industrialisation — tests unitaires, de composants et de bout en bout, outillage Angular en ligne de commande, Git, revue de code, intégration continue.
- Accessibilité opérationnelle — WCAG 2.2 AA : nous n'attendons pas une expertise d'auditeur, mais la capacité de produire des interfaces conformes et de vérifier son travail au clavier.
- Ce qui fera la différence — modernisation de socle vers Angular 21 ou 22, rendu serveur et hydratation, API de données par signaux, Angular Material ou CDK, monorepo Nx, micro-frontends, observabilité front, temps réel et hors ligne, Ionic ou Capacitor, internationalisation, contributions open source.
- Qualités attendues — conscience du coût de chaque choix technique, exigence de lisibilité et de maintenabilité, veille avec discernement, pragmatisme, dialogue avec le back end et les designers, clarté d'expression, esprit critique y compris envers les productions des assistants d'IA, envie de transmettre.
- Langues — français courant à l'écrit comme à l'oral ; anglais technique maîtrisé en lecture et en écriture.
Conditions et avantages
- Contrat : CDI, à temps plein.
- Lieu d'exercice : Cotonou, Bénin — Haie Vive, Lot M4, quartier Les Cocotiers — ou tout autre lieu requis par les besoins du service.
- Rattachement hiérarchique : Chef de Département Développement Solution Client.
- Référence de l'offre : REF-DEV-NG-SR-2026-BJ — à rappeler dans votre candidature.
- Rémunération : selon profil et expérience, précisée pendant le processus de recrutement.
Processus de recrutement
Étude du dossier
Votre candidature et votre CV sont examinés par notre équipe recrutement.
Présélection
Les profils correspondant au poste sont contactés pour un premier échange.
Entretien(s)
Un ou plusieurs entretiens avec les responsables métier et les ressources humaines.
Décision & intégration
Réponse motivée puis accompagnement à la prise de poste pour les candidats retenus.
À propos de nous
Nous sommes une entreprise engagée dans ses projets, avec des équipes pluridisciplinaires et un environnement technologique de pointe.
Nous rejoindre, c'est mettre vos compétences au service d'une mission qui a du sens, au sein d'équipes pluridisciplinaires et d'un environnement technologique de pointe.