Docker est un logiciel libre sous licence Apache 2.0. Il permet d’automatiser le déploiement d’applications dans des conteneurs logiciels.
Expérience professionnelle
GS1 France - 1 ans 75009 Paris, France
INGÉNIEUR DEVOPS & CLOUD / FULLSTACK ANGULAR ET NODEJS Nouv. 2023 - PRESENT
• Développement et amélioration du projet COL (CodeOnline), une plateforme dédiée à la gestion des produits et de leurs GTIN, permettant la
création de codes-barres conformément aux standards de GS1.
Réalisation:
- Développement de nouvelles fonctionnalités et correction des bugs existants sur les parties Front-end Angular et Back-end NodeJS du
projet CodeOnline-gtin.
- Monitoring des boutons de création de codes-barres en utilisant l’API Google Analytics.
- Monotoring des boutons de téléchargement de QR codes en utilisant le SDK Elasticsearch côté Back-end, et création de visualisations sur
Kibana pour le suivi des statistiques.
- Création d’une alarme CloudWatch en Terraform pour surveiller les erreurs dans les journaux (logs) d’une fonction Lambda, qui est
déclenchée par un planificateur (scheduler) de Step Function sur le cloud AWS.
- Développement de scripts Node.js répondant aux besoins métier.
- Ajouter un job dans les pipelines Azure DevOps pour effectuer le mirroring entre les dépôts AWS CodeCommit et les dépôts Azure DevOps.
- Mettre en place un mécanisme pour répondre au besoin de rafraîchir les données d’une table DynamoDB dans l’environnement de
production vers l’environnement de test à l’aide d’AWS Glue.
Technologie utilisée: DynamoDB AWS, Elasticsearch, AWS Glue, Kibana, Power BI, Google Analytics, AWS, Docker, NodeJS, Angular, Serverless
(IaC), Terraform, Terragrunt, Azure Devops, Microsoft Azure
• Conception et implémentation d’infrastructures as code(IaC) du projet COL(CodeOnline) pour des architectures AWS et Azure, avec importation
et gestion des fichiers tfstate pour l’intégration et la continuité des ressources existantes dans le déploiement automatisé.
Réalisation:
- Développement de modules génériques Terraform pour des services Microsoft Azure (CDN, Storage Account, Front Door) et AWS (Step
Functions, Lambda, S3).
- Implémentation de modules Terraform dans des projets Iac à l’aide de Terragrunt et optimisation du déploiement pour plus de rapidité.
- Création et optimisation d’organisations AWS en Terraform et Terragrunt, en réorganisant les ressources dans des environnements distincts
correspondant à chaque organisation.
- Développer l’infrastructure en tant que code (IaC) pour AWS Step Functions et Lambdas en utilisant Terraform et Terragrunt, optimiser le
processus de construction pour les Lambdas, et intégrer l’utilisation de Lambda Layers pour une meilleure gestion des dépendances.
Technologie utilisée: Docker Compose, AWS, Azure, Terraform, Terragrunt, Bash Linux
Véolia France - 10 mois Aubervilliers, France
INGÉNIEUR DEVOPS & CLOUD / FULLSTACK ANGULAR ET PYTHON Janv. 2023 - Oct. 2023
• Développement du projet E2C (Edge To Cloud), qui permet de transférer des données de la périphérie vers le cloud.
Réalisation:
- Développer l’application web du projet en utilisant Angular et Python, et mettre en place l’infrastructure sur le cloud GCP.
- Installer et configurer un agent AWS SSM sur la machine cliente via un script shell.
- Utiliser AWS step function pour déclencher le premier conteneur docker AWS ECS, qui exécute un script Ansible pour installer les
dépendances nécessaires.
- Utiliser AWS SQS pour déclencher le deuxième conteneur docker qui déploiera des lambdas Javascript (JS) sur le service Iot AWS
Greengrass.
Technologie utilisée: SQL (InfluxDB), Python, Angular, Gitlab (CI/CD), Terraform, Ansible, AWS, GCP, Docker.
• Migration et optimisation de la version 2 du projet E2C (Edge to Cloud).
Réalisation:
- Développer un script python en utilisant les bibliothèques Poetry et Invoke pour préparer la provision de Greengrass sur la machine client.
- Développer les composants de service IoT AWS Greengrass V2 en Python et Docker.
- Implémentation de pipelines d’intégration continue et de déploiement continu (CI/CD) dans les dépôts GitLab, en utilisant des scripts Bash
sous Linux, afin d’automatiser et d’accélérer le processus de déploiement.
- Mise en place d’un module Terraform pour fédérer les deux clouds, AWS et GCP, afin de pousser en toute sécurité les données d’AWS vers
GCP en utilisant le service Workload Identity GCP.
- Conception de documents de service pour AWS Systems Manager (SSM) permettant l’installation automatisée de la solution E2C sur les
machines clientes (Edge) via l’agent SSM.
Technologie utilisée: SQL (InfluxDB), Python, Angular, Gitlab (CI/CD), Terraform, Ansible, AWS, GCP, Docker.
Portago / Allence - 2 ans et 5 mois Épinay sur Seine, France
INGÉNIEUR DEVOPS & CLOUD / FULLSTACK ANGULAR ET NODE (TYPESCRIPT) Mar. 2020 - Déc. 2022
• Migration de sites web wordpress d’un serveur à un autre.
Réalisation:
- Création et configuration d’une machine virtuelle sur un serveur distant à l’aide de l’hyperviseur VMware ESXI et utilisation Ansible pour
installer Docker dans cette machine et générer les fichiers de certification ca.pem, key.pem et certs.pem.
- Développer un module terraform avec le provider Docker qui prend en paramètre les fichiers de certification pour permettre au terraform
d’installer nginx et letsencrypt dans deux conteneurs docker distants de manière sécurisée.
- Développer un module terraform avec le provider AWS qui permet de créer un domaine dans la ressource route53 et un record pour le
sous-domaine.
- Développer un script shell linux qui prend un fichier sql et les informations d’identification de la base de données comme paramètres pour
initialiser cette dernière.
- Développer un module terraform avec le provider MySQL qui permet de créer un utilisateur et une base de données dans un autre serveur
dédié à la base de données MySQL puis il exécute le script shell d’initialisation de la base de données.
- Création d’une image docker à l’aide de dockerfile qui contient une commande personnalisée écrite sous forme de script shell permettant
de télécharger les fichiers de configuration php de wordpress et d’ajouter l’identifiant de la communication à la base de données.
- Développer un module terraform avec le provider docker qui permet de créer un conteneur wordpress et d’exécuter la commande
personnalisée automatiquement lors de la création de ce dernier.
Technologie utilisée: Ansible, Gitlab, Terraform, VMware ESXI, Terragrunt, Docker, Shell Linux, AWS.
• Migration des données de la base de données MySQL vers la base de données Mongodb.
Réalisation:
- Développez 5 scripts python qui s’exécutent en multithreading si le script s’exécute en localhost sinon il s’exécute dans un seul processus
lorsque le runner lance ce script.
- Développer un script terraform avec le provider Gitlab pour créer un scheduler qui se déclenche tous les 3 jours pour synchroniser les
données et exécuter les scripts python de migration.
Technologie utilisée: SQL, Python, PyMongo, Threading, Gitlab, Terraform, Terragrunt.
• Développement et mise en œuvre de la fonctionnalité CAAS (container as a service) dans le projet PAAS (platform as a service).
Réalisation:
- Création d’un module terraform pour créer un conteneur Docker.
- Développer une Api avec Node pour créer des Merge request et des commits dans Gitlab.
- Développer le fichier Gitlab-ci.yaml pour exécuter les commandes terraform qui permettent de déployer le module terraform de création de
conteneurs docker.
Technologie utilisée: Angular, Node, Docker, Terraform, Terragrunt, Gitlab.
• Développer et implémenter une infrastructure Gitlab Runner dans les projets.
Réalisation:
- Développer des modules terraform pour les déployer sur AWS (ECS, VPC, EFS).
- Implémenter le service AWS fargate pour lancer les conteneurs ECS.
- Ouvrir un volume entre des conteneurs ECS à l’aide du service AWS EFS.
Technologie utilisée: AWS, Docker, Terraform, Terragrunt, Gitlab.
• Configuration de l’infrastructure cloud ainsi que de la machine locale et des pipelines de développement pour le déploiement/livraison en
continu Gitlab-CD.
Réalisation:
- Développer un script terraform pour effectuer la configuration nécessaire de l’infrastructure dans le cloud avec le provider AWS: création de
la ressource Bucket S3 qui contient les fichiers de build du front-end, création de la ressource Lambdas qui contient le fichier zip du build de
back-end, la ressource Api gateway qui contient le fichier swagger qui permet de définir les requêtes Rest API et la création de la ressource
Cognito qui est responsable de la gestion de l’authentification.
- Développer un script terraform pour effectuer la configuration de l’infrastructure en localhost avec le provider Docker : création de deux
containers Mongo et MongoClient.
- Rédiger le fichier Gitlab-ci.yml pour la configuration des pipelines pour les tags et la build du Back-end et du Front-end : Créer une image
docker qui sera lancée dans le runner gitlab contenant toutes les commandes utilisées dans les scripts du pipeline.
Technologie utilisée: Terragrunt, Terraform, Docker, MongoDB, Gitlab runners, Gitlab CI, AWS.
• Développement et mise en œuvre de la récupération de l’archive des fichiers dans la plateforme de facturation.
Réalisation:
- Développer un module terraform pour la création de ressources sqs et lambda dans le cloud AWS.
- Développer une fonction pour rechercher dans la base de données mongodb et archiver les fichiers PDF dans un fichier zip avec Typescript
Node.
- Développer une fonction pour uploder le fichier zip dans le bucket s3.
Technologie utilisée: AWS, Typescript, MongoDB, Docker, Node.
• Conception, développement et mise en œuvre d’une solution web pour la gestion des entreprises, de la comptabilité et de leurs employés.
Réalisation:
- Gestion des rôles dans la plate-forme à l’aide de la bibliothèque RXJS.
- Signature électronique des contrats.
- Génère des factures au format PDF à partir des données stockées dans la base de donnée...