En tant qu'ingénieur DevOps chez Crédit Agricole, j'ai dirigé la gestion infrastructure,
contribuant aux migrations de bases de données et à la gestion des infrastructures avec
Ansible et Terraform. Mon travail dans un environnement collaboratif m'a permis de
développer des compétences en déploiement automatisé et en adaptation aux besoins
spécifiques des projets et clients, renforçant mon expertise en gestion des infrastructures et
en coordination inter-équipes.
- Sauvegarde et restauration de base de données MongoDB avec mongodump et
mongorestore
- Automatisation du processus de sauvegarde en utilisant Gitlab Schedule et
Terraform
- Déploiement d'environnements DEV, UAT et PROD avec Terraform et AWS
- Simplification du processus de déploiement avec un pipeline de lancement de
tâches
- Automatisation du déploiement sur l'environnement DEV en utilisant Gitlab CI
- Configuration de Gitlab Runner avec l'exécuteur Docker
- Migration de l'application backend de Spring Boot vers Node.js
- Migration de la base de données de MySQL vers MongoDB à l'aide de scripts Python
- Gestion de l'infrastructure avec Terraform, AWS et Terragrunt.
En tant qu'ingénieur DevOps chez Bpifrance, j'ai conçu et maintenu des solutions de
monitoring pour l'équipe de l'Architecture des Bases de Données, facilitant la gestion des
logs et les migrations de bases de données. J'ai travaillé avec diverses technologies pour
répondre aux besoins évolutifs de l'environnement, développant ainsi mes compétences
en gestion des données à grande échelle et en collaboration interdisciplinaire.
Organization : 4 dev, 1 PO , 1 tech lead , 1 scrum master
Méthodologie de travail: Safe
Réalisation:
- Création des Enablers techniques à destination des équipes projets ( Automatisation
Provisioning, Développement Back/Front, Design produits cloud/ IAC )
- Développement MicroServices; Api, Frontend
- Stratégie de test unitaires, fonctionnels/conformité
- Création Modules terraform
- Création Chaînes CI/CD en mode Gitops, déploiement sur EKS, AWS
- Automatisation infrastructure dans le cloud AWS, ou Atlas/Elastic
- Migration des bases de données avec Mongoimport/ mongo miroir
- Ajouter les permissions sur les rôles des EC2
- Documentation , support aux équipe
Pendant mon passage chez Charlize en tant qu'ingénieur Fullstack, j'ai eu l'opportunité de
travailler au sein d'une équipe dynamique au service de clients variés dans des secteurs tels
que la banque et l'éducation. Charlize se distingue en tant qu'éditeur de logiciels spécialisé
dans la création d'applications sur mesure pour ses clients. Mon rôle consistait à contribuer
à la conception, au développement et à la maintenance de ces applications, en
m'adaptant aux besoins spécifiques de chaque projet et en utilisant une gamme diversifiée
de technologies.
Projet 1 :
Contexte : Conception, développement et mise en place d’une solution web,pour la
gestion des entreprises, de la comptabilité et de leurs employés.
Organization : 7 dev, 1 PO , 1 tech lead
Méthodologie de travail: Kanban
Réalisation:
- Analyse et spécification des besoins
- Gestion des rôles dans la plate-forme .
- Utilisation d’une architecture en microservice.
- Migration de l'application backend de Spring Boot vers Node.js
- Migration de l'application Frontend de java vers Angular
- Authentification sociale avec AWS Cognito.
- Configuration d’un environnement docker en local pour la base de données mongo
et mongoDB client en utilisant terraform.
- Utilisation d’une base de données non relationnelle avec mongodb.
- Création des API REST en utilisant Node.js.
- Utilisation d’un contrat Swagger pour générer la documentation pour les API REST.
- Création des services angular pour consommer les REST API exposés dans la partie
backend.
- Implémentation des stages CI/CD pour la partie déploiement et les tests.
- Maintenir et faire évoluer la chaîne CI/CD en GitLab
- Gestion multilingue avec ngx-translate
- Importation et exportation Fichier excel dans la plateforme
Creer partie de statistique à partir des données stockées dans Mongodb et utiliser
agrégation pipeline
- Signature électronique des contrats.
- Génère des factures au format PDF à partir des données stockées dans la base de
données.
- Paiement des factures en ligne.
- Envoyer des e-mails par simple clic.
- Tester la qualité du code avec SonarQube
Projet 2 :
Contexte : Conception, développement et mise en place d’une jardin d'enfant .
Organization : 15 dev, 1 PO , 1 tech lead
Méthodologie de travail: Scrum
Réalisation:
- Création et développement de la partie backend avec Node.js et tests d'API avec
Postman
- Conception de la base de données MongoDB pour l'application
- Implémentation du front-end avec Angular 13
- Gestion multilingue avec ngx-translate
- Mise en place de la chaîne CI/CD avec Gitlab CI pour automatiser le processus de
validation, de construction et de déploiement
- Accompagnement des nouveaux arrivants dans l'architecture de l'infrastructure et les
outils utilisés : Terraform, AWS, CI/CD
Standardisation du processus de création de projet Gitlab avec Terraform.
Un provider docker:
- Le provisioning de la création de nos conteneurs de base de données(Mongo/ MySql)
& gitlab runners dans le cloud privé.
- La création de nos conteneurs dans l’environnement local Mongo et Mongo-Client.
- Mise en place d'une solution de monitoring terraformé en utilisant promotheus,
grafana et alert manager
Mise en place d'une solution IAC de déploiement pour les environnements DEV ,
UAT , et PROD en utilisant un seul compte master AWS et une organisation pour
chaque projet
- Développement de backend Node.js avec AWS Lambda
- Gestion des comptes IAM AWS et des privilèges d'accès avec Terraform et Gitlab
- Gestion des environnements DEV, UAT et PROD avec un compte master et une
organisation par environnement
- Utilisation de AWS API Gateway pour la gestion des URLs d'API
- Ajout d'un domaine personnalisé et installation de certificats SSL pour l'API et la partie
front-end dans le cloud AWS.
Migration des données de la base de données MySQL vers la base de données
Mongodb
- Développez scripts python qui s’exécutent 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.
Configuration de l'infrastructure AWS et Docker avec Terraform pour le déploiement
d'une application web.
- Écrire un script Terraform qui configure l'infrastructure AWS pour le projet, incluant la
création d'un Bucket S3 pour stocker les fichiers de build du front-end, d'un Lambda
pour le fichier zip du build du back-end, d'une API Gateway pour les requêtes Rest
API définies dans le fichier swagger, et d'un Cognito pour la gestion de
l'authentification.
- Écrire un script Terraform qui configure l'infrastructure en localhost avec Docker, en
créant deux conteneurs pour Mongo et MongoClient.
- Rédiger le fichier gitlab-ci.yml pour la configuration des pipelines de build et de tag du
back-end et du front-end. Créer une image Docker contenant toutes les
commandes nécessaires pour exécuter les scripts du pipeline sur un runner GitLab.
FinOps:
- Utilisation de AWS Cost Manager pour visualiser les coût AWS par projet et par services
avec les estimations
- Minimisations des coûts avec désactivation des logs non utiles sur les environnement
DEV, UAT et PROD pour minimiser les coûts de AWS Cloud Watch.