PortfolioSogeti
Réalisation de missions internes et chez le client, couvrant le développement fullstack, le DevOps et l'animation d'équipe, dans des contextes clients aux enjeux et façons de travailler différents.
- Client
- Sogeti
- Durée
- 5 ans 9 mois (en cours)
- Date
- 21 Août 2020 - Aujourd'hui
- Contexte
- Interne
Description de l'expérience
Intégré chez Sogeti en 2020, le parcours a débuté par un stage de trois mois en juillet, suivi d’un contrat de professionnalisation d’un an, avant une embauche en CDI en octobre 2021. Le fonctionnement en ESN a rapidement permis d’évoluer au travers de missions variées, en intervenant auprès de différents clients, chacun avec ses propres enjeux, contraintes et modes de travail. Au fil de ces expériences, une montée en compétences s’est construite autour du développement fullstack, avec une implication croissante aussi bien sur les problématiques backend que sur la qualité des interfaces côté frontend, notamment en matière d’accessibilité. Ces missions ont également été l’occasion d’évoluer dans des contextes techniques et organisationnels divers, en élargissant progressivement le périmètre d’intervention et le niveau de responsabilité, jusqu’à contribuer plus directement à la dynamique des équipes et à la structuration des projets. Les missions présentées ci-dessous illustrent ce parcours et la diversité des contextes rencontrés.
Mots clés
- ESN
- Consulting
- Ingénierie numérique
- Fullstack
- CDI
- DevOps
- Méthodologie Agile
Missions et détails
Au cœur de l'équipe Design System, j'ai participé activement à l'évolution et à la pérennité d'une librairie de composants partagée par de nombreux projets. Ce poste a couvert deux axes majeurs : Développement et Gestion de projet
1. Développement
L'enjeu central du travail de développement était de faire évoluer le design system en tenant compte des besoins réels des équipes consommatrices et des utilisateurs finaux. Cela s'est traduit par une attention particulière portée à la conformité RGAA et à l'accessibilité, à la facilité d'utilisation des composants, ainsi qu'à l'intuitivité visuelle et au niveau des API exposées aux développeurs. Un support actif auprès des équipes a également été assuré, notamment à travers l'analyse et la correction d'anomalies remontées depuis les différents projets consommateurs.
Au-delà des composants eux-mêmes, une contribution significative a porté sur l'outillage annexe : développement d'outils internes, librairies tierces à la librairie de composant elle-même, mise en place de scripts de mesure d'utilisation de la librairie, et suivi de KPI visant à objectiver l'adoption et la qualité du système.
2. Gestion de projet
En complément de mes responsabilités techniques, j'ai endossé un rôle de Scrum Master, impliquant l'animation des rituels agiles et la facilitation du travail d'équipe au quotidien. Ce rôle a notamment comporté une phase de restructuration globale et complexe, au cours de laquelle il a fallu repensé et mettre en place les outils et processus de travail de l'équipe. J'ai également pris en charge l'administration de Jira pour assurer un suivi rigoureux des tâches et des sprints, et j'ai animé des démonstrations régulières afin de présenter les évolutions du design system aux parties prenantes et aux équipes utilisatrices.
- LitElement
- Angular
- Typescript
- Node.JS
- SCRUM
- Jira
Ce projet avait pour objectif la mise en place d'un système robuste d'envoi de messages en masse, répondant à des contraintes fortes de volumétrie et de traçabilité. L'enjeu principal était de concevoir une solution capable de traiter et d'expédier des volumes critiques, validée par des tests sur plus de 2 millions d'emails.
Le cœur du projet repose sur la réalisation d'un batch Spring Batch, conçu pour ingérer un fichier d'entrée, orchestrer l'envoi en masse d'emails et de SMS via une API dédiée (Brevo) et fournir des fichiers d'outputs du traitement. En complément, Spring Integration a été mis à contribution pour gérer les flux de données entre les différents composants du système, assurant une intégration fluide et découplée entre l'ingestion des fichiers, le traitement et l'appel aux services d'envoi.
Une attention particulière a été portée à la gestion des erreurs et à la reprise sur incident, deux aspects critiques dans un contexte de traitement massif. Des campagnes de tests ont été menées à grande échelle, portant sur plus de 2 millions de messages, afin de valider la stabilité du système, d'identifier les goulots d'étranglement et d'affiner les paramètres de traitement.
- Spring Batch
- Spring Integration
- Brevo
- Méthodologie Agile
Ce projet consistait en la conception et le développement d'une solution de monitoring de flux audio destinée à un client du secteur bancaire, avec des enjeux critiques tant pour le client intégrateur que pour l'établissement bancaire utilisateur final.
La solution est directement intégrée dans l'environnement du client, construite autour d'une architecture en widgets distribués sous forme de librairies npm générées depuis Angular, permettant une intégration modulaire et maintenable au sein de l'écosystème existant. Un module dédié a par ailleurs été développé et intégré directement dans l'outil interne du client bancaire, s'inscrivant ainsi nativement dans son environnement de travail quotidien.
La solution se compose de deux consoles distinctes : une console opérationnelle, et une console de supervision, permettant de surveiller et piloter l'activité en temps réel. Ces deux interfaces embarquent un ensemble de fonctionnalités métier centré autour de la gestion des flux vocaux : messages vocaux, demandes de rappel, journal d'appels, et autres outils de suivi opérationnel. L'ensemble est connecté à une solution CCaaS (Contact Center as a Service). Une solution Spring Boot a été conçue pour jouer le rôle de proxy, se chargeant d'appeler les API internes du client et de dispatcher les données au sein de notre propre architecture micro-services backend.
Sur le plan technique, l'architecture repose donc sur une approche micro-services côté backend et une logique micro-frontend côté interface, avec Angular comme socle principal. Le fait de répondre aux exigences fonctionnelles métier tout en s'adaptant aux standards techniques imposés par le contexte bancaire, a fait de ce projet un défi aussi bien architectural que technique.
- Angular
- Spring Boot
- AWS
- NPM
- CCaaS
- REST API
- SOAP API
- Post-message
- Micro-frontend
- Micro-services
- Méthodologie Agile
Ce projet avait pour objectif la conception et le développement d'un chat en temps réel permettant la communication directe entre clients et agents, avec une double vocation : être intégrable nativement dans la solution du client et déployable sur tout site internet tiers.
Le chat embarque l'ensemble des fonctionnalités classiques attendues d'une solution de messagerie moderne : envoi de médias sécurisés, historisation des conversations, réponses préenregistrées, partage de liens, capacités de conversation audio et vidéo, etc. Au-delà de ces fondamentaux, des fonctionnalités métier plus spécifiques ont été développées : gestion des demandes de rappel, prise en compte des horaires d'ouverture, récupération automatique des informations client préalablement enregistrées ou encore gestion intelligente des onglets en cas d'inactivité pour assurer une continuité de session optimale.
La contrainte d'intégration universelle a orienté les choix techniques frontend vers une implémentation en Vanilla JS, jQuery, HTML et CSS natif, sans dépendance à un framework tiers, garantissant ainsi une portabilité maximale et une empreinte technique minimale dans tout environnement hôte.
Côté backend, la solution repose sur Spring Boot, avec l'implémentation de WebSockets pour la gestion de la messagerie en temps réel et de WebRTC pour les flux de communication audio et vidéo en peer-to-peer. Cette stack backend assure également la communication directe avec la console agent du client, garantissant une synchronisation fluide entre l'interface client et l'outil de travail des agents.
L'articulation entre les différentes technologies et l'intégration directe dans l'écosystème du client ou les sites tiers a fait de ce projet un défi technique particulièrement complet.
- VanillaJS
- jQuery
- HTML
- CSS
- Sprint Boot
- WebRTC
- WebSocket
- AWS
- Méthodologie Agile
Participation à des projets internes dédiés à la formation des consultants aux technologies, méthodologies et pratiques modernes, dans le cadre d'un contrat de professionalisation au sein de l'entreprise.
Une première phase orientée développement backend avec Spring Boot et la création d'API REST, suivie d'une seconde phase frontend autour de la technologie Angular, permettant une montée en compétences progressive et complète sur l'ensemble de la stack.
- Spring Boot
- Angular
- API REST
- Méthodologie Agile
Participation à un projet interne orienté DevOps, au sein d'une équipe transverse, avec pour mission de contribuer à la gestion logicielle et à l'infrastructure de l'entreprise.
Les travaux ont porté notamment sur la mise à jour LDAP, orchestrée via Docker et Docker Compose, ainsi que sur la mise en place d'une stack ELK (Elasticsearch, Logstash, Kibana) sur les projets internes, dans une optique de centralisation des logs et d'observabilité.
- DevOps
- Docker
- LDAP
- ELK
- Transverse
