Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

Alexandre DIEUL

Alexandre DIEUL

Tech lead - Backend developer - DevOps - Freelance

Python
FastAPI
Java / J2EE
Spring
DevOps
38 ans
TOULOUSE (31500)
Freelance Ouvert aux opportunités
Bonjour, je suis ingénieur logiciel avec une forte expertise en développement backend et en data science. Ma spécialisation en Java/Spring et Python, combinée à mon expérience en data engineering et en machine learning, me permet d'aborder de manière compétente une large gamme de projets informatiques.

Mes dernières missions chez Airbus et Shadow illustrent bien ma capacité à gérer des projets complexes et techniques. Chez Airbus, j'ai travaillé sur des projets tels que l'Automated File Classification Tool en utilisant des techniques de machine learning, et j'ai également développé et optimisé des microservices pour des systèmes d'authentification et de gestion des accès. Mon rôle en tant que Tech Lead m'a permis de superviser et de former des équipes, garantissant ainsi la qualité et l'efficacité des projets.

En plus de mes compétences en développement, j'ai également une solide expérience en DevOps, notamment avec des outils tels que Docker, Helm, Kubernetes, et Openshift, ce qui me permet d'automatiser et d'optimiser les processus de déploiement et de gestion des applications.

Je suis passionné par l'innovation technologique et toujours désireux d'acquérir de nouvelles compétences. Que ce soit pour une start-up innovante ou une grande entreprise, je suis prêt à relever de nouveaux défis et à apporter ma contribution à des projets ambitieux.

Cordialement,
Alexandre DIEUL.
CV réalisé sur DoYouBuzz
  • J'interviens sur le projet AFCT (Automated File Classification Tool). Notre but est de proposer un service permettant de déterminer automatiquement le degré de sensibilité de documents en utilisant des techniques de machine learning.

    L'équipe (Agile - SAFE) est composée de 8 personnes de côté d'Alten et d'à peu près 10 personnes du côté de Capgemini. Les ingénieurs qui composent cette grande équipe ont des profils de développeur et surtout de Data scientist.

    J'interviens en tant que Techlead. En plus de participer à l'architecture des différentes solutions ainsi que du développement comme n'importe quel développeur de l'équipe, je suis responsable de la codebase devant le PO, le client Airbusien ainsi que l'architecte solution qui nous accompagne.

    Je suis chargé de faire monter en compétences une équipe de niveau intermédiaire. Cette équipe comporte 4 développeurs python backend côté Alten et un peu plus côté Capgemini (3~7 personnes).
    Je suis chargé de faire respecter les bonnes pratiques de code (code quality, Definition of Done, Gitflow, python3 PEP8), les objectifs en matière de diminution de la dette technique accumulée par le passé (couverture de tests, documentation).
    Je fais ceci au travers de présentations techniques, de sessions de Shadowing, de workshops techniques qu'ils soient prévus ou commandés par les besoins des développeurs.
    Je produis beaucoup de contenus de documentation, souvent écrits, parfois en vidéos, en mettant toujours l'accent sur la pédagogie, la bienveillance et la pratique. Jamais un concept abstrait n'est abordé sans une application concrète "hands-on" dans leurs tâches quotidiennes. Ce fut notamment le cas quand j'ai vulgarisé pour eux le fonctionnement des API REST, le Gitflow et la création de la chaîne DevOps. Mon exigence vis-à-vis de mes développeurs est acceptée parce qu'ils constatent rapidement leur montée en compétences et ils sont conscients que j'ai largement défrichés des sujets épineux pour eux.
  • Stack technique:
    • Python 3.8/3.9
    • Pytest
    • FastAPI
    • Swagger
    • Alembic
    • Pydantic
    • SQLAlchemy
    • PostgreSQL
    • OAuth2/MobileSSO
    • Github
    • Jenkins
    • Openshift4
    • PyCharm
    • JupyterHub
    • Shell/bash (côté Linux)
    • PowerShell (coté Windows)
    • Confluence
    • Sonarqube
    • Artifactory / JFrog
  • Jalons:

    > Dès mon arrivée: audit de la codebase, shadowing des développeurs, estimations de la dette technique et du niveau de chacun. Après détermination du plan d'action avec le PO-proxy, écriture de contenus de formation (Gitflow, Coding rules, Git rules), présentation de ces contenus au travers de workshops et contrôle de la mise en application des bonnes pratiques ainsi que de la diminution de la dette technique.

    > Architecture, conception, développement et déploiement de la première API REST (batch API) de notre écosystème. Les premières APIs ont également été utilisées comme références afin d'illustrer comment architecturer une API REST (Design pattern MVCS), comment gérer l'évolution et le déploiement du modèle séparé, comment tester unitairement et fonctionnellement ces applications. Les autres développeurs ont rapidement été appelés à prendre en main ces projets et à se les approprier en ajoutant de nouveaux endpoints, ce qu'ils ont fait volontiers.

    > Création de la chaîne DevOps (une précédente chaîne existait mais elle était dysfonctionnelle et incomplète).
    Workflow:
    Les pipelines Jenkins réagissent par appel de webhook à des événements github en se lançant automatiquement. Ils récupèrent le code, exécutent les tests unitaires & fonctionnels, postent le résultat des tests sur la page de la Pull Request sur Github, calculent la couverture qu'ils envoient sur SonarQube, publient l'artefact de la solution sur Artifactory et déploient la solution sur OpenShift4.
    La création ainsi que le paramétrage de la chaîne DevOps sont intégralement documentés.
    Une première développeuse a déjà été appelée à s'aider de la documentation afin de monter la chaîne DevOps liée à une nouvelle brique de l'écosystème Api Reporting.
En savoir +
  • - Reprise de l'existant - Décembre -> Février
    Au sein du département Business Intelligence, je suis intervenu pour reprendre la stack Data existante. Cette stack data permettait de faire remonter les données depuis nos datacenters, répartis en Europe et en Amérique du Nord, pour une analyse en temps réel par la BI.

    Data workflow:
    • extraction (Stripe collector, Zendesk scrapper, MongoDB scrapper, collecteurs internes basés sur Telegraf)
    • messages bus (Kafka)
    • data processing (stream processing en utilisant faust)
    • datalake storage (S3)
    • database storage (Clickhouse)
    • data visualization (Metabase, Grafana)

    Après un rapide transfert de connaissances du précédent Data engineer (~3 semaines), je suis passé seul responsable du bon fonctionnement de la stack Data jusqu'à l'embauche d'un interne en Février 2022.
    En vue d'un futur biseau, J'ai pris un maximum d'informations au jour le jour, j'ai cartographié et documenté mes sessions de debug afin de permettre à mon successeur de démarrer dans de meilleures conditions qu'à mon arrivée.

    Les briques internes à l'écosystème étaient développées en Python3. Nos solutions étaient versionnées sur gitlab. Le déploiement des briques (Docker) se faisait via des playbooks Ansible.
    En plus du monitoring et du debugging de la stack, j'assurais un support sur notre fork de Metabase (outil de visualisation et d’agrégation des données). Je mettais régulièrement à jour ce fork ainsi que je le déployais.
  • - Formation du nouvel interne- élaboration de la nouvelle stack data 2.0 - conception de logiciels sur-mesure pour la BI - Février -> Décembre

    • Formation du nouvel interne grace à la documentation (gitlab) ainsi qu'à mes tutoriels vidéos pédagogiques.

    • [Pour la BI] Conception et publication interne d'un plugin Sheets pour accéder aux données de metabase sur Google Sheet

    • [Pour la BI] Conception et développement (Python3) du projet product-tracking permettant d'extraire la donnée depuis Metabase (DB->Clickhouse) vers Amplitude, un outil d'analyse business avancée.

    • Conception et développement (Python3) du projet synapse-kafka-api. Ce projet expose des endpoints API REST. Il permet aux applications de notre écosystème ne pouvant pas s'interfacer avec le bus de messages Kafka de diffuser des events kafka grâce à de simples requêtes HTTP.

    • Participation à la conception de la nouvelle stack Data v2.
      Data workflow:

    • Pour les sources tierces (Stripe, Zendesk, MongoDB)
      ++ Data ingestion tool: Airbyte [-> Data Warehouse]
    • Pour les sources internes (applications JS, Python).
      ++ Data integration tools: Kapacitor, Kafka connect -> Kafka [-> Data Warehouse].
    • Data Warehouse: Snowflake, Amazon Redshift, BigQuery [-> Visualization tools / ML Tools]
    • Orchestrator: DBT.
    • Visualization tools: Metabase, Grafana.
En savoir +
  • Explorer la nouvelle solution interne FusionOperate (DevOps : kubernetes, helm, Azure)
  • Déployer le projet de FusionLimits (microservice Java / Spring boot) via Fusion Operate
  • Identifier les forces et les faiblesses de FusionOperate ainsi que de son processus d’onboarding et participer à la décision quant à la généralisation de son utilisation pour le déploiement des microservices au sein de Finistra
  • Kubernetes
  • helm
  • FusionOperate
  • Microsoft Azure
  • GitOps
  • Jenkins
  • Java J2E (Spring Framework)
  • Spring Boot
  • Spring Cloud
  • Spring Web
  • Spring Data JPA
  • Jira
  • Github Enterprise
  • Endpoint protection - knowledge transfer & industrialisation (voir plus bas pour la génèse du projet)
    Objectif: formation de nouveaux intervenants sur le projet (Airbus India et Bundle Capgemini) et industrialisation du projet
    Etapes Clefs:
    1- Ajout de tests unitaires
    2- Optimisation du système de cache
    3- Ajout de documentation (scopes: architecture, développement et utilisation)

    Volumétrie (production): entre 6k et 15k requêtes par jour.
  • Java J2E (Spring Framework, Spring boot, Spring cloud, Spring Web, Spring Data JPA)
  • Gestionnaire de projet & Forge logicielle : Jira/Github Enterprise
  • Environnement DevOps (Jenkins, Ansible)
  • Méthode Agile
  • OS : Openshift (cloud)
  • SGBD : MongoDB
  • Environnement DevOps (Jenkins, scripts utilisant le client oc "Openshift CLI")
En savoir +
  • Deep learning (Natural Language Processing): automatisation de la classification des tickets d'incidents
    Objectif: Diminuer le temps de traitement des incidents par les opérateurs, réduction les coûts
    Etapes Clefs:
    1- Définition de la problématique
    2- Collecte des données (diverses sources de données)
    3- Nettoyage des données
    4- Data augmentation
    5- Construction des hypothèses, Détermination des variables explicatives
    6- Construction du modèle
    7- Transfer learning (gagner du temps à l'entraînement afin de ré-utiliser le fruit des précédents entraînements)
    8- Entraînement du réseau de neurones
    9- Exposer le réseau de neurones de classification en l'encapsulant dans un web service REST (Docker, Python, Flask)
    10- Présentation, communication, documentation, automatisation des tâches 1, 2 et 3 de traitement des données (script python)
  • Outils: Python, Jupyter, Pytorch, Fast.ai, Numpi, Panda, Matplotlib, docker
En savoir +
  • Endpoint protection (Policy Decision Point)
    Objectif: Architecture, conception et développement d'un Policy Décision Point utilisant la notion de role pour contrôler l'accès aux API/Services web (Middle-grained).
    Endpoint protection (anciennement nommé Role management) est utilisé d'une part par la Gateway (Gateway>Queen>Eggs, voir plus bas) afin de vérifier les accès et d'autre part directement par front end de services tiers comme MyAccount, MyAccess afin d'adapter l'affichage en fonction du role de l'utilisateur, notamment.

    Volumétrie (production): entre 6k et 15k requêtes par jour.
  • Java J2E (Spring Framework, Spring boot, Spring cloud, Spring Web, Spring Data JPA)
  • Gestionnaire de projet & Forge logicielle : Jira/Github Enterprise
  • Environnement DevOps (Jenkins, Ansible)
  • Méthode Agile
  • OS : Openshift (cloud)
  • SQBD : MongoDB
  • Environnement DevOps (Jenkins, scripts utilisant le client oc "Openshift CLI")
  • Production de documentation
  • Formation des développeurs et des opérateurs
  • AutoEgg : génération automatique des microservices ("eggs" de l'architecture Queen&Eggs) en fonction du contrat d'interface (OpenAPI/Swagger) du service tiers à proxifier.
    L'objectif était de faire gagner du temps à l'équipe de développement pendant la proxification de nouveaux services tiers (passer de 3 jours homme à <0.5 jour homme par proxification).
  • Outils: Python, Django, Java Spring
  • Production de documentation (Confluence)
  • Formation des développeurs
  • IAM API v2 - Architecture, conception et développement
    Objectif: refondation du proxy API grâce à une architecture en microservices (Queen & Eggs) avec branchement à chaud des modules (eggs). Chaque egg embarque le code de proxification du service tiers ainsi qu'une documentation au format OpenAPI/Swagger.
    A l'ajout de chaque egg, aucune configuration n'est nécessaire (plug'n'Play), l'egg démarre et la Queen le détecte (scan d'une plage de ports) et re-route les requêtes vers l'egg adéquates.
    Volumétrie (production): entre 30k et 100k requêtes par jour.
  • Java J2E (Spring Framework, Spring boot, Spring cloud, Spring
  • Web, Spring Data JPA)
  • Gestionnaire de projet & Forge logicielle : Jira/Github Enterprise
  • Environnement DevOps (Jenkins, Ansible)
  • Méthode AgileOS : RHEL 7 (RedHat)SQBD : Microsoft SQL
  • ServerEnvironnement DevOps (Jenkins, Centreon, Ansible)
  • Production de documentation (Confuence)
  • Formation des développeurs
  • Tooling IDaas - R&D - Traitement de données IAM - gestion de groupes et de privilèges (déclenchement périodique)AIRBUS (INNX/ZIOIA) De Janvier 2018 à ?Objectif: Réaliser un ensemble d'outils pour faciliter le traitement de données utilisateurs (comptes, groupes)
  • Sources de données : LDAP, Onelogin, ET4GPMG
  • SGBD : Microsoft SQL Server
  • backend en Java/Spring
  • frontend en Angular
  • Méthode Agile
  • OS : RHEL 7 (RedHat)
En savoir +
  • IAM API v1 : Conception et développement d'une Gateway (Coarse-grained) et d'un proxy API (REST API) afin d'unifier l'IAM (Identity and Access Management) au sein du groupe Airbus (freelancing via société Infotel).
    Volumétrie (production): entre 30k et 100k requêtes par jour.
  • Framework : Java Spring (Spring Boot, Spring Web - REST, Spring Data JPA, ...)
  • Forge logicielle (ALM) : Tuleap
  • Gestionnaire de versions : Git
  • Méthode Agile
  • OS : RHEL 7 (RedHat)
  • Environnement DevOps (Jenkins, Centreon, Ansible)
  • SQBD : Microsoft SQL Server
  • Production de documentation (Confluence)
  • Formation des développeurs
En savoir +
  • Module SMS - Intervention et formation du personnel
En savoir +
  • Développement logiciel (Athéna)
    Technologie :WinDev, WinDev Mobile (Android & Windows Mobile)
    Langage : WLangage
    SGBD : HFSQL
    Objectif : Fiabiliser et poursuivre le développement sur la suite logicielle Athéna
  • Création Full Stack (Module SMS) : Boîtier tout-en-un pour l'envoi massif de SMS interfacé avec la suite logicielle Athéna
    Matériel : Raspberry Pi, clef 3G/4G (carte SIM)
    OS : Gnu/Linux
    SGBD : MySQL
    Langages : PHP Orienté objet (framework Descartes), JQuery, Bash scripting (sécurité, monitoring)
    Interfaçage : interface Athéna, web service, requête HTTP, interfaçage web
  • Documentation fonctionnelle
  • Documentation d'assemblage
  • Documentation de dépannage
  • Documentation client
  • Formation client
  • Intervention Client
En savoir +
  • Conception et réalisation d'une application de saisie de dommages des carlingues d’avions avec module 3D sur iPad (iOS).
  • Conception et réalisation d'un outil de pilotage en J2EE.
  • Réalisation d’un logiciel d’externalisation d’une base de données SQL Server en JAVA, puis réalisation d’un site web en J2EE permettant d’exploiter les données externalisées.
CLOVIS, un système monétaire décentralisé et sécurisé par chiffrement asymétrique. CLOVIS est une crypto-monnaie qui s'attache à favoriser la création de petites communautés d'échanges très localisées géographiquement tout en permettant des échanges à l'échelle globale de manière régulée entre toutes ces communautés. C'est une troisième voie entre le S.E.L. (Systèmes d’échanges locaux) et le Bitcoin.

Ingénieur généraliste en informatique.

Ecole Supérieure d'Informatique

Octobre 2014
Conception et développement logiciel
Réseau
Sécurité
Droit informatique

Section Informatique

Université Lille 1 Sciences Et Technologies

Septembre 2004 à juin 2007
  • Java
    Avancé
  • Python
    Avancé
  • Bash
  • HTML5
    Expert
  • CSS3
    Avancé
  • PHP
    Avancé
  • Javascript
    Bon niveau
  • WLangage
    Expert
  • C++
  • FastAPI
    Avancé
  • Django
    Bon niveau
  • Flask
    Avancé
  • anaconda
    Bon niveau
  • Spring (Boot, MVC, Security, JPA)
    Avancé
  • J2EE
    Bon niveau
  • Hibernate
    Bon niveau
  • docker / docker-compose
    Bon niveau
  • Openshift4
    Bon niveau
  • Jenkins
    Bon niveau
  • Helm
  • Kubernetes
  • Ansible
    Intermédiaire
  • Angular
    Bon niveau
  • Web services REST
    Expert
  • Web services SOAP
  • Git
    Avancé
  • Github
    Bon niveau
  • Fundation
    Bon niveau
  • MeteorJS
    Bon niveau
  • OSGI
  • Windev / Windev Mobile
    Expert
  • Conception Orientée Objet
  • UML
  • Design patterns
  • Architecture MVC
  • Architecture REST
  • Méthodes agiles (SCRUM)
  • Git
  • SVN
  • CVS
  • Raspberry Pi
    Expert
  • C.H.I.P.
    Expert
  • Arduino
  • PostgreSQL
    Avancé
  • MySQL
    Expert
  • Oracle
    Avancé
  • MongoDB
    Bon niveau
  • Uvicorn
    Intermédiaire
  • NginX
    Avancé
  • Apache
    Avancé
  • Tomcat
    Avancé
  • Glassfish
    Avancé
  • SSH
  • Cron
  • Docker
  • Docker-compose
  • PyCharm
  • IntelliJ IDEA
  • Eclipse
  • Sublime Text
  • PuttY
  • Filezilla
  • Ant
  • Maven
  • ArgoUML
  • Pack Office
  • Linux
    Expert
  • Debian
    Expert
  • Ubuntu
    Expert
  • Windows
    Expert
  • Mac OS X
    Bon niveau
  • Redhat (RHEL 7)
    Avancé
  • Français
    Expert
  • Anglais
    Expert
  • Espagnol
    Avancé
  • Guitare
  • Raspberry Pi
  • Robotique
  • Drones (pilotage Quadcopter)
  • Cryptographie
  • Développement Web
  • Internet Décentralisé
  • Sécurité & Pentesting éthique
  • Crypto-monnaies
  • Michel Audiard
  • Western Spaghetti
  • Science Fiction