Contexte :
Contribution à l’évolution du projet AXONE pour le ministère de la justice
Description du projet :
Le projet AXONE implémente le système d’archivage électronique hybride (SAEH) permettant l’archivge intermédiaire des documents numériques et physiques du ministère de la justice en utilisant la solution Vitam pour leur archivage définitif
Réalisations:
• Partie Monitoring : Création des roles Ansibles pour l’installation de Blackbox exporter , mongod et mongoc exporter , postgresql exporter ,JMX exporter , elasticsearch exporter dans le repo de Ansible galaxy (shared) avec leurs fichiers de configurations et de services en utilisant le moteur de templating Jinja2
• Configuration du system de monitoring Prometheus en ajoutant les jobs adéquats pour chaque exporter
• Modification du role d’installation de GRAFANA pour ajouter les fichiers JSON de 3 dashboars Macro : Global VM , services et DB et personnalisation de ces derniers selon le besoin avec les bonnes expressions PromQL
• Effectuer l’installation de la Solution Vitam et Xam sur les 2 modéles : double sites et monosite sur les différents environnements avec un retour d’expérience et participer à l’amélioration de la procédure technique d’installation et du dossier d’architecture technique
• Modifier du code Terraform , du code ansible et des scripts Bash pour corriger des erreurs rencontrées suite à l’installation (REX) : suppression des containers Swift , ajouter des security groups , role ansible pour l’installation de mongo …
Domaines d’interventions :
Aider l’équipe à être autonome au plus vite avec les turnovers
Pair programming et proposition de début de solution s’il y a des blocages
Accompagner l’équipe à être plus autonome sur la relecture des merges request
S’assurer du bon déroulement des livraisons de fins de sprint
CI-CD avec des jobs et des pipelines Jenkins
Passer des entretiens aux candidats pour des recrutements dans l’équipe DevOps
Organiser des réunions avec l’équipe pour :
● Proposer des améliorations
● Gérer le non-respect répétitif des bonnes pratiques instaurées au seins de l’équipe
Contexte :
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
(NS) dans la ressource route53 et des records type A (sous domaines) pour les sites
conteneurisés
- Utiliser la null resource pour exécuter des scripts bash sur le serveur MYSQL , qui assure
l'initialisation de ce dernier avec les bases correspondantes , la création des users et leurs
privilèges
- 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
Contexte:
Migration des tfstates du projet d'infrastructure d’Allence
Réalisation:
- Migration de tfstates des projets et groupes gitlab des applications web de l'entreprise
- Migration de tfstates des infrastructures déployées sur AWS
Contexte:
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
Réalisation:
- Utilisation du service IAM qui est un service AWS permettant de gérer les rôles , les policies
, les users , et les groupes et STS qui permet d'accorder des identifiants .
- L'utilisation de la resource AWS Lambdas pour le déploiement des applications backend
nodejs et S3 pour le déploiement des applications front-end Angular (sites statiques) ,
la gestion des fichiers ( stockage , récupération , suppression ) et l'archivage des zips des
fonctions lambdas
- L'utilisation du service Cognito qui est responsable de l'authentification
- L'utilisation de la ressource AWS API GATEWAY pour la gestion des URLs des APIs
- L'ajout d'un domaine personnalisé à l'api et la partie front et l'installation des certificats
SSL en utilisants aws acm certificate , route 53 et cloudfront
- Le provisioning des conteneurs de base de données (Mongodb / MySQL ) & gitlab
runners dans un cloud privé
- Rédiger les fichiers gitlab-ci.yml pour la configuration des pipelines pour les tags , le build
du back-end et le front-end
- Création des machines virtuelles avec une configuration docker consacré pour la
création de sonar , promotheus comme datasource pour grafana , alert manager , node
exporter
Contexte:
- Développement d'un package python nommé Terragit permettant l'exécution des
opérations terraform/git et qui facilite le travail de l'équipe
Réalisation:
- Utilisation du package python-gitlab
- Développement des fonctionnalités de clonage des groupes gitlab , comparaison des
tfstates des projets infra , l'ajout d'un utilisateur à un repo gitlab , la création d'un user
dans une organisation aws , suppression des merges requests et branches distantes ...
- Création d'une image Docker basée sur le package Terragit qui a servi nos runners à
lancer des jobs en CI pour la validation , plan , apply , des modules terraform et l'envoi
des notifications dans les canaux de travail (slack)
- Accompagner les nouveaux arrivants en leurs expliquant l'architecture de l'infrastructure
et les outils utilisés : terraform / aws/ci-cd
Contexte:
Conception, développement et mise en place d’une solution web pour la gestion d'un
jardin d'enfants pour faciliter les échanges entre les parents et les responsables au sein du
jardin .
Conception , développement et mise en place d'une solution web pour la gestion des
écoles pour garantir un meilleur suivi de l'avancement de l'élève , de ses notes , son travail
demandé ...
Mise en place d'un site wordpress de facturation pour la gestion des factures , remplissage
de CRAS ...
Mise en place d'une solution dockerisée de serveur sonarQube sur un serveur distant
pour détecter les bugs et connaître la couverture de test déployé.
Réalisation:
- Analyse et spécification des besoins
- 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 tests unitaires/intégration backend avec mocka et générer un rapport
avec nyc
- 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
- Création des API REST en utilisant nodeJs
- Création d...
DESCRIPTION:
L'implémentation d'une solution de reprise d'activité (disaster recovery) pour le serveur
gitlab
Réalisation :
Création d'un backup de l'instance gitlab qui contient les repos , les tfstates , les
packages registry , les variables avec un cron tab vers un serveur FTP et vers une
bucket s3 avec un job schedulé lancé en CI
Création d'une instance EC2 pour exécuter l'application gitlab en cas de situation
critique imprévue.
L'utilisation du Ansible pour la configuration et l'installation de gitlab entreprise edition
dans la machine virtuelle et la restauration du backup .
Création d'un record AWS pour l'adresse IP de la machine avec Terraform
Configuration de la nouvelle instance gitlab Entreprise avec SSO Google
FINOPS : faire l’analyse nécessaire pour réaliser des économies importantes par rapport
au options d’achats d’ instance EC2 (à la demande ou bien type SPOT)
mettre en place une solution de services serverless pour minimiser le coûts en utilisant
step function
Orchestrer des lambdas avec un step function pour assurer le bon choix de l'instance EC2
(spot ou on-demand)
Configuration , l'installation de gitlab Entreprise edition et la modification du record en
utilisant UserData Script
Manipulation des organisations AWS , et migration de ces derniers vers une organisation
mère
DESCRIPTION:
Contribution à l'évolution d'une plateform de facturation en ajoutant une fonctionnalité de
split pdf , et d'archivage de fichiers
Réalisation:
- Développer un module terraform pour une fonction lambdas qui lit à partir d'un pdf
en s3 et qui fait extraire des informations concernant les fiches de paies des employés
et divise ce dernier sur multi-files pour chaque salarié et fait l'upload des pdf sur s3
- Utiliser un log polling sur la Lambda pour maintenir ouvert un flux de
communication entre le client et le serveur afin de suivre l'avancement de traitement
du fichier pdf
- Développer un module terraform pour la création de ressources SQS , lambda dans
le cloud AWS
- Développer une fonction pour chercher dans la base de données Mongodb et
archiver les fichiers PDF dans un fichier zip avec Typescript Nod