Je suis El Houssin BOUBIA, étudiant en dernière année de master en ingénierie logicielle. Actuellement en alternance chez Orange au sein de l'équipe EQL, je suis responsable de l'automatisation des tests et de la gestion des environnements de test.
Mon rôle consiste à garantir la qualité et la fiabilité des solutions en développement, en automatisant les scénarios de test, en optimisant les infrastructures, et en assurant des processus de test fluides pour l'équipe.
Passionné par le développement full-stack et l’optimisation des outils d’automatisation, j’aime relever des défis techniques et travailler sur des projets qui allient innovation et performance. N'hésitez pas à me contacter pour discuter de projets ou de collaborations.
Mon projet professionnel a franchi une étape clé avec la signature d’un CDI chez Orange, une entreprise reconnue pour son innovation technologique et sa culture d’excellence. Cette opportunité représente un jalon important dans la réalisation de mon objectif de carrière.
À court et moyen terme, je souhaite continuer à monter en compétence dans le domaine des tests logiciels, afin de devenir un Test Lead. Ce rôle exige une maîtrise technique approfondie, une capacité à encadrer des équipes, et une vision stratégique pour garantir la qualité des solutions. Bien que la route soit longue, je suis très motivé à relever ce défi et à progresser étape par étape.
Mon ambition ultime est de devenir un expert reconnu en ingénierie logicielle, en mettant un accent particulier sur l’automatisation des tests et les méthodologies agiles. Je souhaite contribuer à des projets qui allient technologie de pointe et valeur ajoutée, tout en favorisant la collaboration et l’innovation au sein des équipes.
Sur le plan personnel, je reste engagé dans un apprentissage continu, notamment dans les domaines de l’intelligence artificielle et de la data science, qui représentent des pistes d’évolution passionnantes. En parallèle, mes passions pour le voyage et le sport m’aident à maintenir un équilibre de vie sain et à enrichir ma vision.
Je vois mon parcours comme une évolution progressive, portée par la motivation et l’envie d’excellence. Chaque étape, comme ce premier CDI, renforce ma détermination à construire une carrière significative et à évoluer dans un environnement qui valorise la qualité, l’innovation, et le développement personnel.
Je crois fermement en l'importance de l’excellence, que ce soit dans mon travail ou dans ma vie personnelle. Mon objectif est toujours d’apporter une valeur ajoutée, tout en m’efforçant de maintenir un niveau de qualité irréprochable.
La collaboration occupe une place centrale dans mon approche. Je suis convaincu que le travail en équipe et l’écoute des besoins des autres permettent de créer des solutions innovantes et adaptées aux attentes. Travailler avec des collègues talentueux m’a toujours motivé à me dépasser.
L’innovation est une autre de mes valeurs fondamentales. Dans un monde technologique en constante évolution, j’aspire à explorer de nouvelles idées et à repousser les limites pour créer des solutions performantes et avant-gardistes.
Je suis également très attaché à la curiosité et à l’apprentissage continu. Que ce soit dans le domaine des tests logiciels, du développement full-stack ou de l’intelligence artificielle, je considère chaque jour comme une opportunité d'apprendre et de grandir.
Enfin, je valorise l’équilibre. En plus de ma carrière, je m’efforce de cultiver mes passions pour le voyage et le sport, qui m’aident à maintenir une perspective saine et équilibrée sur la vie.
Arabe : Langue maternelle
Français : Courant
Anglais : Courant
Espagnol : Débutant 
Voyage
Les voyages représentent pour moi bien plus qu’un simple déplacement géographique : ils sont une véritable source d’enrichissement personnel. Découvrir de nouvelles cultures, goûter à des traditions variées et explorer des paysages uniques m’ouvrent l’esprit et nourrissent ma curiosité. Chaque destination est une aventure qui me permet d’élargir mes horizons et d’apprendre de chaque rencontre.

Football
Passionné par le football, j’apprécie non seulement le sport lui-même, mais aussi l’esprit d’équipe, la discipline et la compétitivité qu’il incarne. Jouer au football m’a appris l’importance de la coopération et de la persévérance, des qualités essentielles tant sur le terrain que dans le milieu professionnel. Ce sport me permet de rester actif tout en cultivant des valeurs de fair-play et de respect.

Volleyball
Le volleyball est un sport dynamique qui combine stratégie, agilité et esprit d'équipe. Participer à des compétitions amicales et travailler en étroite collaboration avec mes coéquipiers m’a permis de développer ma coordination et ma réactivité. Cette activité sportive m’inspire à toujours chercher l’harmonie entre performance individuelle et réussite collective.

Lecture
La lecture est une passion qui nourrit mon esprit et stimule ma créativité. À travers des romans, des essais ou des ouvrages techniques, je découvre de nouveaux univers et enrichis continuellement mes connaissances. La lecture me permet d’explorer des idées novatrices et de développer une vision critique qui se reflète dans ma démarche professionnelle.
Mastère Expert en Ingénierie Logicielle, Ingénierie informatique – France, Paris
Titre certifié RNCP Niveau 7 (Bac+5)
Octobre 2023 – Novembre 2024
Formation alliant compétences techniques et managériales, couvrant plusieurs domaines clés :
Projet(s) réalisé(s)
MedHead PoC :
MedHead est une preuve de concept (PoC) qui vise à démontrer la faisabilité d’une plateforme centralisée pour un consortium médical...
Portfolio :
Le portfolio est une application web dynamique et interactive, conçue comme un outil professionnel pour mettre en avant mes compétences et mon expérience. Il s’articule autour de plusieurs sections bien définies (parcours, compétences, projets, contact), chacune pensée pour offrir une navigation fluide et intuitive.
Master Informatique parcours Intégration de Compétence – France, Montpellier
Master 1 (M1) – Formation finalisée
Septembre 2022 – juin 2023
Parcours généraliste en informatique. Ce parcours a permis de développer :
Projet(s) réalisé(s)
Gestion de Transmissions Interservices pour Hôpitaux :
Une application web centralisée pour standardiser et automatiser ces échanges entre services, en garantissant la rapidité, la fiabilité et la traçabilité des informations. Cette initiative avait également pour but d'améliorer la collaboration entre services, tout en s'assurant que les données sensibles des patients soient protégées conformément aux réglementations en vigueur.
Système de Gestion Intelligente de Stock pour Entreprises :
Une application web moderne permettant aux entreprises de suivre, analyser et optimiser leurs stocks en temps réel, grâce à l’intégration d’algorithmes de prévision et de recommandations automatisées. Ce projet a permis de mettre en pratique des compétences en développement frontend, backend, et gestion de bases de données, tout en expérimentant la collaboration en binôme dans un cadre académique structuré.
Licence mention Informatique, parcours Informatique
Parcours généraliste en informatique. Ce parcours a permis de développer :

JavaScript est bien plus qu'un simple langage de programmation : il constitue le socle incontournable du développement web moderne. Utilisé aussi bien pour le frontend que pour le backend, il permet de concevoir des interfaces utilisateur dynamiques, des fonctionnalités interactives et des applications web robustes et scalables. Grâce à son écosystème riche, comprenant des frameworks comme React, Angular ou des bibliothèques telles que Moment.js, et sa compatibilité universelle avec les navigateurs, JavaScript s’impose comme un outil indispensable pour répondre à une large gamme de besoins techniques et business.
Dans le cadre de ce portfolio, JavaScript a joué un rôle déterminant dans la création d’expériences web immersives. Grâce à ce langage, j’ai pu intégrer des animations fluides et dynamiques qui captent l’attention et enrichissent la navigation. Par exemple, l’effet de transition entre les différentes sections a été conçu pour offrir une navigation intuitive et agréable, tout en garantissant des performances optimales sur tous les appareils.
En entreprise, chez Orange, JavaScript s’est révélé être un levier stratégique pour l’automatisation des tests End-to-End (E2E). Lors de la validation d’un projet critique, j’ai exploité des frameworks modernes tels que Cypress afin de simuler fidèlement le comportement utilisateur dans des scénarios complexes. Une anecdote marquante illustre l’importance de cette démarche : lors d’un test automatisé pour une application interne, j’ai détecté un bug rare et critique, qui ne se manifestait que dans des cas spécifiques de navigation rapide. La détection précoce de ce dysfonctionnement a permis à l’équipe de le résoudre avant la livraison au client, évitant ainsi des impacts potentiellement coûteux.
Cette expérience a approfondi ma compréhension des subtilités de JavaScript, notamment en matière de gestion des événements asynchrones et d’optimisation des performances en conditions réelles. Aujourd’hui, JavaScript ne représente pas simplement un outil dans mon arsenal technique, mais une compétence vivante et évolutive, qui continue d’enrichir mes projets et de contribuer à la mise en place de solutions innovantes dans des environnements exigeants.
Au fil des années, JavaScript est devenu mon outil de prédilection pour créer des expériences utilisateur engageantes et pour automatiser des processus complexes. Dans le cadre de ce portfolio, ce langage m’a permis d’intégrer des animations fluides et dynamiques, telles que des transitions soignées entre les sections, qui rendent la navigation plus intuitive et captivante.
En entreprise, chez Orange, j’ai mis en œuvre mes compétences JavaScript dans des environnements exigeants. Par exemple, lors de la validation d’un projet critique, j’ai utilisé des frameworks comme Cypress pour réaliser des tests End-to-End (E2E). Ces tests simulaient le comportement utilisateur dans des scénarios complexes et m’ont permis d’identifier un bug rare qui ne se manifestait que lors de navigations rapides. Cette détection précoce a permis à l’équipe de corriger le problème avant la livraison finale, évitant ainsi des impacts coûteux et améliorant la fiabilité de l’application.
Voici quelques exemples concrets d’utilisation de JavaScript dans mes projets :
Ces expériences m’ont permis d’approfondir ma compréhension des subtilités du langage, notamment en matière de gestion des événements asynchrones et d’optimisation des performances en conditions réelles. Aujourd’hui, JavaScript n’est pas seulement un outil dans mon arsenal technique, mais une compétence vivante et évolutive qui continue d’enrichir mes projets en apportant des solutions innovantes dans des environnements toujours plus exigeants.
Je dispose d’une maîtrise approfondie de JavaScript, fruit de plusieurs années d’expérience sur des projets variés, allant du développement de simples applications web à des projets full-stack complexes. Cette expertise se traduit par une compréhension fine des aspects théoriques et pratiques du langage, me permettant d’adapter mes solutions aux besoins spécifiques et d’innover continuellement.
Plus particulièrement, mes compétences s’articulent autour des domaines suivants :
Mon engagement envers l’amélioration continue m’amène à explorer régulièrement de nouvelles technologies et à intégrer les dernières évolutions du langage. Ainsi, JavaScript reste pour moi non seulement un outil technique, mais aussi une compétence vivante qui s’enrichit au fil des projets et des défis rencontrés.
J’ai acquis rapidement JavaScript grâce à sa syntaxe claire et intuitive, ainsi qu’à la richesse des ressources en ligne. La documentation officielle sur MDN Web Docs, des tutoriels interactifs et une communauté dynamique m'ont permis de comprendre les fondamentaux en un temps record.
Dès mes premiers pas, j’ai expérimenté avec des exemples concrets qui m’ont aidé à assimiler les concepts essentiels, tels que la manipulation du DOM, la gestion des événements et la programmation asynchrone. Ces expériences pratiques ont renforcé ma capacité à aborder rapidement des projets réels, tout en me permettant de progresser vers des notions plus avancées comme les modules ES6 et les patterns de développement modernes.
Cette vitesse d’acquisition s’est avérée particulièrement bénéfique dans un contexte professionnel, où l’adaptation rapide aux évolutions technologiques est primordiale. Grâce à cette approche proactive, j’ai pu intégrer efficacement JavaScript dans mes projets, en tirant parti des meilleures pratiques et en restant à la pointe des innovations du langage.
Bien que j’aie acquis une solide maîtrise de JavaScript, je reste conscient(e) que ce langage évolue constamment. Pour rester à la pointe et répondre aux exigences des projets les plus innovants, il est essentiel de continuer à progresser et d’explorer de nouveaux horizons.
Voici quelques domaines dans lesquels je souhaite approfondir mes compétences :
En poursuivant ces axes de développement, je vise à enrichir mon expertise et à anticiper les évolutions futures du développement web.
JavaScript occupe une place centrale dans mon parcours professionnel et académique. Cette compétence est le fil conducteur qui me permet de relever des défis techniques variés et d’innover dans la conception d’applications web interactives ainsi que dans le développement de solutions backend performantes.
Ma maîtrise de JavaScript me permet non seulement de créer des interfaces dynamiques et réactives, mais également d’automatiser des processus métiers essentiels, améliorant ainsi l’efficacité globale des projets. Elle facilite également la collaboration avec des équipes pluridisciplinaires dans des environnements de développement agile.
En résumé, JavaScript est au cœur de mon profil, m’offrant la polyvalence nécessaire pour m’adapter aux évolutions technologiques et contribuer activement à des projets ambitieux.
Fort(e) de mes années d'expérience avec JavaScript, j’ai pu identifier plusieurs conseils clés qui m’ont aidé à maîtriser ce langage et à progresser continuellement :
Ces conseils, issus de mon parcours, m’ont permis de surmonter des défis techniques et d’évoluer constamment dans un environnement en perpétuelle mutation.
Mon objectif moyen terme est d’approfondir ma maîtrise des frameworks JavaScript avancés, tels que React ou Vue.js, tout en explorant des solutions innovantes comme les technologies serverless et les Progressive Web Apps (PWA).
En développant ces compétences, je vise à concevoir des applications toujours plus performantes et évolutives, en tirant parti d’architectures modernes qui optimisent à la fois l’expérience utilisateur et la gestion des ressources côté serveur.
Cet objectif s’inscrit dans une démarche d’amélioration continue, afin de rester à la pointe des innovations technologiques et d’apporter une réelle valeur ajoutée à chaque projet auquel je participe.
Portfolio : JavaScript a été central dans la gestion des interactions dynamiques et l’implémentation des fonctionnalités avancées pour rendre ce portfolio à la fois esthétique et fonctionnel.

Angular est un framework JavaScript robuste et polyvalent développé par Google, conçu pour répondre aux besoins des applications web modernes et dynamiques. Grâce à son architecture basée sur des composants réutilisables, Angular offre une organisation claire et modulaire du code, facilitant ainsi la gestion de projets complexes. L’écosystème complet d’Angular inclut l’Angular CLI pour accélérer la création de projets, ainsi que l’intégration native de RxJS pour la gestion réactive des données.
Bien que je n’aie pas eu l’opportunité d’utiliser Angular dans un contexte professionnel chez Orange, ma montée en compétences sur ce framework a été largement favorisée par quatre projets académiques majeurs réalisés dans le cadre de mon master à l’Iscod. Ces projets m’ont permis d’explorer en profondeur les subtilités d’Angular, de maîtriser ses concepts avancés et de les appliquer dans des scénarios proches du réel.
Anecdote 1 : Lors de la création de ce portfolio, Angular a permis de structurer l’application en composants modulaires. L’Angular Animation API a été utilisée pour animer les transitions entre les sections, garantissant ainsi une interface fluide et réactive. La centralisation de la gestion des données via des services a simplifié la synchronisation entre les composants.
Anecdote 2 : Dans un projet académique dédié à la gestion hospitalière, Angular a facilité la mise à jour en temps réel des disponibilités de lits. L’utilisation des observables RxJS a permis de gérer efficacement les flux de données, rendant l’interface intuitive pour les utilisateurs en situation d’urgence.
Anecdote 3 : Pour un projet de transmissions interservices dans le secteur hospitalier, Angular a servi à créer une interface centralisée et interactive. L’élaboration d’un tableau de bord avec des filtres dynamiques a grandement amélioré la coordination entre les équipes médicales.
Anecdote 4 : Lors du développement d’un système de gestion intelligente de stocks, Angular a été exploité pour créer des graphiques dynamiques et un module d’alerte automatique. Cette fonctionnalité a permis de signaler en temps réel les ruptures de stock, améliorant la réactivité et l’efficacité de la gestion.
Ces projets, bien qu’académiques, ont reproduit des conditions professionnelles exigeantes et m’ont permis d’acquérir une expérience pratique approfondie sur Angular.
Angular a été un levier technique majeur dans divers projets, me permettant d’implémenter des solutions innovantes et performantes. En tirant parti de son architecture modulaire et de ses fonctionnalités avancées, j’ai pu répondre à des défis techniques complexes et créer des interfaces modernes et intuitives. Voici quelques axes d’utilisation concrets et détaillés :
Je possède une solide maîtrise d’Angular, fruit de plusieurs projets académiques intensifs et d’une exploration approfondie de ses multiples facettes. Mon expertise s’appuie sur une compréhension fine du framework, me permettant de concevoir des applications modernes, évolutives et performantes.
Pour approfondir ces compétences et rester à la pointe des meilleures pratiques, je consulte régulièrement la documentation officielle d’Angular et participe à des ateliers et webinaires spécialisés. Cette démarche proactive me permet d’adopter rapidement les évolutions du framework et d’enrichir continuellement mon expertise.
Ma maîtrise d’Angular s’est rapidement développée grâce à la richesse de sa documentation officielle, accessible via la Angular Docs. Les tutoriels interactifs, les vidéos explicatives et la communauté active m’ont offert un environnement d’apprentissage complet et accessible.
Dès mes premiers pas, j’ai mis en pratique mes connaissances en réalisant des projets concrets qui simulaient des environnements réels. Chaque exercice pratique m’a permis d’assimiler rapidement des concepts clés tels que la gestion des composants, l’utilisation des services, et la manipulation des observables RxJS. Cette approche expérimentale a considérablement accéléré ma courbe d’apprentissage.
Par ailleurs, mon investissement dans des projets académiques et personnels m’a permis d’explorer non seulement les bases d’Angular, mais également ses fonctionnalités avancées, comme l’intégration d’animations dynamiques et la modularisation poussée du code. Cette démarche proactive m’a rapidement fait passer du stade d’apprenti à celui d’utilisateur expérimenté, capable de résoudre des problématiques complexes en un temps record.
Bien que j’aie acquis une maîtrise solide d’Angular à travers divers projets académiques intensifs, je reste conscient(e) que le domaine du développement évolue rapidement. Pour rester à la pointe, je souhaite continuer à approfondir certains aspects avancés du framework.
Ces axes d’amélioration me permettront d’enrichir continuellement mon expertise et d’anticiper les évolutions futures dans le développement d’applications Angular.
Angular occupe une place centrale dans mon parcours en tant que développeur. L’utilisation de ce framework m’a permis de concevoir des applications modernes et performantes, répondant aux attentes des utilisateurs et aux exigences des projets complexes.
La maîtrise d’Angular renforce considérablement mon profil en offrant une polyvalence technique, que ce soit pour la création d’interfaces interactives ou la gestion efficace des flux de données. Cette compétence est particulièrement valorisée dans les environnements collaboratifs et innovants, où la rapidité et la qualité du développement sont essentielles.
En résumé, Angular représente pour moi un levier majeur qui ajoute une réelle valeur à mon expertise et renforce ma crédibilité auprès des équipes et des clients.
Fort(e) de mon parcours avec Angular, je souhaite partager quelques conseils pratiques qui m'ont aidé à maîtriser ce framework et à surmonter divers défis techniques :
Ces conseils, issus de mon expérience, m’ont permis d’améliorer continuellement mes compétences et de développer des applications Angular performantes et robustes.
Mon objectif à moyen terme est de consolider et d’élargir ma maîtrise d’Angular en approfondissant plusieurs domaines clés pour répondre aux défis des projets de grande envergure :
En combinant ces axes d’amélioration, je vise à développer des solutions toujours plus robustes et innovantes, capables de s’adapter aux exigences des grandes entreprises et aux évolutions rapides du secteur technologique.

Grafana est un outil open-source de visualisation et de surveillance de données qui s'est imposé comme une référence incontournable dans les environnements DevOps. Grâce à sa flexibilité, il permet de connecter et d’agréger des données issues de multiples sources telles que Prometheus, Elasticsearch ou encore MySQL, afin de créer des tableaux de bord interactifs et dynamiques. Cet outil offre une vision en temps réel des performances des systèmes, applications et serveurs, facilitant ainsi la détection rapide des anomalies et l'optimisation continue des infrastructures.
Lors de mon alternance chez Orange, j'ai découvert Grafana dans le cadre d'un projet de supervision des machines virtuelles (VM). Ce projet visait à pallier un problème récurrent de manque de visibilité sur l’état des VM utilisées par l’équipe EQL pour les tests. En implémentant Grafana, nous avons pu centraliser et visualiser en temps réel des métriques critiques, optimisant ainsi les processus de surveillance et améliorant notablement la productivité de l'équipe.
Une anecdote particulièrement marquante illustre l’impact de Grafana : lors d'une démonstration client, une anomalie sur une VM a été détectée en direct grâce à l’intégration entre Prometheus et Grafana. Cette surveillance proactive a permis d'identifier immédiatement la source du problème, évitant ainsi une panne potentiellement critique et renforçant la confiance du client dans la robustesse du système.
Au-delà de la surveillance en temps réel, Grafana m’a permis de consolider mes compétences en intégration de systèmes et en analyse de données. En développant des dashboards personnalisés et en configurant des alertes précises, j'ai démontré ma capacité à répondre aux besoins critiques d'une équipe technique et à assurer une veille constante sur les performances de l'infrastructure.
Pour explorer toutes les possibilités offertes par Grafana, je vous invite à consulter la documentation officielle de Grafana, qui présente en détail ses fonctionnalités avancées, ses nombreux plugins et ses intégrations, enrichissant ainsi l’écosystème pour une analyse toujours plus poussée.
L'impact de Grafana s'est rapidement fait ressentir sur l'ensemble de l'infrastructure. Grâce à son implémentation, nous avons observé une réduction significative des temps de détection et de résolution des incidents, une amélioration notable de la productivité des équipes, et une fiabilité accrue des services. Ces résultats concrets démontrent comment Grafana transforme les données en actions préventives, renforçant ainsi la résilience des systèmes et la satisfaction des clients.
Dans le cadre de mes projets, Grafana a été un outil essentiel pour améliorer la surveillance et l’optimisation des infrastructures. En s’intégrant de manière transparente avec d’autres outils comme Prometheus, il m’a permis de mettre en place des solutions de monitoring robustes et efficaces.
Ces fonctionnalités ont été déployées dans des environnements complexes où la fiabilité des systèmes est cruciale. L’utilisation de Grafana a démontré son efficacité en améliorant la réactivité de l’équipe, en facilitant la maintenance préventive et en offrant une vision globale et détaillée des performances des systèmes.
Grâce à mon expérience avec Grafana, j'ai acquis une maîtrise approfondie de plusieurs aspects essentiels, me permettant d'exploiter pleinement cet outil de surveillance avancé :
L'apprentissage de Grafana a été considérablement accéléré par une documentation exhaustive et des ressources pédagogiques accessibles, notamment la documentation officielle de Grafana et divers tutoriels interactifs. Ces supports clairs et détaillés m'ont permis de saisir rapidement les fonctionnalités de base ainsi que les aspects plus avancés de l'outil.
En parallèle, travailler directement sur des projets concrets, comme la supervision des machines virtuelles chez Orange, a transformé ma courbe d'apprentissage. La mise en pratique dans un environnement réel m'a permis d'expérimenter la configuration des tableaux de bord, l'intégration avec Prometheus et la mise en place d'alertes en temps réel, renforçant ainsi ma compréhension des flux de données et des mécanismes de monitoring.
Cette approche immersive et pratique a fait de mon apprentissage un processus dynamique et efficace, me permettant de maîtriser rapidement Grafana et d'en exploiter pleinement le potentiel pour la surveillance et l'optimisation des infrastructures critiques.
Bien que j’aie acquis une expertise solide avec Grafana, je suis conscient(e) que certains domaines peuvent encore être approfondis pour atteindre un niveau d’excellence. Mon objectif est de continuer à perfectionner mon approche afin d’optimiser la surveillance et l’analyse de données dans des environnements toujours plus complexes.
Ces axes d’amélioration me permettront de renforcer encore davantage mes compétences en surveillance des systèmes et d’anticiper les besoins des environnements DevOps modernes.
Grafana représente une compétence clé dans mon profil, car il me permet d’apporter des solutions de surveillance et d’analyse des données en temps réel qui améliorent significativement la visibilité et la fiabilité des systèmes. Dans les environnements DevOps modernes, la capacité à créer des dashboards intuitifs et réactifs est un atout majeur.
En maîtrisant Grafana, j’ai démontré ma capacité à collecter, analyser et présenter des données complexes de manière claire et exploitable, facilitant ainsi la prise de décision rapide et l’optimisation des performances des infrastructures critiques. Cette expertise renforce ma crédibilité auprès des équipes techniques et opérationnelles, en montrant que je peux anticiper et résoudre des problèmes avant qu’ils n’affectent la production.
Pour bien maîtriser Grafana, je recommande de suivre quelques étapes clés qui m'ont aidé à progresser rapidement et efficacement :
Ces recommandations, combinées à une approche pratique et à la consultation régulière de la documentation officielle de Grafana, vous permettront de progresser rapidement et de tirer le meilleur parti de cet outil puissant.
Mon objectif à moyen terme est de consolider mon expertise en intégrant des solutions avancées de Grafana pour une surveillance plus complète et évolutive. Je vise à :
En combinant ces axes d’amélioration, je souhaite non seulement renforcer mes compétences techniques, mais aussi offrir des solutions de monitoring toujours plus performantes et adaptées aux exigences des environnements industriels et distribués.
Dashboard Grafana : Ce projet constitue un exemple phare de l’utilisation de Grafana pour améliorer la supervision des VM et optimiser les processus de test, démontrant une intégration réussie avec Prometheus et des outils de monitoring avancés.

Selenium est un outil open-source incontournable dans le domaine des tests automatisés, conçu pour valider les fonctionnalités des applications web en simulant des interactions utilisateur réelles. Sa capacité à exécuter des tests sur une multitude de navigateurs et systèmes d'exploitation en fait un choix privilégié dans les environnements où la qualité et la fiabilité des logiciels sont critiques. Pour en savoir plus, vous pouvez consulter le site officiel de Selenium.
Lors de mon alternance chez Orange, Selenium a occupé une place centrale dans mes missions. J'ai pu l'utiliser dans divers projets critiques, notamment dans le cadre du projet MedHead PoC et d'autres initiatives de gestion d'applications web. Bien que je n'aie aucune expérience préalable avec Selenium, la nécessité d’automatiser des tests complexes m’a poussé à approfondir rapidement mes connaissances et à déployer cet outil de manière efficace.
Une anecdote marquante s'est déroulée lors du projet MedHead PoC, qui visait à garantir la fiabilité des fonctionnalités critiques de recommandation de lits d’hôpitaux en situation d'urgence. Lors des phases initiales, des tests manuels révélaient des comportements aléatoires lorsque plusieurs pages étaient accessibles simultanément. En concevant des scénarios End-to-End avec Selenium, j'ai pu reproduire précisément ces conditions. Pendant l'exécution, Selenium a détecté une anomalie critique liée à une mauvaise gestion des sessions utilisateur, entraînant des conflits dans l'affichage des données. La détection rapide de ce bug a permis de corriger l'erreur avant le déploiement, assurant ainsi une expérience utilisateur fiable.
Une autre expérience significative s'est produite lors du projet Gestion de Transmissions Interservices pour Hôpitaux. L'objectif était de développer une application permettant de coordonner efficacement les échanges entre services hospitaliers. Selenium a été utilisé pour valider les flux de données critiques, révélant une anomalie dans laquelle les données transmises étaient parfois altérées ou corrompues. L'analyse a permis d'identifier que le problème était dû à un formatage JSON incorrect dans l’API backend, et la correction a été apportée avant que le problème n'affecte les opérations réelles.
Enfin, dans le cadre du projet Système de Gestion Intelligente de Stock, Selenium a permis d'automatiser les tests des fonctionnalités clés telles que la mise à jour des stocks et la gestion des alertes en cas de seuil critique atteint. Un scénario automatisé a mis en évidence une faille dans le système de notification, causée par une condition logique mal gérée dans le frontend. La détection rapide de cette anomalie a permis de résoudre le problème, garantissant la fiabilité du système avant son déploiement.
Ces expériences ont renforcé ma capacité à intégrer des systèmes de tests automatisés et à analyser en profondeur le comportement des applications web. Selenium m'a permis de détecter des anomalies difficiles à reproduire manuellement et d'optimiser les processus de validation.
Résultats et Impact : L'implémentation de Selenium a permis de réduire significativement les temps de test et d'identifier rapidement les anomalies, améliorant ainsi la stabilité et la fiabilité des applications. Ces améliorations ont conduit à une expérience utilisateur optimisée, à une diminution des coûts de maintenance, et à une plus grande confiance des clients dans les solutions déployées.
Mon apprentissage de Selenium a été remarquablement rapide, grâce à une documentation accessible et à des tutoriels interactifs disponibles sur le site officiel de Selenium. Travailler sur des projets concrets, comme l'automatisation des tests pour MedHead PoC et Gestion de Transmissions Interservices pour Hôpitaux, m'a permis de mettre en pratique rapidement les concepts théoriques et de maîtriser l'outil dans des conditions réelles et exigeantes.
Bien que je maîtrise Selenium de manière opérationnelle, certains domaines méritent d'être approfondis pour parfaire mon expertise :
Selenium est une compétence stratégique dans mon parcours professionnel, démontrant ma capacité à automatiser des processus complexes et à garantir la qualité des applications. Son utilisation témoigne de ma rigueur dans la détection proactive des anomalies et renforce ma crédibilité auprès des équipes techniques en assurant une qualité logicielle constante.
Pour tirer le meilleur parti de Selenium, voici quelques recommandations basées sur mon expérience :
Mon objectif à moyen terme est de maîtriser pleinement l'utilisation de Selenium Grid pour exécuter des tests parallèles à grande échelle, réduisant ainsi les temps d'exécution et augmentant l'efficacité globale des validations. Je souhaite également intégrer des outils de reporting avancés pour rendre les résultats des tests plus accessibles et exploitables par l'ensemble de l'équipe, améliorant ainsi la qualité et la rapidité des itérations de développement.

Jenkins est un outil open-source d’intégration et de déploiement continu (CI/CD) qui révolutionne la manière dont les équipes de développement automatisent leurs processus. Grâce à sa flexibilité et à son vaste écosystème de plugins, Jenkins permet de construire, tester, analyser et déployer des applications de façon rapide et efficace. Ce serveur d’automatisation est devenu un pilier incontournable dans les environnements DevOps modernes, garantissant la qualité et la fiabilité des logiciels. Pour en savoir plus, consultez le site officiel de Jenkins.
Lors de mon alternance chez Orange, Jenkins a joué un rôle déterminant dans l’optimisation des processus d’automatisation. Par exemple, dans le cadre du projet MedHead PoC, j’ai rapidement intégré Jenkins pour créer des pipelines déclaratifs complexes qui orchestrent des flux de travail multi-étapes. Bien que je ne connaissais pas Jenkins au départ, cet outil m’a permis d’apprendre à automatiser des tâches répétitives et à transformer des processus manuels en flux de travail fluides, libérant ainsi du temps pour améliorer la qualité du code.
Une anecdote marquante liée au projet MedHead PoC illustre bien l’efficacité de Jenkins. Lors de l’exécution d’un pipeline CI/CD, un bug subtil a été détecté à une étape de test. Le script Selenium, chargé de valider des fonctionnalités critiques, rencontrait des problèmes liés à des dépendances non résolues pour un microservice. Jenkins a non seulement signalé l’échec de cette étape, mais a également généré un rapport détaillé contenant des logs d’erreur précis. L’analyse de ces logs a révélé un conflit de version entre deux librairies utilisées par le microservice, permettant ainsi une mise à jour rapide du fichier de dépendances et évitant le déploiement d’une version instable.
Une autre expérience significative concerne le projet Dashboard Grafana. Dans ce projet, Jenkins a été utilisé pour automatiser les mises à jour des tableaux de bord et des scripts de monitoring. Une erreur récurrente apparaissait dans les rapports de test des pipelines, impactant la mise à jour des dashboards. Après une investigation approfondie, j’ai identifié une incompatibilité entre la version de Prometheus (outil de collecte de métriques) et le plugin Jenkins utilisé pour son intégration. Une fois le problème corrigé, le pipeline a repris son exécution normale, permettant ainsi aux dashboards de se mettre à jour automatiquement sans interruption.
Aujourd’hui, Jenkins est bien plus qu’un simple outil dans mon arsenal : il est un véritable levier qui transforme les processus de développement, améliore la qualité des livrables et accélère les cycles de déploiement. En automatisant les tâches répétitives et en offrant une visibilité en temps réel sur les processus, Jenkins permet à l’équipe de gagner en efficacité et en fiabilité.
Résultats et Impact : L’intégration de Jenkins a permis de réduire significativement les délais de livraison et d’améliorer la qualité des déploiements grâce à l’automatisation des pipelines. Les incidents sont détectés et corrigés plus rapidement, ce qui a entraîné une diminution des coûts de maintenance et une augmentation de la satisfaction des utilisateurs finaux. En somme, Jenkins a transformé nos processus de développement en offrant une meilleure réactivité et une fiabilité accrue des applications déployées.
Au sein d’Orange et dans mes projets personnels, Jenkins a joué un rôle central en orchestrant des workflows d’automatisation complexes. Cet outil m’a permis d’optimiser les processus de développement, de test et de déploiement, garantissant ainsi une qualité et une fiabilité accrues.
Ces exemples démontrent comment Jenkins, en tant qu’outil d’automatisation central, permet de réduire considérablement les délais de livraison, d’améliorer la qualité du code et d’optimiser l’ensemble des processus de développement. Grâce à cette orchestration fine, les équipes bénéficient d’une visibilité accrue sur les performances et d’une capacité d’intervention rapide, ce qui se traduit par des cycles de développement plus courts et une meilleure réactivité face aux évolutions du marché.
J’ai développé une maîtrise approfondie de Jenkins, ce qui me permet de concevoir, déployer et maintenir des pipelines CI/CD complexes dans divers environnements.
Bien que je maîtrise de nombreuses fonctionnalités de Jenkins, je souhaite encore approfondir certains aspects afin de parfaire mon expertise :
Jenkins est un pilier essentiel dans mon parcours professionnel. En automatisant les processus de build, test et déploiement, Jenkins me permet d'accroître l'efficacité des équipes de développement tout en garantissant la qualité constante des livrables. Grâce à cette compétence, je peux transformer des tâches manuelles fastidieuses en workflows automatisés qui réduisent les risques d'erreurs et accélèrent les cycles de développement.
En intégrant Jenkins dans mes projets, j'ai pu mettre en œuvre des solutions CI/CD qui répondent aux exigences des environnements DevOps modernes. Cette maîtrise se traduit par une meilleure collaboration entre les équipes de développement et d'exploitation, et renforce ma capacité à assurer la stabilité et la fiabilité des systèmes. Jenkins est plus qu’un simple outil ; c’est une véritable philosophie d’optimisation des processus qui me permet d’offrir des produits de haute qualité à des délais réduits.
Mon apprentissage de Jenkins a été particulièrement rapide grâce à une combinaison de ressources de formation de haute qualité, d'une documentation exhaustive et d'une pratique intensive sur le terrain. Dès mes premiers pas, j'ai exploité la documentation officielle de Jenkins ainsi que divers tutoriels interactifs et formations en ligne, ce qui m'a permis de comprendre rapidement les concepts fondamentaux et avancés.
La mise en pratique dans des projets concrets, comme le projet MedHead PoC et le Dashboard Grafana, m'a permis de transformer la théorie en compétences opérationnelles. Chaque défi rencontré et résolu dans ces environnements réels a accéléré ma courbe d'apprentissage, me permettant de maîtriser rapidement l'orchestration des pipelines CI/CD, la gestion des plugins et l'analyse des logs.
Pour exploiter pleinement Jenkins, voici quelques recommandations basées sur mon expérience :
Mon objectif à moyen terme est d'approfondir mon expertise en intégration de Jenkins avec des services cloud avancés tels qu'AWS et Azure, afin de tirer pleinement parti des environnements distribués et d'automatiser les déploiements à grande échelle. Je souhaite également maîtriser l'interface moderne Jenkins Blue Ocean pour bénéficier d'une visualisation encore plus intuitive et détaillée de mes pipelines CI/CD.
Parallèlement, je prévois d'explorer des stratégies pour optimiser les temps de build dans des projets massivement parallélisés, afin de réduire encore davantage les délais de livraison tout en maintenant une qualité optimale. L'intégration d'outils de reporting avancés, comme Allure, est également envisagée pour améliorer la communication des résultats de tests et faciliter l'analyse des performances. Cette démarche me permettra de créer des workflows CI/CD encore plus robustes et scalables, adaptés aux défis des environnements DevOps modernes.

Python est un langage de programmation polyvalent qui a radicalement transformé mon approche du développement et de l'automatisation. Sa syntaxe claire, sa flexibilité et la richesse de son écosystème de bibliothèques puissantes en font un choix privilégié pour résoudre des problèmes complexes. Pendant mon alternance chez Orange et dans divers projets académiques tels que MedHead PoC et Dashboard Grafana, Python s'est révélé indispensable pour automatiser des tâches répétitives, optimiser des processus et réduire significativement les erreurs humaines. Pour en savoir plus, consultez le site officiel de Python.
Dans le cadre du projet Dashboard Grafana, j'ai développé un script Python qui s'appuyait sur des bibliothèques telles que psutil et paramiko pour collecter automatiquement des métriques critiques (CPU, mémoire, stockage) issues de machines virtuelles. Une nuit, ce script a détecté un pic d’utilisation CPU anormal sur une VM critique, déclenchant ainsi une alerte en temps réel vers Grafana et permettant à l’équipe d'intervenir immédiatement avant qu'une panne majeure ne survienne.
Une autre réalisation marquante s'est produite lors du projet MedHead PoC. Pendant les tests des microservices critiques, un bug intermittent provoquait des échecs aléatoires dans les réponses d’API. Pour identifier la cause, j’ai conçu des tests automatisés à l’aide de pytest qui simulaient des scénarios utilisateur réalistes. En analysant minutieusement les logs générés par Python, j’ai découvert que l’erreur se produisait uniquement lorsque plusieurs requêtes étaient traitées simultanément par le backend, ce qui a permis d'adapter la gestion de la charge.
Par ailleurs, Python a permis d'optimiser les workflows de l’équipe EQL chez Orange. J’ai automatisé la génération de rapports détaillés sur les tests en utilisant pandas pour la manipulation des données et matplotlib pour la visualisation graphique. Cette solution a réduit de plusieurs heures le temps nécessaire pour compiler des rapports précis, offrant ainsi une vision claire et structurée des résultats des tests.
Ces expériences illustrent comment Python va bien au-delà de la simple résolution de problèmes techniques, en transformant la manière dont les équipes collaborent et innovent. L'intégration de ce langage dans divers projets a permis d'automatiser efficacement les processus, d'améliorer la précision des tests et d'accroître la réactivité face aux incidents.
Résultats et Impact : L’utilisation de Python a considérablement réduit les temps d'intervention et automatisé des processus critiques, améliorant ainsi la qualité des services déployés. Grâce aux scripts développés, l’équipe a pu détecter rapidement des anomalies, optimiser les performances des systèmes et générer des rapports détaillés facilitant la prise de décision. Ces améliorations se sont traduites par une efficacité opérationnelle accrue, une diminution des coûts de maintenance et une satisfaction utilisateur renforcée.
Python a été utilisé dans divers projets pour résoudre des problématiques techniques variées, allant de la collecte automatisée de données à l'orchestration de workflows complexes. Son adaptabilité et la richesse de ses bibliothèques permettent de répondre efficacement aux défis rencontrés en développement et en automatisation.
Ces applications concrètes de Python ont permis d'automatiser des processus essentiels, d'améliorer la qualité des tests et de fournir des analyses détaillées pour une meilleure prise de décision.
Je possède une solide maîtrise de Python, fruit de plusieurs années d'expérience sur des projets variés allant de l'automatisation de tâches à la conception de solutions de data processing. Mon expertise me permet de développer des scripts performants et modulables répondant aux défis techniques les plus exigeants.
Ces compétences me permettent de m’adapter rapidement aux nouvelles problématiques, d’optimiser les processus opérationnels et de proposer des solutions innovantes qui améliorent significativement la performance et la fiabilité des systèmes.
1. Surveillance des ressources : Lors du projet Dashboard Grafana, j'ai développé un script Python exploitant psutil et paramiko pour surveiller en continu les métriques critiques des machines virtuelles. Une nuit, le script a détecté un pic d'utilisation CPU anormal sur une VM essentielle, déclenchant une alerte en temps réel intégrée à Grafana. Cette intervention précoce a permis à l'équipe de réagir immédiatement, évitant ainsi une panne majeure et garantissant la stabilité des systèmes de test.
2. Validation des endpoints API : Pendant le projet MedHead PoC, j'ai mis en place des tests automatisés avec pytest pour valider la cohérence des endpoints API critiques. Un test automatisé a révélé une incohérence dans les données renvoyées par un microservice, due à un problème de gestion des requêtes simultanées. Grâce aux logs détaillés générés par Python, la source du bug a été rapidement identifiée et corrigée, renforçant ainsi la fiabilité des recommandations critiques du système.
3. Optimisation des workflows : Pour un projet interne chez Orange, j'ai automatisé la vérification des dépendances et des configurations des VM, remplaçant ainsi un processus manuel chronophage. Grâce à un script Python intégré dans le workflow, l'équipe a pu réduire le temps consacré à ces tâches de 30 %, tout en diminuant les risques d'erreurs humaines et en améliorant la qualité globale des déploiements.
Python est une compétence stratégique au cœur de mon parcours professionnel, offrant une polyvalence exceptionnelle pour relever une vaste gamme de défis techniques. Grâce à sa simplicité syntaxique et à la puissance de ses bibliothèques, Python me permet d'automatiser des processus, d'analyser des données volumineuses et de développer des solutions logicielles robustes. Son écosystème riche, soutenu par des ressources telles que la documentation officielle de Python et une communauté active, renforce ma capacité à innover et à contribuer efficacement à des projets complexes.
En maîtrisant Python, j'ai transformé des tâches manuelles répétitives en processus automatisés, amélioré la qualité des analyses de données pour une prise de décision éclairée, et développé des tests automatisés pour garantir la fiabilité des applications. Cette compétence me permet d'apporter une valeur ajoutée significative dans des environnements variés, qu'il s'agisse de projets d'automatisation, d'analyse prédictive ou de développement d'applications web.
Mon apprentissage de Python s'est accéléré grâce à son vaste écosystème, sa documentation complète et une communauté dynamique qui partage régulièrement des tutoriels et des ressources de qualité. L'accès à des supports tels que la documentation officielle de Python et des plateformes comme Real Python m'a permis d'assimiler rapidement les concepts fondamentaux ainsi que des notions plus avancées.
En parallèle, mes expériences concrètes chez Orange et dans divers projets académiques m'ont offert un terrain d'expérimentation riche. Ces projets m'ont permis d'intégrer Python dans des contextes réels, que ce soit pour automatiser des tâches, analyser des données ou développer des applications, accélérant ainsi ma courbe d'apprentissage et me permettant d'acquérir une expertise opérationnelle en un temps record.
Pour tirer le meilleur parti de Python et accélérer votre progression, voici quelques recommandations clés issues de mon expérience pratique :
En appliquant ces conseils, vous serez en mesure d'exploiter pleinement le potentiel de Python, d'automatiser efficacement vos processus et d'améliorer la qualité de vos projets. Cette approche proactive vous permettra de relever les défis techniques avec confiance et de contribuer activement à l'innovation au sein de vos équipes.
Mon objectif à moyen terme est d'explorer plus en profondeur l'écosystème Python en me spécialisant dans des domaines à forte valeur ajoutée, notamment l'intelligence artificielle et le traitement des données volumineuses. Je prévois d'approfondir ma maîtrise des frameworks d'IA tels que TensorFlow et PyTorch, afin de développer des modèles prédictifs et des solutions d'apprentissage automatique avancées.
Parallèlement, je souhaite perfectionner mes compétences en optimisation des scripts et en parallélisation des tâches pour améliorer les performances des applications traitant d'importants volumes de données. J'envisage également d'explorer l'intégration de Python avec des technologies de big data, comme Apache Spark et Dask, afin de construire des pipelines de traitement de données massives plus efficaces et évolutifs.
Cette démarche me permettra de proposer des solutions innovantes et performantes, adaptées aux défis technologiques des environnements d'entreprise modernes, et de renforcer encore davantage la valeur ajoutée de mes contributions professionnelles.

Java est un langage de programmation orienté objet reconnu pour sa robustesse, sa portabilité et sa polyvalence, faisant de lui une pierre angulaire du développement logiciel moderne. Adopté par des entreprises de tous secteurs, Java est utilisé pour développer des applications complexes allant des logiciels d'entreprise aux services web et aux applications mobiles. Son écosystème riche, incluant des frameworks puissants comme Spring Boot et des environnements de développement performants tels que IntelliJ IDEA ou Eclipse, offre des solutions adaptées à une multitude de problématiques, que ce soit pour des architectures backend, des microservices ou des systèmes critiques.
Bien que je n’aie pas eu l’opportunité d'utiliser Java directement dans le cadre de mon alternance chez Orange, cette technologie a occupé une place centrale dans de nombreux projets académiques durant ma formation. Mon parcours, incluant un Mastère Expert en Ingénierie Logicielle à l’Iscod et un Master Informatique à l’Université de Montpellier, m’a permis d’approfondir mes compétences en Java à travers des projets ambitieux et innovants.
Lors de ma formation en M2 à l’Iscod, j’ai travaillé sur des projets intégrant des technologies avancées telles que Java et Spring Boot, tout en adoptant des architectures modernes reposant sur les principes SOLID. Ces projets m'ont permis d’explorer des domaines variés tels que le développement de systèmes backend robustes, la conception de microservices et l’intégration d’outils DevOps comme Docker et Kubernetes pour assurer des déploiements fiables et évolutifs.
En M1 à l’Université de Montpellier, j’ai contribué à des projets significatifs, notamment le Système de Gestion Intelligente de Stock pour Entreprises et la Gestion de Transmissions Interservices pour Hôpitaux. Ces expériences m'ont permis de maîtriser l’utilisation de Java pour construire des solutions évolutives et performantes, en mettant en œuvre des design patterns et des techniques de programmation concurrente pour améliorer la réactivité et la résilience des applications.
Parmi mes projets académiques marquants, j’ai également réalisé le Portfolio interactif et le MedHead PoC, qui témoignent de la diversité et de la qualité de mes réalisations en Java. Ces projets illustrent parfaitement comment Java, combiné à des méthodologies modernes, permet de créer des solutions logicielles robustes, fiables et adaptées à des environnements complexes.
Grâce à ces expériences variées, Java est devenu une compétence essentielle dans mon parcours, me permettant de concevoir des solutions logicielles innovantes et performantes, tout en intégrant les meilleures pratiques du développement orienté objet.
Java a été au cœur de nombreux projets, me permettant d'explorer en profondeur ses fonctionnalités avancées et de concevoir des solutions adaptées à des environnements exigeants :
Ces exemples concrets illustrent comment Java peut servir de levier puissant pour répondre aux besoins métiers variés et complexes. En combinant le développement backend, la gestion des données, la conception d’APIs et l'automatisation des builds, j’ai pu créer des solutions performantes qui facilitent l’évolutivité et la maintenance des systèmes.
1. Optimisation des performances dans MedHead PoC : Lors des premiers tests de charge, le système s’effondrait sous une forte sollicitation. En analysant minutieusement les logs et les métriques, j’ai identifié que des appels redondants à la base de données causaient des goulots d’étranglement majeurs. Pour remédier à cela, j’ai implémenté un système de mise en cache au niveau des microservices critiques, ce qui a permis de réduire le temps de réponse jusqu’à 70 %. Cette optimisation a non seulement stabilisé le système en conditions de forte charge, mais a également considérablement amélioré l’expérience utilisateur en situation d'urgence.
2. Standardisation des APIs dans Gestion de Transmissions Interservices : Lors de l'intégration des différents modules, des divergences dans les formats de données entraînaient des erreurs fréquentes lors de la communication entre services. Pour résoudre ce problème, j’ai introduit une couche de normalisation basée sur des conventions strictes pour les APIs REST. Cette démarche a permis d'uniformiser les formats de données, d’éliminer les erreurs de compatibilité et d'accélérer les tests d’intégration, facilitant ainsi le déploiement de nouvelles fonctionnalités.
3. Débogage dans Système de Gestion Intelligente de Stock : Dans ce projet, une anomalie intermittente entraînait la perte de données critiques, affectant la fiabilité du système de gestion des stocks en temps réel. En intégrant Spring Actuator et en surveillant les indicateurs de performance, j’ai identifié une concurrence d'accès non gérée qui provoquait des conflits d'écriture. Une refonte de la gestion des threads et l'optimisation de l'accès concurrent ont permis de stabiliser le système, garantissant ainsi une meilleure fiabilité et une réduction significative des incidents en production.
Je possède une solide maîtrise de Java, acquise à travers de nombreux projets académiques et personnels. Cette expertise me permet de concevoir des solutions logicielles robustes et évolutives en couvrant plusieurs domaines clés :
Grâce à ces compétences, je suis capable de concevoir des systèmes backend performants, d'optimiser la gestion des données et de garantir une intégration fluide entre différents services, tout en assurant une automatisation complète des processus de build et de déploiement.
Grâce à une formation académique rigoureuse et à une immersion pratique dans des projets concrets, j’ai pu acquérir rapidement une expertise approfondie en Java, notamment dans le développement backend et la conception d’architectures logicielles robustes.
Mon cursus, incluant un Mastère Expert en Ingénierie Logicielle et un Master Informatique, m’a permis de combiner théorie et pratique. J’ai pu mettre en application les concepts appris en classe sur des projets réels, tels que la mise en place de microservices avec Spring Boot, la gestion des bases de données via Hibernate et la création d’APIs RESTful. Cette approche pratique, associée à l’utilisation quotidienne d’outils comme Maven et Gradle pour automatiser les builds, a considérablement accéléré ma courbe d'apprentissage.
En somme, cette combinaison d’études intensives et de projets opérationnels m'a permis de devenir rapidement opérationnel en Java, me dotant d'une expertise qui me permet de concevoir et déployer des solutions logicielles performantes et évolutives dans des environnements exigeants.
Java est une compétence clé dans mon parcours, reflétant ma capacité à concevoir des solutions backend robustes, performantes et adaptées à des contextes professionnels exigeants. Ma maîtrise de ce langage me permet de créer des architectures logicielles évolutives, d'optimiser la gestion des données et d'assurer une intégration fluide entre divers services.
En combinant l'utilisation de frameworks modernes tels que Spring Boot avec des outils de gestion des dépendances et d'automatisation comme Maven et Gradle, j'ai pu transformer des concepts théoriques en solutions concrètes qui améliorent la qualité et la fiabilité des applications. Cette expertise en Java se traduit par une capacité à relever des défis complexes et à contribuer de manière significative à la réussite des projets technologiques.
Mon objectif à moyen terme est d'approfondir ma maîtrise des architectures distribuées en Java, en me spécialisant dans l'intégration de solutions cloud et l'utilisation de frameworks avancés tels que Spring Cloud et Kubernetes. Je vise à concevoir et déployer des systèmes microservices hautement scalables et résilients, capables de répondre aux exigences des environnements de production modernes.
Pour atteindre cet objectif, je prévois de me former sur les concepts de containerisation et d'orchestration, en explorant notamment Docker et Kubernetes pour la gestion de clusters. Je souhaite également approfondir les meilleures pratiques en matière de sécurité, de communication interservices et de monitoring dans des environnements distribués. Cette démarche me permettra d'optimiser les performances et la flexibilité des systèmes d'information, tout en proposant des solutions innovantes adaptées aux défis technologiques actuels.

Appium est une technologie clé pour l'automatisation des tests mobiles sur Android et iOS. C’est une solution open-source qui offre une flexibilité multiplateforme et qui est utilisée pour garantir la qualité des applications mobiles. Avant de rejoindre Orange, je n'avais jamais utilisé Appium. Cependant, dans l'environnement dynamique de l'équipe EQL (Équipe de Qualification Logicielle), où les tests mobiles sont au cœur des projets, j'ai rapidement appris à maîtriser cet outil pour répondre aux besoins spécifiques des projets complexes.
Chez Orange, Appium est un outil incontournable pour assurer la fiabilité des applications mobiles déployées à grande échelle. J'ai contribué activement à l'écriture et à la maintenance de tests automatisés pour des scénarios critiques, adaptés à des environnements variés, notamment les différentes versions d'Android et iOS. Une des premières difficultés rencontrées a été de gérer les différences de comportement entre les systèmes d'exploitation. Par exemple, un test écrit pour Android fonctionnait parfaitement sur des appareils récents, mais échouait systématiquement sur certaines versions d’iOS, en raison de changements dans la gestion des permissions utilisateur. Ce problème m’a poussé à approfondir ma compréhension des spécificités de chaque plateforme et à adapter mes scripts en conséquence.
Une anecdote marquante est survenue lors de la validation d’une fonctionnalité de synchronisation des données entre un appareil mobile et le cloud. Un bug intermittent empêchait la mise à jour des données dans des environnements iOS spécifiques, notamment sur des versions plus anciennes. En utilisant Appium pour simuler un grand nombre de cas d’utilisation, j'ai pu identifier que le problème venait d’une incompatibilité dans le traitement des données JSON. Ce diagnostic a permis à l'équipe de développement de corriger rapidement le problème, garantissant ainsi une expérience utilisateur homogène sur toutes les plateformes.
Grâce à cette immersion chez Orange, Appium est devenu une compétence clé dans mon profil, renforçant ma capacité à écrire des tests robustes et à gérer des environnements mobiles complexes avec des exigences élevées en termes de qualité logicielle.
Chez Orange, j'ai utilisé Appium pour répondre à plusieurs besoins spécifiques :
Appium est une compétence essentielle dans mon parcours professionnel. Elle illustre ma capacité à m’adapter rapidement à de nouvelles technologies et à répondre efficacement aux exigences d’un environnement mobile complexe. La maîtrise d’Appium renforce ma crédibilité en tant que professionnel orienté qualité, capable de garantir une expérience utilisateur optimale dans des applications critiques.
Apprendre Appium chez Orange a été une expérience intensive mais enrichissante. Grâce au support de l'équipe EQL et à une documentation exhaustive, j'ai pu rapidement me familiariser avec les bases de l'outil. Les nombreux cas d'utilisation pratiques ont accéléré ma courbe d'apprentissage, me permettant de maîtriser rapidement les subtilités des tests multiplateformes.
Voici quelques conseils tirés de mes expériences avec Appium :
Mon objectif est d'approfondir mes compétences avec Appium en explorant des fonctionnalités avancées, comme les tests de montée en charge et l'intégration avec des outils de monitoring. Je souhaite également travailler sur des projets mobiles plus complexes, impliquant des interactions utilisateur intensives, pour affiner ma compréhension des tests dans des environnements hétérogènes.
1. Gestion des permissions utilisateur : Lors d’un test automatisé, j’ai découvert qu’une permission spécifique d’accès à la géolocalisation fonctionnait sur Android 12, mais échouait sur iOS 14. La solution a impliqué l’ajout de conditions spécifiques dans les scripts Appium pour gérer ces différences.
2. Validation de performances : Un test de recherche dynamique dans l’application mobile révélait des temps de réponse plus longs sur des appareils iOS plus anciens. En collaboration avec l’équipe de développement, des optimisations ont été mises en œuvre pour réduire ces latences.
3. Automatisation des notifications : En simulant des scénarios d’envoi de notifications push via Appium, j’ai identifié un problème de non-réception des messages sur certaines configurations Android, ce qui a conduit à une mise à jour critique du système.

Docker est une plateforme incontournable dans le domaine des architectures modernes. Elle permet de conteneuriser des applications pour les rendre portables, légères et isolées, garantissant une parfaite compatibilité entre les environnements de développement, de test et de production. Son intégration simplifie les workflows DevOps, minimise les problèmes liés aux dépendances et accélère les cycles de déploiement.
Lors de mon alternance chez Orange, Docker a été un outil omniprésent dans le laboratoire de tests. Dans ce contexte, Docker est utilisé non seulement pour la conteneurisation des environnements de test mais aussi pour gérer efficacement les machines virtuelles (VM) et automatiser les processus liés aux tests. Grâce à Docker, il est possible d'exécuter des tests isolés dans des environnements homogènes, évitant ainsi les problèmes de compatibilité entre les configurations locales et distantes. Un exemple marquant a été l’utilisation de Docker pour standardiser les pipelines de tests end-to-end (E2E) dans un projet complexe, réduisant ainsi le temps de configuration de plusieurs heures à quelques minutes.
Une anecdote notable au sein du laboratoire de tests concerne un bug survenu lors d’un test multi-VM. Les conteneurs de test ne parvenaient pas à se connecter correctement à la base de données hébergée dans un autre conteneur en raison d’une mauvaise configuration réseau dans Docker Compose. En investiguant et en modifiant les paramètres de réseau personnalisé dans le fichier Compose, j’ai non seulement résolu le problème mais également documenté une solution pérenne pour éviter que ce type d’incident ne se reproduise. Cette expérience a renforcé l’importance de Docker pour orchestrer des tests complexes avec plusieurs services interconnectés.
Dans le cadre du projet académique MedHead PoC, Docker a également joué un rôle crucial. Ce projet académique visait à concevoir une application basée sur des microservices pour la gestion des lits d'hôpitaux en situation d'urgence. Docker a permis de conteneuriser chaque microservice (frontend, backend, base de données) de manière indépendante, garantissant une portabilité et une compatibilité totale entre les environnements de développement et de production. Une anecdote marquante a été l’intégration d’un service tiers pour la visualisation en temps réel des données critiques, où Docker a permis de tester rapidement des configurations complexes sans compromettre l’intégrité des autres services.
Une autre anecdote mémorable dans le laboratoire de tests chez Orange concerne une mise à jour critique des images Docker utilisées pour les tests mobiles. Après une mise à jour automatique de l’image, certains tests ont commencé à échouer de manière inattendue. En investiguant, j’ai découvert que la nouvelle version contenait une dépendance incompatible avec le framework de test utilisé. J’ai résolu ce problème en créant une image Docker personnalisée, verrouillant des versions spécifiques des dépendances, et j’ai intégré cette image dans le pipeline Jenkins. Ce correctif a non seulement résolu le problème immédiat mais également amélioré la stabilité des tests à long terme.
Enfin, Docker a permis d’introduire une méthodologie d’isolation et de parallélisation des tests dans le laboratoire de tests. En conteneurisant chaque suite de tests, j’ai pu exécuter plusieurs tests simultanément sur des environnements indépendants, réduisant de manière significative le temps global d’exécution des tests. Cela a particulièrement été utile pour les campagnes de tests massives, où chaque minute gagnée représentait un gain significatif pour l’équipe.
Docker a été utilisé dans divers contextes pour répondre à des besoins variés :
Je possède une expertise approfondie avec Docker, couvrant les aspects suivants :
Docker est une compétence essentielle dans mon parcours professionnel. Son adoption dans des projets complexes comme MedHead PoC et son utilisation quotidienne dans le laboratoire de tests chez Orange m'ont permis de développer une expertise qui est directement applicable à des environnements modernes et exigeants.
Grâce à une immersion pratique et à des projets concrets, j’ai acquis rapidement des compétences solides avec Docker. Les défis rencontrés dans le laboratoire de tests chez Orange, combinés à la nature intuitive de Docker, m'ont permis de maîtriser cet outil en un temps record.
Mon objectif est d’approfondir mes connaissances en orchestration avancée avec Kubernetes, tout en explorant des solutions cloud-native pour rendre les déploiements encore plus performants et scalables.
Ce poste marque un tournant important dans ma carrière, renforçant mon expertise en test et qualification logicielle. En tant qu’ingénieur, mes responsabilités incluent la conception de stratégies de test pour garantir la fiabilité des solutions, l’automatisation des tests à l’aide d’outils comme Selenium, Appium, et Cypress, ainsi que la gestion d’environnements complexes en utilisant Docker et Grafana.
Je collabore étroitement avec les équipes de développement et DevOps, en intégrant des pipelines CI/CD via Jenkins, pour assurer des livraisons fluides et rapides. Ce rôle exige une approche rigoureuse pour détecter les anomalies critiques, optimiser les performances, et améliorer continuellement la qualité des livrables.
Grâce à ce poste, j’ai approfondi mes compétences techniques et appris à gérer des projets où la qualité et la robustesse des systèmes sont essentielles au succès des initiatives stratégiques d’Orange.
Cette alternance a marqué une étape décisive dans ma carrière, me permettant de mettre un premier pied dans le monde professionnel et de découvrir les réalités d’un environnement exigeant. Intégré à l’équipe EQL, j’ai eu l’opportunité de contribuer activement à des projets critiques, notamment en automatisant les scénarios de test, en optimisant les processus de qualification logicielle et en gérant le banc de tests avec rigueur.
Ce rôle a non seulement renforcé mes compétences techniques en outils tels que Selenium, Appium, et Grafana, mais m’a également permis de développer des compétences interpersonnelles essentielles à travers la collaboration avec des équipes pluridisciplinaires. Cette expérience enrichissante a également jeté les bases de ma future carrière chez Orange, menant à la signature de mon CDI au sein de la même entreprise, preuve de la confiance mutuelle construite au fil des mois.
Dashboard Grafana : Ce projet constitue un exemple phare de l’utilisation de Grafana pour améliorer la supervision des VM et optimiser les processus de test, démontrant une intégration réussie avec Prometheus et des outils de monitoring avancés.
Ce stage, bien que court, a été une expérience particulièrement enrichissante qui m’a permis de découvrir de près le fonctionnement d’un environnement professionnel dynamique.
Ce stage m’a également permis de m’initier au travail en équipe dans un cadre agile, où la communication, les itérations courtes et l’amélioration continue étaient au cœur des processus. Cette immersion dans la méthode agile m’a aidé à mieux comprendre l’importance de la collaboration et des outils de gestion de projet pour livrer des solutions performantes et adaptées aux besoins des utilisateurs.

Grafana Dashboard

Healthcare App




Étudiant en Master 2 mention Expert en ingénierie logicielle à l’ISCOD, une école de référence en alternance, j’ai choisi de réaliser mon apprentissage au sein de l’entreprise Orange, un acteur majeur des télécommunications et de l’innovation numérique en Europe. Cette opportunité m’a permis de conjuguer formation académique et expérience professionnelle, tout en consolidant mes compétences dans un environnement technique de haut niveau.
Mon rôle s’inscrit dans l’équipe EQL (Équipe Qualité Logicielle) d’Orange, spécialisée dans les tests d’applications web et mobiles. Cette équipe joue un rôle central en garantissant la qualité et la fiabilité des produits numériques avant leur mise en production. Le laboratoire de tests d’Orange repose sur un réseau complexe de machines virtuelles (VM), utilisées pour simuler divers scénarios d’utilisation, tester les limites de performance et valider la robustesse des applications.
Cependant, la supervision manuelle de ces VM présentait de sérieux défis : des vérifications fastidieuses, un risque élevé d’erreurs humaines et une perte de temps considérable. Ces inefficacités impactaient directement la productivité et la fiabilité des tests, créant un besoin urgent d’automatisation pour améliorer la surveillance et la réactivité des équipes.
Mon projet consistait donc à concevoir et à mettre en œuvre une solution de supervision automatisée des VM en utilisant Grafana, pour la visualisation des métriques en temps réel, et Prometheus, pour la collecte et l’analyse des données. Cette solution visait à centraliser les informations critiques et à fournir une alerte proactive en cas d’anomalies, optimisant ainsi les processus de tests et la qualité globale des déploiements.
Le projet vise à résoudre une problématique opérationnelle majeure : la gestion et la supervision des machines virtuelles utilisées dans le laboratoire de tests. En combinant la puissance de Grafana et la robustesse de Prometheus, j’ai développé un tableau de bord interactif qui centralise en temps réel les données essentielles des VM. Ce tableau de bord offre une visualisation intuitive des métriques telles que l’utilisation du CPU, la mémoire consommée, l’état du stockage et la latence des applications.
Par exemple, grâce à cette solution, les testeurs peuvent rapidement identifier des anomalies comme des pics d’utilisation anormaux ou des retards dans les réponses système. Un système d’alertes automatisées a été intégré, permettant d’envoyer des notifications instantanées aux équipes concernées dès qu’une métrique dépasse un seuil critique. De plus, le tableau de bord offre des fonctionnalités de filtrage et de zoom, permettant une analyse détaillée sur des périodes spécifiques et facilitant l’identification des tendances ou des problèmes récurrents.
En outre, l’intégration de ce système dans le workflow de l’équipe EQL a permis d’établir une surveillance continue et proactive, remplaçant les vérifications manuelles chronophages. Cette solution a ainsi permis d’améliorer significativement la réactivité de l’équipe face aux incidents, tout en assurant une meilleure gestion des ressources et une optimisation des tests de performance.
La mise en œuvre de la solution de supervision automatisée a généré des gains de temps remarquables. Auparavant, les vérifications manuelles des machines virtuelles prenaient des heures et étaient sujettes aux erreurs humaines, mais grâce à la surveillance en temps réel, ces opérations sont désormais réalisées de manière instantanée et fiable. Les alertes configurées permettent d’identifier et de résoudre les anomalies avant qu’elles n’impactent les tests, renforçant ainsi la stabilité du système.
De plus, l'interface intuitive et personnalisable a grandement amélioré l'adoption de la solution par les testeurs, qui ont salué la clarté des visualisations et la réactivité des notifications. La centralisation des données a facilité la communication entre les équipes techniques et les utilisateurs, créant une synergie qui a contribué à une meilleure coordination et à un respect plus rigoureux des délais.
Pour l'avenir, plusieurs axes d'amélioration ont été identifiés pour renforcer encore la performance et l'efficacité de la solution. L'ajout de nouvelles métriques et le développement de fonctionnalités d'analyse prédictive permettront d'anticiper les anomalies avant qu'elles ne surviennent. En outre, il est envisagé d'étendre la solution à d'autres types d'infrastructures, comme les serveurs physiques et les conteneurs, afin de garantir une couverture de supervision plus globale.
Par ailleurs, la création de guides détaillés et l'organisation de sessions de formation régulières seront essentielles pour assurer une adoption durable et faciliter l'utilisation de la solution par tous les acteurs concernés. L'intégration d'outils de machine learning pour une analyse avancée des données représente également une perspective prometteuse, susceptible d'améliorer la précision des alertes et la réactivité de l'ensemble du système.
Le projet présente plusieurs points forts, notamment l'amélioration significative de l'efficacité des processus de tests et la qualité des résultats obtenus grâce à une supervision automatisée. L'interface intuitive et les alertes proactives ont été particulièrement appréciées par les testeurs, renforçant ainsi leur confiance dans la solution et facilitant une meilleure collaboration avec l'équipe technique.
Néanmoins, quelques axes d'amélioration ont été identifiés. Une documentation initiale plus complète aurait facilité la prise en main pour certains utilisateurs, et des sessions de formation plus approfondies pourraient être envisagées pour maximiser l'utilisation de la solution. Ces retours offrent des pistes claires pour des améliorations futures, afin de renforcer l'impact global et la fiabilité de la solution dans l'environnement de supervision.
Ce projet m’a permis de relever un défi technique et organisationnel tout en consolidant mes compétences en ingénierie logicielle dans un cadre professionnel exigeant.

Étudiant en Master 2 mention Expert en ingénierie logicielle à l’ISCOD, j’ai eu l’opportunité de mener un projet individuel dans le cadre d’un module de formation proposé par Visiplus. Ce projet, intitulé MedHead, s’inscrit dans une démarche d’apprentissage approfondi des principes d’architecture logicielle et de gestion de projet, tout en répondant à une problématique concrète liée au domaine médical.
MedHead a été conçu comme une preuve de concept (PoC) pour illustrer la possibilité d’unifier les pratiques d’un consortium médical en proposant une plateforme centralisée. L’objectif principal était de développer une solution capable de gérer efficacement des situations d’urgence, notamment en optimisant les recommandations de lits d’hôpitaux. Ce problème est récurrent dans les institutions médicales, où la gestion des ressources, notamment des lits disponibles, peut avoir des conséquences critiques pour les patients nécessitant une intervention rapide.
Ce projet a été réalisé selon une architecture basée sur des microservices, alignée sur le cadre méthodologique TOGAF (Architecture Development Method). Cette approche a permis de structurer le projet en modules indépendants, chacun répondant à une fonctionnalité spécifique, tout en facilitant la collaboration entre différentes entités d’un même consortium. Le projet a également été conçu avec une stratégie CI/CD (intégration et déploiement continu) rudimentaire, visant à accélérer les cycles de développement et à garantir une qualité optimale.
Travailler sur ce projet en autonomie totale a été un défi particulièrement enrichissant. J’ai été amené à gérer toutes les étapes du processus, de la conception de l’architecture au développement backend et frontend, en passant par l’automatisation des tests. Ce projet m’a permis de mettre en pratique les compétences acquises dans mon cursus tout en développant une solution répondant à un besoin réel et complexe dans un contexte médical critique.
MedHead est une preuve de concept (PoC) ambitieuse qui vise à démontrer la faisabilité d’une plateforme centralisée pour améliorer la gestion des recommandations de lits d’hôpitaux lors de situations d’urgence. Conçue pour répondre à un besoin critique dans le secteur médical, cette solution permet d'obtenir une vue en temps réel des ressources disponibles et d'optimiser leur répartition pour une réponse rapide et efficace.
La plateforme repose sur une architecture modulaire basée sur des microservices, permettant de décomposer les fonctionnalités en modules indépendants et facilement maintenables. Par exemple, un microservice dédié collecte et agrège les données issues des différents hôpitaux partenaires, tandis qu'un autre se concentre sur l'analyse des indicateurs de disponibilité des lits. Cette approche offre la flexibilité nécessaire pour adapter la solution aux variations de charge et facilite la maintenance ainsi que l’évolution du système.
L’interface utilisateur, développée avec Angular, a été conçue pour être moderne et intuitive. Elle permet aux gestionnaires de visualiser instantanément des informations clés telles que l’état des lits disponibles, les taux d’occupation et les prévisions d’urgence. Par exemple, en cas de forte affluence, le système met en évidence les zones critiques grâce à des graphiques dynamiques et des indicateurs visuels, tout en déclenchant des alertes automatiques pour signaler les anomalies.
Pour garantir la fiabilité et la réactivité de la solution, j’ai intégré un processus d’intégration et de déploiement continu (CI/CD) qui automatise les tests et les mises à jour de la plateforme. Cette démarche permet de déployer rapidement de nouvelles fonctionnalités tout en minimisant les risques d’erreurs. Chaque changement est soumis à une batterie de tests automatisés, assurant ainsi une amélioration continue de la qualité du service.
Enfin, MedHead intègre un système de feedback qui permet aux utilisateurs finaux de signaler des problèmes ou de suggérer des améliorations. Lors d'une phase pilote, les gestionnaires d'hôpitaux ont pu identifier des besoins spécifiques en matière de répartition des lits, conduisant à l’ajout de fonctionnalités de filtrage avancé et de personnalisation des recommandations. Ce retour d’expérience a été essentiel pour affiner les algorithmes de décision et garantir une réponse adaptée aux situations d'urgence.
La mise en œuvre de la solution a débuté par une analyse approfondie des besoins. J'ai rencontré les testeurs et les responsables opérationnels afin de comprendre les problématiques spécifiques liées à la supervision des machines virtuelles. Cette phase d’analyse a permis d’identifier précisément les métriques critiques à surveiller et de définir les seuils d’alerte pertinents, en s’appuyant sur des méthodes de collecte des requirements et des études de cas pratiques.
Par la suite, la phase de conception de l’architecture a été structurée selon la méthode TOGAF, garantissant une approche modulaire et évolutive. L’adoption d’une architecture microservices a permis de découper le système en modules indépendants, chacun répondant à une fonctionnalité spécifique. Ce choix technologique a facilité l’intégration avec des outils de surveillance tels que Prometheus pour la collecte des données et Grafana pour leur visualisation. Le recours à Python pour développer des scripts complémentaires a également été déterminant pour automatiser certains processus.
Durant le développement, j'ai concentré mes efforts sur la création d’un tableau de bord interactif, la configuration des alertes et l’automatisation des tests. J’ai conçu des graphiques et des jauges personnalisés dans Grafana pour fournir une vue claire et instantanée des performances des VM, et j’ai intégré des notifications automatiques qui alertent immédiatement les équipes en cas de dépassement des seuils critiques. Des tests utilisateurs ont ensuite été menés pour valider la pertinence des visualisations et l’efficacité des alertes, avant de déployer la solution dans l’environnement de production.
La dernière étape a consisté en un suivi post-déploiement rigoureux. J’ai organisé des sessions de formation et fourni une documentation détaillée pour accompagner les utilisateurs dans la prise en main de la solution. Ce suivi a permis de recueillir des retours précieux pour affiner et améliorer continuellement le système.
L’objectif principal de ce projet était d’optimiser la gestion des ressources hospitalières en automatisant la supervision des machines virtuelles. En éliminant les vérifications manuelles, la solution vise à libérer du temps précieux pour les équipes de test, tout en réduisant considérablement le risque d’erreurs humaines.
Un autre objectif majeur était d’améliorer l’efficacité des processus de tests grâce à une surveillance proactive. En centralisant les données de performance et en configurant des alertes en temps réel, la solution permet de prendre des décisions rapides et éclairées en cas de dysfonctionnements. L’interface intuitive a également été conçue pour faciliter l’adoption de la solution par les utilisateurs, tout en assurant une meilleure coordination entre les équipes techniques.
À long terme, le projet vise à offrir une plateforme modulable et évolutive, capable de s’adapter aux besoins futurs du consortium médical et d’intégrer de nouvelles fonctionnalités au fur et à mesure des évolutions technologiques.
Le projet se confronte à plusieurs enjeux essentiels. Le premier enjeu est la réactivité en situation critique : il est impératif que la solution permette une intervention rapide pour minimiser les délais en cas d’urgence. La complexité technique représente également un défi majeur, car il faut développer un système modulaire capable de traiter et d'afficher des données en temps réel, sans compromettre la performance.
Un autre enjeu important est l'adoption de la solution par les utilisateurs. La facilité d'utilisation de l'interface et la clarté des informations affichées sont cruciales pour encourager les professionnels médicaux à intégrer cette nouvelle méthode de supervision dans leur quotidien. Enfin, la solution doit s’intégrer harmonieusement dans l’écosystème technique existant, assurant ainsi une fiabilité à long terme et une évolutivité permettant d’ajouter de nouvelles fonctionnalités au besoin.
Comme pour tout projet innovant, certains risques doivent être pris en compte. Un risque majeur réside dans la complexité des algorithmes de recommandation, qui doivent être suffisamment précis pour fonctionner en temps réel sans ralentir les performances globales du système. Une mauvaise configuration des seuils d’alerte pourrait conduire à des notifications excessives ou, au contraire, à un manque d'alerte en cas de problème critique.
Un autre risque est l'adoption limitée de la solution par les utilisateurs. La résistance au changement peut freiner la transition vers un système automatisé, surtout si la formation et la documentation initiale ne sont pas suffisamment complètes. Enfin, des problèmes d'intégration entre Prometheus, Grafana et les autres outils utilisés pourraient compromettre la fiabilité de la collecte et de l'affichage des données, impactant ainsi la prise de décision.
Le processus a été divisé en plusieurs étapes clés. Tout d'abord, une phase d'analyse des besoins a permis d'identifier les problématiques spécifiques et de définir les métriques à surveiller. Ensuite, la conception technique a été réalisée en structurant l'architecture avec la méthode TOGAF et en sélectionnant les technologies adaptées, telles que Grafana et Prometheus.
La phase de développement a impliqué la création du backend, du frontend et des scripts d'automatisation des tests. Une fois les fonctionnalités développées, une phase de validation a été menée à l'aide de scénarios réels pour garantir la fiabilité de la solution. La formation des utilisateurs et la rédaction de la documentation ont constitué les étapes finales, suivies d'un déploiement et d'un suivi post-déploiement pour intégrer les retours et améliorer continuellement le système.
Le succès du projet a reposé sur la collaboration de plusieurs acteurs clés. En tant qu'étudiant-développeur, j'ai pris la responsabilité de la conception, du développement et du déploiement de la solution. Les testeurs, en tant qu'utilisateurs finaux, ont apporté des retours précieux lors des phases de validation, permettant d’ajuster les fonctionnalités et d’améliorer l’interface. Par ailleurs, l'équipe technique a joué un rôle de soutien en garantissant l'intégration de la solution dans l'infrastructure existante et en fournissant des conseils techniques pour optimiser la configuration des outils.
La mise en œuvre de la solution a généré des résultats tangibles et significatifs. Les vérifications manuelles, auparavant chronophages, ont été entièrement automatisées, permettant une surveillance en temps réel des machines virtuelles. Les alertes configurables ont permis une intervention rapide en cas d'anomalie, augmentant ainsi la fiabilité des tests et la qualité globale des déploiements.
De plus, la centralisation des données a amélioré la communication et la collaboration entre les équipes techniques et les testeurs, ce qui s'est traduit par une meilleure coordination et un respect plus rigoureux des délais. L'ensemble du projet a démontré que l'automatisation des processus et l'intégration de solutions de monitoring avancées pouvaient transformer des défis opérationnels en opportunités d'innovation.
Les perspectives d'avenir pour ce projet sont prometteuses. À court terme, il est envisagé d'étendre la solution en ajoutant de nouvelles métriques et fonctionnalités d'analyse prédictive pour anticiper les anomalies avant qu'elles ne surviennent. À moyen et long terme, l'objectif est d'étendre la supervision à d'autres infrastructures, telles que les serveurs physiques et les conteneurs, afin de garantir une couverture globale.
Par ailleurs, la mise en place d'une documentation plus complète et de sessions de formation régulières permettra de faciliter l'adoption de la solution par un plus grand nombre d'utilisateurs. Enfin, l'intégration d'outils de machine learning pour l'analyse avancée des données pourrait offrir une nouvelle dimension à la gestion proactive des incidents, renforçant encore la fiabilité et l'efficacité du système.
Le projet a démontré une approche méthodique et rigoureuse de la résolution de problèmes, avec une architecture modulaire et une documentation complète qui offrent une base solide pour des extensions futures. La solution a permis d’améliorer significativement l'efficacité des processus de tests et de surveillance, grâce à une intégration réussie des outils de monitoring et d'automatisation.
Toutefois, certains aspects pourraient encore être améliorés, notamment en ce qui concerne l’optimisation des algorithmes de recommandation et l’adaptation de la solution aux spécificités de chaque utilisateur. Une collaboration plus étroite avec des professionnels médicaux pourrait également enrichir l’analyse des besoins et améliorer encore la pertinence de la solution.
Pour perfectionner cette solution, plusieurs axes d’amélioration ont été identifiés. Tout d’abord, il serait bénéfique de développer des algorithmes de recommandation plus sophistiqués capables de gérer des cas d'usage encore plus complexes. De plus, renforcer la formation des utilisateurs et améliorer la documentation initiale faciliterait la prise en main et l’adoption de la solution. Enfin, une collaboration étroite avec des experts du domaine médical permettrait d’ajuster la solution aux besoins spécifiques des professionnels, garantissant ainsi une meilleure adéquation entre la technologie et les exigences opérationnelles.
Ce projet a été une expérience complète et formatrice, me permettant de mettre en pratique mes compétences tout en répondant à un besoin concret et critique.

Étudiant en Master 2 mention Expert en ingénierie logicielle à l’ISCOD, j’ai réalisé ce projet de portfolio dans le cadre de ma formation et en lien avec le programme Visiplus. Ce portfolio, que vous consultez actuellement, est une plateforme interactive et évolutive qui reflète mon parcours, mes compétences et mes projets réalisés. Plus qu’un simple site web, il représente une vitrine professionnelle mettant en lumière mes aptitudes en développement web et en gestion de projet.
Le développement de ce portfolio a été une opportunité unique pour approfondir mes compétences techniques, notamment en Angular, un framework puissant et largement utilisé dans le développement d’applications web modernes. Ce projet m’a permis de dépasser mes premières appréhensions face à Angular, en maîtrisant ses concepts avancés tels que la création de composants réutilisables, la gestion des services pour centraliser les données, et l’intégration d’animations fluides pour une meilleure expérience utilisateur.
Le portfolio a été conçu avec une vision évolutive : il est structuré de manière modulaire pour faciliter l’ajout de nouvelles sections ou fonctionnalités à l’avenir. Il est également pensé pour être responsive, garantissant une compatibilité optimale avec différents appareils, qu’il s’agisse d’ordinateurs, de tablettes ou de smartphones. Réalisé de manière totalement autonome, ce projet illustre ma capacité à mener un développement complet, de la phase de conception à la mise en production, tout en respectant les principes de bonnes pratiques en développement web.
Le portfolio est une application web dynamique et interactive conçue comme une vitrine professionnelle, illustrant l'ensemble de mon parcours académique et de mes compétences techniques. Ce projet, réalisé dans le cadre de ma formation en Master 2 mention Expert en ingénierie logicielle à l’ISCOD et en collaboration avec le programme Visiplus, représente bien plus qu’un simple site web : il est le reflet de mon évolution personnelle et professionnelle.
Conçu pour mettre en avant mes compétences en développement web et en gestion de projet, le portfolio se structure autour de plusieurs sections clés – parcours, compétences, projets et contact – chacune étant soigneusement élaborée pour offrir une navigation fluide et intuitive. Chaque section a été pensée pour permettre une immersion complète dans mon univers professionnel, facilitant ainsi la compréhension de mes réalisations et de mes aspirations futures.
Le développement de cette plateforme a été une opportunité unique pour approfondir mes compétences techniques, notamment en Angular, un framework puissant et largement utilisé dans la création d'applications web modernes. J’ai pu dépasser mes premières appréhensions face à Angular en maîtrisant des concepts avancés tels que la création de composants réutilisables, la gestion centralisée des données via des services, et l’intégration d’animations fluides pour enrichir l’expérience utilisateur. Ces éléments m’ont permis de créer une interface à la fois esthétique et fonctionnelle, capable de captiver l’attention tout en assurant une navigation intuitive.
Le portfolio a été conçu avec une vision évolutive et modulaire. Chaque section a été développée en tant que composant Angular indépendant, ce qui facilite non seulement la maintenance et la mise à jour du site, mais aussi l’ajout de nouvelles fonctionnalités au fil du temps. Cette approche modulaire garantit que le site reste flexible et adaptable, capable d’évoluer en fonction des nouvelles tendances technologiques et des besoins changeants du marché.
De plus, le portfolio a été optimisé pour être entièrement responsive, assurant une compatibilité optimale sur une large gamme d’appareils, qu’il s’agisse d’ordinateurs, de tablettes ou de smartphones. Cette adaptabilité est essentielle pour offrir une expérience utilisateur cohérente et de haute qualité, quel que soit le support utilisé pour accéder au site.
Réalisé de manière totalement autonome, ce projet illustre ma capacité à mener un développement complet, de la phase de conception initiale jusqu’à la mise en production finale, en respectant les bonnes pratiques du développement web moderne. Chaque étape, depuis l’architecture modulaire jusqu’à l’intégration des animations et l’optimisation du responsive design, témoigne de mon engagement à créer des solutions innovantes et performantes.
Le portfolio se distingue par une interface utilisateur moderne et intuitive, conçue pour offrir une expérience visuelle captivante et fluide. Chaque élément de l’interface a été pensé pour guider l’utilisateur de manière naturelle : des animations de survol élégantes aux transitions dynamiques entre les sections, en passant par des animations de chargement soignées, tout contribue à créer un environnement interactif et engageant.
L’architecture du site repose sur des composants modulaires développés en Angular, ce qui permet de structurer chaque section (compétences, projets, contact, etc.) de manière indépendante. Cette modularité facilite non seulement la maintenance et les mises à jour, mais aussi l’ajout de nouvelles fonctionnalités à mesure que le portfolio évolue. La gestion centralisée des données via des services Angular assure une séparation nette entre la logique métier et la présentation, garantissant ainsi une cohérence des informations à travers l’ensemble de l’application.
De plus, l’intégration d’animations et de transitions a été réalisée pour renforcer l’interaction avec l’utilisateur. Par exemple, des effets de survol sur les boutons et des transitions fluides lors du passage d’une section à une autre enrichissent l’expérience utilisateur, rendant la navigation à la fois agréable et intuitive.
Le portfolio propose une présentation structurée et détaillée de mes compétences techniques, réparties en catégories claires afin de faciliter la lecture et l’évaluation de mon expertise. Chaque compétence est accompagnée d’exemples concrets et de visuels interactifs qui illustrent mes réalisations et mon savoir-faire.
La mise en avant des projets est réalisée via une galerie dynamique qui présente mes réalisations majeures. Chaque projet est détaillé avec des descriptions explicatives et des liens directs permettant d’accéder à des démonstrations ou des études de cas approfondies. Cette fonctionnalité permet non seulement de valoriser mes réalisations, mais aussi de démontrer l’étendue et la diversité de mes compétences en développement web.
Par ailleurs, la section contact intègre un formulaire fonctionnel et ergonomique, facilitant ainsi la communication avec les visiteurs et les recruteurs. L’ensemble du site a été optimisé pour un design responsive, garantissant une expérience utilisateur optimale sur tous les types d’appareils, qu’il s’agisse d’ordinateurs, de tablettes ou de smartphones.
Le développement de ce portfolio a débuté par une phase d’analyse approfondie des besoins, durant laquelle j’ai identifié les sections essentielles et les fonctionnalités indispensables pour refléter mon parcours et mes compétences. Cette étape a permis d’établir un cahier des charges détaillé, garantissant que la solution finale répondrait à des critères de qualité et de performance élevés.
La phase de développement technique a ensuite été structurée autour de la création de composants Angular dédiés à chaque section du site. Chaque composant a été conçu pour être indépendant et réutilisable, ce qui facilite la maintenance et permet d’enrichir progressivement le portfolio avec de nouvelles fonctionnalités. L’ajout d’animations et d’effets visuels a été intégré pour dynamiser la navigation et améliorer l’expérience utilisateur, en créant des transitions fluides entre les différentes sections.
Des tests rigoureux ont été réalisés pour vérifier la compatibilité multi-appareils et optimiser les performances du site. Grâce à une attention particulière portée à l’optimisation du chargement et à l’ergonomie, le portfolio offre une navigation rapide et sans accroc. La mise en production s’est accompagnée d’une stratégie d’optimisation SEO, garantissant une bonne visibilité en ligne et une accessibilité optimale pour tous les visiteurs.
Dans ce projet de portfolio, plusieurs acteurs ont joué des rôles déterminants pour assurer le succès de l’ensemble du processus, depuis la conception jusqu’à la mise en production et l’adoption finale de la plateforme. Chaque acteur, à sa manière, a contribué à façonner la solution pour qu’elle reflète fidèlement mes compétences et mon parcours professionnel.
En tant qu'étudiant-développeur, j'ai assumé l'entière responsabilité de la conception, du développement et du déploiement du portfolio. Mon rôle m’a amené à orchestrer toutes les phases du projet, en commençant par une analyse approfondie des besoins et des objectifs, jusqu’à la mise en place d’une architecture modulaire basée sur Angular. J’ai pris soin de développer des composants réutilisables, d’intégrer des animations fluides pour enrichir l’expérience utilisateur et d’assurer une compatibilité optimale avec divers supports. Tout au long du projet, j'ai également rédigé une documentation détaillée et organisé des sessions de feedback pour ajuster et perfectionner la plateforme, démontrant ainsi ma capacité à gérer un projet complet de manière autonome.
Les utilisateurs finaux, composés principalement de recruteurs, de collaborateurs et de partenaires potentiels, représentent le public cible essentiel de ce portfolio. Leur expérience utilisateur était au cœur des priorités : l’interface a été conçue pour être intuitive, attrayante et facilement navigable, afin de permettre une compréhension rapide de mon parcours et de mes compétences. Leurs retours ont joué un rôle crucial dans l’optimisation de l’ergonomie du site, en influençant le choix des animations, la disposition des informations et la personnalisation des sections. Ces utilisateurs, en consultant le portfolio, bénéficient d’une vitrine professionnelle qui renforce ma crédibilité et met en avant la qualité de mes réalisations.
En résumé, la réussite de ce projet repose sur la synergie entre mon implication personnelle en tant qu’étudiant-développeur et l'adoption enthousiaste des utilisateurs finaux. Ce dialogue constant et cet engagement mutuel ont permis d'ajuster la solution aux besoins du marché, démontrant ainsi ma capacité à mener un projet de bout en bout et à créer une plateforme qui répond de manière optimale aux attentes des professionnels.
Ce projet est un aboutissement personnel et professionnel, combinant technique, créativité et stratégie, tout en me permettant de consolider mes compétences pour l’avenir.

Dans le cadre de ma première année de Master en Informatique à l’Université des Sciences de Montpellier, j’ai eu l’opportunité de participer à un projet collaboratif visant à répondre à une problématique réelle dans le secteur hospitalier. Réalisé avec deux autres étudiants, ce projet s’inscrivait dans une démarche pédagogique visant à renforcer nos compétences en ingénierie logicielle tout en apportant une solution concrète à un problème critique : les inefficacités dans la transmission des informations entre les différents services hospitaliers.
Dans de nombreux établissements de santé, la gestion des flux d’informations – qu’il s’agisse des urgences, de la pharmacie, du service de paiement ou des soins spécialisés – repose souvent sur des outils disparates comme des emails, des formulaires papier ou des appels téléphoniques. Cette absence de standardisation engendre des retards importants, des erreurs de communication et peut, dans certains cas, compromettre la qualité des soins prodigués aux patients. Face à ce constat, il est apparu indispensable de développer une solution centralisée capable de standardiser et d’automatiser ces échanges, améliorant ainsi la réactivité et la fiabilité des transmissions d’informations essentielles.
Le projet vise à développer une application web centralisée, conçue pour optimiser la gestion et la transmission des informations au sein des établissements hospitaliers. Cette plateforme interactive rassemble en un seul lieu l’ensemble des données critiques, permettant aux professionnels de santé d’accéder instantanément aux informations indispensables, telles que l’état des lits disponibles, les urgences en cours, et les besoins en ressources.
L’application repose sur une architecture modulaire, basée sur des microservices, qui permet d’intégrer facilement de nouvelles fonctionnalités et de s’adapter aux évolutions des pratiques hospitalières. Grâce à une interface utilisateur intuitive développée avec des technologies modernes, l’application offre une expérience de navigation fluide et personnalisable, avec des visualisations claires et dynamiques. Par ailleurs, des mesures de sécurité avancées – incluant le cryptage des données et une gestion fine des droits d’accès – assurent la protection des informations sensibles conformément aux normes en vigueur.
Par exemple, lors d’une situation d’urgence, le tableau de bord centralisé permet de visualiser rapidement les indicateurs clés, de détecter les anomalies et d’envoyer des alertes aux responsables, facilitant ainsi une prise de décision rapide et efficace. Ce projet a ainsi transformé un processus manuel et fragmenté en une solution intégrée et automatisée, contribuant à une meilleure coordination entre les différents services hospitaliers.
Les objectifs de ce projet étaient multiples et ambitieux. D'une part, il s'agissait de standardiser les échanges d'informations entre les services hospitaliers afin d’assurer une communication fluide et homogène, réduisant ainsi les délais de transmission et minimisant les risques d'erreurs. L'amélioration de la réactivité des équipes était primordiale, car dans les situations d'urgence, chaque minute compte pour garantir la prise en charge rapide des patients.
D'autre part, le projet visait à renforcer la sécurité des données sensibles en mettant en place des mécanismes de cryptage robustes et en définissant des rôles d'accès spécifiques, garantissant que seules les personnes autorisées puissent consulter des informations critiques. Par ailleurs, l’expérience utilisateur devait être optimisée grâce à une interface simple et ergonomique, afin d’encourager l’adoption de la solution par le personnel hospitalier, souvent peu familier avec des outils technologiques avancés.
Enfin, l’un des objectifs clés était de concevoir une solution évolutive, capable de s’adapter aux besoins futurs des établissements hospitaliers et aux évolutions technologiques. Cette approche permettrait d’ajouter facilement de nouvelles fonctionnalités, d’intégrer d’autres types de données ou de connecter la plateforme à des systèmes externes, garantissant ainsi une pertinence et une durabilité à long terme.
Dans le cadre de ce projet, plusieurs risques ont été identifiés qui pourraient impacter la qualité, la performance et l’adoption de la solution. D’abord, la complexité technique représente un défi majeur. Les interactions entre le frontend, le backend et la base de données, ainsi que la communication entre les différents microservices, peuvent entraîner des problèmes de performance ou des décalages dans la synchronisation des données. Il est crucial de mettre en place des tests rigoureux et une surveillance constante pour anticiper ces problèmes.
Un autre risque important concerne l’adoption de la solution par les utilisateurs finaux, en particulier dans le domaine médical où les professionnels peuvent être réticents à intégrer de nouvelles technologies. Sans une formation adéquate et un accompagnement personnalisé, l’adhésion à la plateforme pourrait être limitée, compromettant ainsi l’impact opérationnel du projet.
De plus, la maintenance et l’évolutivité du système représentent également un enjeu. Le système doit être conçu de manière à pouvoir intégrer de nouvelles fonctionnalités et à s’adapter aux évolutions technologiques sans compromettre ses performances. Un manque de prévoyance dans la conception de l’architecture pourrait entraîner des difficultés lors de la mise à jour ou de l’extension du système.
Enfin, la disponibilité des données est un risque critique. En cas de dysfonctionnement dans la collecte ou le traitement des métriques, les décisions basées sur ces informations pourraient être erronées, affectant la fiabilité globale de la supervision. Une surveillance constante et des mécanismes de redondance sont donc indispensables pour garantir l’intégrité des données.
Le développement de ce projet a été réalisé en plusieurs phases structurées, chacune jouant un rôle déterminant dans la réussite globale de la solution. La première étape a été l’analyse des besoins, durant laquelle j’ai mené des consultations approfondies avec les utilisateurs finaux pour identifier les points de friction dans les échanges hospitaliers. Cette phase a permis de définir avec précision les fonctionnalités essentielles et les métriques à surveiller, établissant ainsi un cahier des charges solide.
La phase suivante a consisté en la conception technique, où j’ai élaboré les diagrammes UML et défini l’architecture du système. En adoptant des principes tels que TOGAF et en structurant le projet autour d’une architecture basée sur des microservices, j’ai assuré la modularité et l’évolutivité de la solution. Cette approche a permis de découper le système en modules indépendants, facilitant ainsi l’intégration avec les outils de surveillance et l’automatisation des processus.
Le développement proprement dit a impliqué la création du backend en Java (avec Spring Boot) et du frontend en Angular, ainsi que la mise en place des scripts de tests automatisés. Des tests fonctionnels et de performance ont été effectués pour valider la robustesse du système, avant de passer à la phase de déploiement. Ce dernier a inclus la configuration des environnements de conteneurisation à l’aide de Docker et la gestion des configurations pour chaque phase de développement, garantissant ainsi une transition fluide du développement à la production.
Enfin, une phase de documentation détaillée a été réalisée, accompagnée de sessions de formation pour les utilisateurs, assurant une prise en main rapide et efficace de la solution, suivie d’un suivi post-déploiement pour intégrer les retours et effectuer les ajustements nécessaires.
Le succès de ce projet repose sur la contribution et la collaboration de plusieurs acteurs clés, chacun jouant un rôle spécifique tout au long du processus de développement. En tant qu’étudiant-développeur, j’ai été le principal responsable de la conception, du développement et du déploiement de la solution. J’ai mené l’analyse des besoins, élaboré l’architecture, codé les différentes composantes du système et assuré la mise en production, tout en documentant minutieusement chaque étape pour garantir la pérennité du projet.
Les encadrants académiques ont joué un rôle essentiel en assurant un suivi pédagogique rigoureux, en validant les choix techniques et en apportant des conseils stratégiques tout au long du développement. Leur expertise a permis de s’assurer que le projet respecte les standards de l’ingénierie logicielle et répond aux attentes du cursus.
Par ailleurs, les utilisateurs hospitaliers fictifs ont été simulés pour représenter le public cible réel de la solution. Ces simulations ont permis de tester l’ergonomie et la pertinence des fonctionnalités développées, fournissant des retours précieux pour ajuster l’interface et optimiser la prise en main de la plateforme. Les retours collectifs ont été intégrés dans une démarche d’amélioration continue, garantissant que la solution répond aux besoins pratiques et opérationnels du secteur médical.
La mise en œuvre de la solution a permis d’atteindre des résultats tangibles et significatifs. La supervision automatisée des machines virtuelles a considérablement réduit les délais de vérification et éliminé les erreurs liées aux interventions manuelles. Les alertes en temps réel ont permis d’anticiper rapidement les incidents, assurant une réactivité accrue des équipes de test et une meilleure fiabilité globale des processus.
De plus, l’interface intuitive et personnalisable a favorisé une adoption rapide de la solution par les utilisateurs, améliorant la coordination entre les équipes techniques et opérationnelles. Les données centralisées ont facilité la communication et la prise de décision, renforçant ainsi la productivité et la qualité des tests.
En somme, le projet a démontré qu’une approche intégrée, combinant automatisation, surveillance proactive et design ergonomique, peut transformer des processus complexes en systèmes efficaces et fiables, tout en optimisant les ressources et en respectant les délais impartis.
Les perspectives d'avenir pour ce projet sont multiples et prometteuses. À court terme, l’objectif est d’enrichir la plateforme en ajoutant de nouvelles métriques et fonctionnalités d’analyse prédictive, permettant d’anticiper les anomalies avant qu’elles ne se manifestent. Cette amélioration continuera d’optimiser la prise de décision et la réactivité des équipes.
À moyen et long terme, il est envisagé d’étendre la solution à d’autres types d’infrastructures, telles que les serveurs physiques et les conteneurs, afin de garantir une supervision complète de l’environnement hospitalier. La migration vers des architectures cloud permettra également d’améliorer la scalabilité et la flexibilité du système.
Par ailleurs, une documentation enrichie, associée à des sessions de formation régulières, facilitera l’adoption de la solution par un plus grand nombre d’utilisateurs. Enfin, l’intégration d’outils de machine learning pour l’analyse avancée des données offre la perspective d’une gestion proactive des incidents, transformant ainsi la supervision en un outil de prédiction et d’optimisation continue.
Le projet a démontré une approche méthodique et rigoureuse de la résolution de problèmes, avec une architecture modulaire qui offre une base solide pour des extensions futures. La solution mise en place a permis d’améliorer significativement l’efficacité des processus de tests et de surveillance, grâce à une intégration réussie des outils de monitoring et d'automatisation.
Toutefois, certains défis subsistent, notamment en ce qui concerne l’optimisation des algorithmes de recommandation et l’adaptation fine de la solution aux besoins spécifiques des utilisateurs réels. Une collaboration plus étroite avec des professionnels du domaine médical pourrait enrichir l’analyse des besoins et améliorer encore la pertinence et l'efficacité de la solution.
Pour parfaire cette solution, plusieurs axes d’amélioration ont été identifiés. Tout d’abord, il serait avantageux de développer des algorithmes de recommandation plus sophistiqués pour gérer des cas d'usage complexes et offrir des prévisions plus précises. Ensuite, renforcer la formation des utilisateurs et améliorer la documentation initiale faciliterait une adoption plus rapide et complète de la plateforme. Enfin, une collaboration étroite avec des experts du domaine médical permettrait d’ajuster la solution aux exigences spécifiques du secteur, garantissant ainsi une meilleure adéquation entre la technologie et les besoins opérationnels.
Ce projet a été une expérience enrichissante tant sur le plan technique que sur le plan humain. En combinant l’utilisation de technologies modernes et une approche collaborative, nous avons pu apporter une solution tangible à une problématique réelle, contribuant ainsi à l’amélioration des services hospitaliers et à la qualité des soins prodigués aux patients.

Dans le cadre de ma première année de Master en Informatique à l’Université des Sciences de Montpellier, j’ai eu l’opportunité de collaborer étroitement avec un camarade de classe sur un projet académique visant à résoudre une problématique cruciale rencontrée dans les entreprises : l’optimisation de la gestion des stocks. Ce projet s’inscrivait dans un module de développement logiciel, combinant des aspects techniques et organisationnels pour répondre à un besoin stratégique réel.
La gestion des stocks représente un enjeu majeur pour les entreprises opérant dans les domaines de la production, de la distribution et de la logistique. Les défis liés au surstockage, aux ruptures de stock et à l’absence de visibilité en temps réel entraînent des coûts inutiles, des pertes financières et une diminution de la satisfaction client. Conscient de ces enjeux, notre équipe a cherché à développer une solution capable de centraliser les données relatives aux stocks et de fournir des outils d’analyse permettant d’anticiper les fluctuations et d’optimiser la planification.
Ce projet a ainsi constitué une véritable opportunité d’appliquer les connaissances théoriques acquises durant le cursus tout en relevant un défi opérationnel. En travaillant en binôme, nous avons pu mutualiser nos compétences et explorer ensemble les meilleures pratiques en ingénierie logicielle, en mettant l’accent sur l’intégration de technologies modernes pour assurer une solution à la fois performante et évolutive.
L’objectif principal du projet était de développer une application web moderne capable d’optimiser la gestion des stocks en temps réel, afin de réduire les coûts liés au surstockage et d’éviter les ruptures qui peuvent impacter négativement la chaîne logistique. Nous visons à fournir aux entreprises une solution qui non seulement centralise toutes les informations relatives aux stocks, mais qui intègre également des outils d’analyse avancés pour permettre une prise de décision rapide et éclairée.
Un autre objectif important était d’automatiser les processus de prévision, afin de générer des recommandations d’achat basées sur l’historique des données et les tendances observées. En outre, le projet devait offrir une interface intuitive et accessible, permettant aux utilisateurs de naviguer facilement à travers les informations critiques, tout en garantissant la sécurité des données sensibles grâce à des mécanismes de gestion des autorisations et de cryptage.
Enfin, la solution devait être conçue de manière modulaire pour faciliter les mises à jour et les évolutions futures, assurant ainsi sa pérennité dans un environnement où les besoins et les technologies évoluent constamment.
Le Système de Gestion Intelligente de Stock est une plateforme web conçue pour permettre aux entreprises de suivre, analyser et optimiser leurs stocks en temps réel. La solution se présente comme un outil complet qui centralise toutes les informations relatives aux stocks et intègre des algorithmes de prévision pour anticiper les besoins futurs. L’application offre une vue d’ensemble détaillée de chaque entrepôt, avec des données actualisées sur les niveaux de stock par produit et par catégorie.
Conçue avec une architecture moderne, la plateforme repose sur une base de données solide et sur des technologies de développement web avancées. Le frontend a été développé avec Angular, offrant une interface utilisateur moderne, réactive et entièrement responsive. Les utilisateurs peuvent accéder à des tableaux de bord interactifs qui présentent des graphiques dynamiques et des indicateurs clés, facilitant ainsi l’analyse des performances et la détection de tendances. Du côté du backend, l’application est développée en Java avec Spring Boot, garantissant une robustesse et une scalabilité optimales, même en cas de forte charge.
La solution intègre également des fonctionnalités d’alerte automatique. En cas de niveaux critiques détectés – qu’il s’agisse d’un surstockage ou d’une rupture imminente – des notifications sont envoyées en temps réel aux responsables, permettant ainsi une intervention rapide. Par ailleurs, des outils d’analyse avancés, basés sur des algorithmes de machine learning, sont envisagés pour affiner les prévisions et générer des recommandations d’achat personnalisées.
Le système offre une série de fonctionnalités clés qui permettent une gestion efficace des stocks. Tout d’abord, il assure le suivi en temps réel des niveaux de stock dans chaque entrepôt, avec des visualisations dynamiques qui facilitent l’analyse des données. Grâce aux algorithmes de prévision, la plateforme peut anticiper les besoins futurs en matière de réapprovisionnement, réduisant ainsi les coûts liés au surstockage et aux ruptures.
De plus, la solution intègre des alertes automatiques qui notifient les utilisateurs dès que les niveaux de stock atteignent des seuils critiques. Ces alertes, combinées à des rapports d’analyse détaillés, permettent aux responsables de prendre des décisions rapidement et de planifier les opérations de manière proactive.
Enfin, la gestion des utilisateurs et des rôles assure une sécurité renforcée, en garantissant que seules les personnes autorisées ont accès aux informations sensibles. L'interface, conçue pour être simple et intuitive, offre une expérience utilisateur fluide et agréable, tout en facilitant l’accès aux données essentielles pour une gestion optimale des stocks.
Les enjeux de ce projet sont multiples. Tout d’abord, il s’agit de garantir la précision des prévisions malgré les fluctuations imprévues dans les données de stock, afin d’optimiser la gestion des ressources. L’adoption de la solution par les utilisateurs est également un enjeu crucial, car une interface conviviale et une expérience utilisateur optimisée sont indispensables pour encourager l’adhésion du personnel hospitalier ou industriel.
Un autre enjeu important est l’évolutivité de la solution. Le système doit être capable de s’adapter à une augmentation du volume des données et à l’ajout de nouvelles fonctionnalités sans compromettre ses performances. Cela implique de concevoir une architecture flexible et modulaire qui permet des mises à jour continues et une intégration aisée avec d’autres outils.
Plusieurs risques ont été identifiés pour ce projet. Parmi eux, la qualité des données disponibles est un point critique, car des données inexactes pourraient compromettre la fiabilité des prévisions. L’intégration avec les systèmes existants peut également représenter un défi technique, avec des risques d’incompatibilités qui pourraient affecter la performance globale de la solution. Par ailleurs, la maintenance du système nécessite une vigilance constante, notamment pour s’assurer que les algorithmes de prévision restent pertinents face à l’évolution des tendances du marché.
Il existe également un risque d’adoption limitée, en particulier si les utilisateurs rencontrent des difficultés à s’approprier une nouvelle technologie. Pour pallier ce risque, une documentation détaillée et des sessions de formation seront essentielles.
Le projet a été développé en suivant une méthodologie structurée, divisée en plusieurs étapes clés. La première étape a consisté en une analyse détaillée des besoins, permettant d’identifier les problématiques spécifiques et de définir les fonctionnalités à développer. Ensuite, la conception technique a été réalisée en élaborant des diagrammes UML et en définissant une architecture logicielle basée sur des principes modernes, tels que la modularité et l’évolutivité.
La phase de développement a impliqué la création parallèle du frontend en Angular et du backend en Java avec Spring Boot, ainsi que l’intégration des algorithmes de prévision et des mécanismes d’alerte. Des tests unitaires et fonctionnels ont été effectués à chaque étape afin de garantir la qualité du code. La phase finale a consisté en la rédaction d’une documentation complète et en la formation des utilisateurs, suivies d’un déploiement sur un environnement de production sécurisé.
La mise en œuvre de la solution a permis d’optimiser significativement la gestion des stocks. Les processus manuels, longs et sujets aux erreurs ont été remplacés par une surveillance en temps réel, ce qui a permis de réduire les coûts liés aux surstocks et aux ruptures. La plateforme offre une visibilité complète sur l’état des stocks, permettant une prise de décision rapide et efficace, tout en améliorant la coordination entre les différents services.
Les retours des utilisateurs ont été très positifs, soulignant la simplicité de l’interface, la pertinence des prévisions et la robustesse globale du système. Le projet a démontré qu’une solution technologique bien conçue peut transformer des processus complexes en outils de gestion efficaces, tout en offrant une grande flexibilité pour les évolutions futures.
Les perspectives d'avenir pour cette solution sont prometteuses. À court terme, l’objectif est d’enrichir la plateforme en intégrant des capteurs IoT et des algorithmes d’analyse prédictive plus avancés pour anticiper les fluctuations des stocks. À moyen terme, la solution pourra être déployée sur une infrastructure cloud, permettant ainsi une scalabilité et une flexibilité accrues, tout en réduisant les coûts opérationnels.
Par ailleurs, une collaboration étroite avec des entreprises réelles permettra de tester et d’ajuster la solution dans des conditions industrielles concrètes, garantissant ainsi son adéquation avec les besoins du marché. Enfin, l'intégration d'outils de machine learning pour l'analyse avancée des données ouvrira la voie à une gestion proactive et optimisée des stocks, transformant la solution en un véritable outil stratégique.
Le projet a permis de mettre en lumière l'importance d'une approche intégrée et modulaire pour résoudre des problématiques complexes. L'architecture mise en place, associée à une documentation complète et à une formation adaptée, offre une base solide pour des extensions futures. La solution a prouvé son efficacité en améliorant la gestion des stocks, en réduisant les délais de communication et en augmentant la fiabilité des données collectées.
Toutefois, des défis subsistent, notamment en ce qui concerne l'optimisation des algorithmes de prévision et l'adaptation de la plateforme aux spécificités des entreprises réelles. Une collaboration plus poussée avec des experts du secteur pourrait enrichir l'analyse des besoins et améliorer l'efficacité de la solution.
Pour parfaire la solution, plusieurs axes d’amélioration ont été identifiés. Il serait bénéfique de développer des algorithmes de recommandation plus sophistiqués pour gérer des variations imprévues et affiner les prévisions. Renforcer la formation initiale et améliorer la documentation permettraient également une adoption plus rapide et efficace de la plateforme. Enfin, une collaboration étroite avec des professionnels du secteur industriel et logistique pourrait offrir des insights précieux pour ajuster la solution aux exigences spécifiques du marché, garantissant ainsi une meilleure adéquation entre la technologie et les besoins opérationnels.
Ce projet académique a permis d’acquérir une expérience pratique en développement logiciel tout en répondant à une problématique stratégique pour les entreprises modernes.

Développeur Full stack, Testeur et Psychologue