Dans le cadre de l'architecture du projet Cloud privé, mon objectif est de concevoir une plateforme simplifiée permettant aux utilisateurs d'accélérer le déploiement et la gestion de leurs applications selon un modèle en self-service, tout en garantissant la conformité et la cohérence dans les déploiements.
Ma mission était d'accompagner les équipes de développement afin d'accélérer les déploiements sur les services Kubernetes Azure (AKS), ainsi que les déploiements des services Platform-as-a-Service (PaaS) de bases de données. En plus de cela, j'avais pour rôle d'améliorer la gouvernance, de mettre en place un gestionnaire de secrets, d'automatiser la gestion des certificats et les déclarations des ingress.
J'ai été chargé de faire évoluer le SI actuel de société, en identifiant les lacunes et en proposant une feuille de route pour l'amélioration, ainsi que leur évolution vers de nouveaux standards et technologies.
Responsable de la conception, de la mise en place des architectures logicielles et des
infrastructures adaptées aux besoins techniques :
Création de diagrammes LTA (Architecture Technique Logique).
Élaboration de propositions, spécifications et devis de projets.
Collaboration avec les parties impliquées pour définir l'architecture SI cible.
Conception d'une toolchain pour des déploiements plus fréquents et moins d'échecs.
Pilotage et conformité avec les standards SECDM/SDLC et best practices en multi-tenancy.
Mise en place de workflows GitOps pour l'infrastructure et applications, appliquant les
principes de continuous delivery.
Centralisation de la gestion des droits et permissions (RBAC).
Pilotage du programme FinOPs pour réduire les dépenses Cloud-native.
Établissement de haute disponibilité pour applications critiques.
Compétences dans le domaine de Kubernetes :
Automatisation de l'installation et de la configuration des clusters Openshift On-premise et
PaaS.
Sécurisation des clusters et des applications en mettant en place IAM, SSL, network policies
et RBAC.
Surveillance, optimisation des performances, de la capacité et de la disponibilité.
Création de packages pour les équipes, facilitant la création de pipelines CI/CD et d'objets
Kubernetes.
Utilisation d'Argo Workflows et de Choas Mesh pour appliquer les principes de chaos
engineering.
Conception d'une architecture Event-Driven pour moderniser les microservices, en utilisant
Kubernetes objects, Argo Workflows, Azure Function et Serverless workloads à partir de
webhooks, S3, schedules, Kafka, etc.
Expertise en plateforme de services Cloud :
Élaborer un plan d'architecture et de capacité pour la migration vers Azure.
Contribuer à la définition de normes techniques et de procédures opérationnelles.
Développer un framework d'automatisation basé sur Terraform et Argo-workflows.
Provisionner diverses ressources (AKS, VNet, VM, etc.) pour différentes unités
opérationnelles.
Créer des pipelines de build et de release avec Azure DevOps.
Assurer la sécurité, la surveillance et les sauvegardes des solutions déployées sur Azure.
Implémenter la sécurité et la gouvernance du cloud en utilisant Azure AD, Key Vault, Policy
et Security Center.
Établir des rôles basés sur Azure RBAC pour la répartition des tâches en interne.
Documenter et mettre à jour les normes ainsi que les directives relatives à l'utilisation du
cloud.
Gestion de Projet et Collaboration Interfonctionnelle :
Conseiller et former les équipes sur les meilleures pratiques en matière d'opérations de
développement, méthodes Agiles, nouveaux outils et technologies.
Collaborer avec les équipes de développement, d'exploitation, de qualité et de sécurité
pour assurer fiabilité, performances et sécurité des applications.
Assurer suivi et gestion des projets en collaboration avec les équipes concernées, dans le
respect des échéances et objectifs.
Favoriser la collaboration entre équipes et parties prenantes à travers réunions
hebdomadaires et démonstrations.
Fournir assistance technique, conseils et meilleures pratiques aux équipes.
Travailler avec parties prenantes pour fournir produits et services de haute qualité, tout en
respectant objectifs SLA.
Contribué à l'amélioration continue en identifiant les goulots d'étranglement, en mettant en
œuvre des pratiques d'ingénierie Agile et en optimisant les processus.
Fédérer les équipes autour de la stratégie et objectifs communs.
Collaborer avec différentes Business Units (BU) sur projets d'architecture tels que Cloudera,
DLS, architecture microservices, AIX/AS400, etc.
Gestion proactive avec outils avancés et méthodologies SRE :
Surveiller et résoudre les problèmes liés aux performances système et à la fiabilité.
Créer des tableaux de bord avancés, notifications et rapports en utilisant des outils comme
Dynatrace, Prometheus, Grafana et Splunk. Planifier la capacité, la santé, la disponibilité et
l'optimisation.
Collaborer à l'analyse des causes profondes (RCA) en cas d'incidents, et aider à élaborer des
plans d'action correctifs. Résoudre les problèmes liés aux performances, à la sécurité et à la
disponibilité.
Appliquer les principes d'ingénierie de fiabilité des services (SRE) pour respecter les
objectifs de niveau de service (SLA) et les contraintes budgétaires en matière d'erreurs.
Assurer un support de niveau 3.
Optimisation de la Continuité Opérationnelle :
Établissement de Stratégies de Sauvegarde et de Récupération
Établissez le RTO et le RPO pour chaque source de données et application.
Sélectionnez la solution de sauvegarde selon les critères pertinents.
Documentez et formez les exploitants à la stratégie de sauvegarde.
Compétences clés :
Distributed computing: System design, Distributed systems principles Cloud-native: OpenShift,
Azure, IaaS, PaaS, SaaS Virtualization: VMWare ESX/ESXi, Hyper - V, Citrix Xen Container
technologies: Docker, Openshift, AKS GitOps: GitLab, Argo CD, Crossplane CI/CD: Tekton,
Argorollout, Ansible, Docker, Vagrant, Terraform, ARM Template, Helm, Kustomize, Harbor,
Nexus, Chaos Mesh Coding: Go, Java, C#, AngularJS, Python, JS, Lua, Bash, PowerShell RDBMS:
Postgres SQL, MySQL, MongoDB atlas, PL/SQL Monitoring: ELK Stack, Nagios, Alertmanager,
Loki Security : ISAM, Keycloak, Cert Manager, PKI, HashiCorp Vault, Service Mesh (Jaeger, Kiali),
SealedSecret, SSL/TLS encryption, OAuth2, RBAC Networking: Kong, Netscaler, Proxy HA, Service
Mesh, REST, gRPC, HTTP(S), TCP, SSH OS: Linux, Windows Methodologies: Scrum, SAFe, Kanban,
Choas experience, SRE principles Workflow, SAST, DAST, SCA automation: Argo-workflows,
Argo-events Web servers: Tomcat, APACHE, JBOSS, Nginx, IIS Collaboration: Jira, Azure,
ServiceSnow, Jira, Confluence, Documentation, Teamwork Legacy: AS400, Jenkins
J’ai conçu une architecture innovante, fondée sur l’orchestration et la containerisation, en
utilisant Azure DevOps pour le déploiement continu
Optimisation de la Gestion de Projet et de l'Équipe :
Alignement des priorités avec la planification du sprint, les réunions quotidiennes et les
stand-ups.
Encadrement et coaching de l'équipe en favorisant l'auto-organisation et la responsabilité
collective.
Collaboration avec le Product Owner pour prioriser le backlog et clarifier les exigences.
Facilitation des réunions quotidiennes, des revues de sprint et des rétrospectives pour
optimiser la communication.
Mesure de la performance de l'équipe, identification des axes d'amélioration et mise en
œuvre de plans d'action.
Amélioration de l'efficacité, de la collaboration et de la satisfaction du client.
Utilisation de JIRA pour la gestion de projet et la facturation.
Architecture logiciel :
Concevoir et architecturer des systèmes basés sur des microservices, en utilisant des
technologies telles que WCF et des conteneurs Docker.
Diriger une équipe de 12 développeurs pour implémenter et déployer des services
hautement disponibles et résilients.
Optimiser les performances et résoudre les problèmes de latence en mettant en œuvre des
pratiques de surveillance et de profiling.
Collaborer étroitement avec les équipes de développement pour définir les interfaces entre
les microservices et garantir la cohérence du système.
Mettre en place une stratégie de sécurité robuste pour protéger les données sensibles et les
communications entre les services.
Encadrer les développeurs juniors et partager les meilleures pratiques d'architecture
orientée microservices et effectuer des revues de code.
Activer la publication des métadonnées de service via le point de terminaison MEX et
générer des classes proxy avec Svcutil.exe.
Mise en place de l'intégration continue et de la livraison continue :
Installer et configurer Jenkins et SonarQube.
Développer des stratégies d'intégration continue et de déploiement continu (CI/CD) pour
accélérer le cycle de développement.
Automatiser la construction et le déploiement de microservices sur Docker.
Conteneuriser et orchestrer des microservices sur plusieurs nœuds.
Automatiser les tests UI avec Selenium et TestStack.White.
Appliquer les principes cloud-native : DDD, TDD, CI/CD et l'observabilité.
Planifier et migrer la CI/CD on-premise vers Azure DevOps.
Gérer les dépendances des packages pour les microservices avec NuGet.
Mettre en place différentes variations d'une fonctionnalité pour mesurer l'impact et le
comportement à l'aide de feature flags.
Élaborer des stratégies de branching et de gestion des check-ins.
Compétences clés :
Coding: C#, F#, JavaScript, T-SQL, PL/SQL Virtualization: VMware vSphere, Hyper-V, Docker
(Swarm) Frameworks: WWF, WPF, Unity, MEF, NativeScript, React native, SpecFlow Markup and
data formats: XML, YAML, JSON, CSS, HTML Platforms: MSBuild, MSDeploy, IIS, SSIS, SQL
Server, Azure DevOps, ClickOnce, Nuget, Snoop Methodologies: TDD, BDD, SOLID, KISS, CQRS,
DDD Testing: Selenium, teststack white, MSTest, SoapUI, Fiddler Web services & protocols: WCF
SOAP/REST, HTTP, TCP, MSMQ Collaboration: Jira, Azure, Confluence, Excel, Teamwork,
Documentation Legacy: AS400, Jenkins, Firebase
Améliorer l'expérience utilisateur en la rendant plus fluide et accessible.
Prendre en compte les implications en matière de sécurité, de compatibilité et de
performances lors de la mise en œuvre de ces modifications.
Installer un nouveau serveur Jenkins , migrer les jobs et les pipelines existants :
Analyser le système DevOps actuel, identifier les composants à migrer ou à remplacer
par des composants compatibles avec Jenkins.
Utiliser des scripts Python et Groovy pour automatiser et personnaliser les flux de
travail et les tâches de Jenkins .
Surveiller et analyser les performances et les métriques de Jenkins à l'aide d'outils
comme NewRelic .
Mettre en œuvre des tests pilotés par les données en utilisant :
Réaliser des tests d'API avec TestNG .
Utiliser JMeter pour valider la fonctionnalité et les performances des services web
RESTful.
Exploiter NewRelic pour :
Surveiller, déboguer et améliorer les accords de niveau de service (SLA) des
applications.
Configurer des alertes pour informer l'équipe par e-mail.
Créer des tableaux de bord et des graphiques personnalisés.
Automatiser les tests d'interface utilisateur en utilisant TestStack.White et diverses
technologies.
Participer au développement et aux tests de systèmes embarqués basés sur C .
C#, C, Java, TestStack.White, TestNG, NUnit, JMeter, Maven, MSBuild, Jenkins, Jira, Team
tracking, Netbeans, Visual Studio, Agile (Scrum)
J’ai réussi à migrer une application web en ASP.NET Web Forms vers ASP.NET MVC , en utilisant les
technologies les plus récentes et les meilleures pratiques. J’ai également amélioré la qualité du
code et des requêtes SQL, et adopté la méthode Scrum pour une meilleure collaboration avec
l’équipe.
C#, HTML, CSS, JavaScript, SQL, MVC, ASP.NET, jQuery, Bootstrap, jQuery UI, Autofac, NLog,
Visual Studio, ReSharper, SonarQube, NUnit, MySQL, Cycle en V, Agile (Scrum)
J’ai travaillé comme développeur web full-stack sur un projet de prescription médicale
connectée de nouvelle génération. Mes principales responsabilités étaient :
Développer des interfaces web et mobiles intuitives et sécurisées en utilisant HTML5 , CSS ,
Bootstrap et jQuery
Créer des services web RESTful en utilisant ASP.NET MVC 3 et Entity Framework pour
gérer les données des patients, des médecins et des prescriptions
Utiliser MSMQ pour envoyer et recevoir des messages entre les différents acteurs du système
(pharmacies, laboratoires, assurances, etc.)
Utiliser Visual Studio comme environnement de développement intégré et Git comme
système de contrôle de version
Utiliser TFS 2010 comme outil de gestion de projet et de collaboration en suivant la
méthodologie Agile
Configurer et utiliser TFS 2010 CI/CD pour automatiser le processus de livraison continue
Utiliser IIS comme serveur web, Web Deploy comme outil de déploiement et ClickOnce
comme outil de distribution des applications client
Concevoir et implémenter la base de données relationnelle en utilisant SQL Server 2008
R2 , SSIS pour l’intégration des données, SSMS pour l’administration et SQL Server
Profiler pour le débogage
Utiliser un reverse proxy pour la sécurité du réseau, le front et le backend forwarding et
l’optimisation des performances
Appliquer les principes UML , Design Patterns , SOLID , DRY , GRASP , TDD et SDLC tout au
long du cycle de vie du logiciel
Respecter les normes SOA pour assurer l’interopérabilité et la réutilisabilité des services
Implémenter le modèle DAO pour l’accès aux données et utiliser Visio , UML et
Entreprise Architect pour la modélisation des systèmes
C#, SQL, HTML5, CSS, JavaScript, ASP.NET MVC 3, Entity Framework, Bootstrap, jQuery, MSMQ,
Visual Studio, Git, TFS 2010, IIS, Web Deploy, UML, Visio, EA, ClickOnce, Agile, UML,
Design Patterns, SOLID, DRY, GRASP, TDD, SDLC, SOA, SQL Server 2008 R2, SSIS, Reverse
Proxy, DAO
J’ai conçu des solutions multiplateformes pour mesurer et améliorer la QoS et la QoE des
terminaux, en utilisant des services de collecte des KPIs , des UI/UX natives et des méthodes
de mesure variées. J’ai également écrit du code propre et modulaire en suivant les principes
SOLID et le modèle MVVM , et appliqué les best practices et les normes de codage pour assurer
la qualité et les performances du code.
Java, C#, Objective-C, C, Symbian C++, XSLT, XML, XAML, JSON, NetBeans, Xcode, Visual
Studio, Android SDK, SQLite, iOS SDK, Windows Phone SDK, Git, WPF, MVVM, SOLID, DRY, Agile,
MVC, MVI, Clean Code, RESTful APIs, JSON/XML parsing, CSV, UI/UX design, Google Play, App
Store, OVH
.NET Developer | After-mouse; Villeurbanne | 11.2009 - 06.2010
J’ai développé des applications multi-touch pour la table Microsoft Surface et le Desktop en
utilisant WPF , XAML , Kinect , MVVM et Prism . J’ai également créé et consommé des services
web en SOAP , REST et JSON , et utilisé Expression Blend , Snoop , Kinect SDK et OpenCV pour
la conception, le débogage et l’implémentation des fonctionnalités. Mon objectif était de créer
des expériences utilisateur engageantes et interactives, en collaboration avec des équipes
Agile et en respectant les principes et les modèles OOD .
C#.NET, F#, XAML, XML, WPF, Prism, Kinect, OpenCV, Entity Framework, LINQ, WCF, SQL Server
Express, Visual Studio, Expression Blend, Git, Snoop, TortoiseSVN, ClickOnce, IIS,
WampServer, MVVM, DRY, Clean Code, OVH
Dans le cadre de mon projet sur la biodiversité, j’ai conçu et développé des applications RIA en
Silverlight , en utilisant Entity Framework, LINQ to SQL , WCF , KML , ArcGIS , GPS Trimble et
Flex . J’ai également participé à la conception de la base de données et à la création d’un
TaxoBrowser pour explorer la classification des espèces.
C#, JavaScript, ActionScript, HTML, XML, XAML, Flex, Silverlight, Entity Framework, LINQ,
WCF, MVVM, Telerik Controls, SQL Server 2008/2005, Visual Studio, Expression Blend,
TortoiseSVN, Agile, Model Driven Development, UML, OOAD, Google Maps, ArcGIS, KML, KMZ,
Trimble GPS, IIS, WampServer, OVH